Replace the abandoned llms-txt-mcp/Chroma docs backend with an in-repo
MCP service: SQLite WAL + FTS5 + sentence-transformer embeddings,
transactional source replacement, persisted state across restarts,
singleflight refresh with conditional requests, hybrid lexical/semantic
ranking with exact-duplicate collapse, source/host filters, and
explicit-by-default content retrieval. Add docs_rebuild and a
docs-rebuild CLI command.
Add deterministic llms-full.txt snapshot generation for machine-local
menus with hash-validated provenance manifests; lifecycle commands
promote a local menu to its snapshot only when the manifest validates.
Switch public source profiles to content-bearing llms-full.txt feeds.
Improve web search: bounded provider fallback with per-attempt
diagnostics and cancellation, an optional Brave Search API provider,
strict SearXNG engine selection, capped link/media extraction, and a
real engine=browser renderer that routes every request through the
existing SSRF vetting while blocking WebSockets, non-GET traffic, and
private destinations.
Extend release checks with offline unit suites and isolated candidate
container tests for both images.
The built-in OpenCode 'websearch' tool routes through Exa AI's hosted
MCP service and surfaces with tool names like parallel_web_search and
web_search_exa. Without explicit guidance the model picks per turn
between Exa and our SearXNG-backed context-web-search.
Tell agents to prefer Context Kit's local search so queries stay on
the user's machine through SearXNG.
Three local MCP servers for coding agents, designed for Claude Code
and OpenCode:
- context-web-search: SearXNG-backed web search and URL fetch
- context-docs: semantic search over curated llms.txt docs
- context-repomix: pack local or remote repos into AI context
Defaults are local-first: SearXNG binds to 127.0.0.1, no hosted API
keys are required, and Repomix mounts only the current project read-only.