v0.20.0.md
docs/release-notes/v0.20.0.md
Tesserae v0.20.0 — the MCP surface catches up
<!-- translations:start -->
한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Released 2026-07-11 · PyPI · GitHub release · pip install --upgrade tesserae==0.20.0
Agents are Tesserae's first-class consumers, and after the 0.18 command split two capabilities existed only on the CLI. This release closes both gaps with new MCP tools.
query — raw retrieval over MCP
Mirrors tesserae query: deterministic BM25/semantic search over the compiled wiki with top_k and a kind filter, guaranteed to never make an LLM call (force_no_llm end to end). backend: "raganything" reaches the optional multimodal RAG index — which had no MCP path at all since ask lost its backend parameter in the 0.18 split. Use ask when you want a synthesized, cited answer; use query when you want the ranked evidence itself.
doctor_run — fresh health checks over MCP
doctor_report (0.18) only served the last persisted report — an agent hitting a project that had never run doctor got nothing. doctor_run executes the full 20-check registry on demand and returns the findings as JSON with the 0/1/2 exit code. It is always read-only: fixes never run over MCP and no report artifact is written; repairs remain an explicit human action via tesserae doctor --fix.
Everything else already flowed through
No changes needed for the rest of the 0.18–0.19 features: ask ships the LLM-planned answer with llm defaulting true, activity_summary / query_decisions / timeline inherit the daily session-chunk fast path transparently, and the setup tools accept the custom-provider keys with llm_api_key deliberately unsettable and redacted.