Architecture

A local MCP knowledge base

ImplCache is local-first: your corpus lives in SQLite on your machine, retrieval runs where you run the binary, and network exposure is opt-in—not the default.

What “local-first” means here

The index is a SQLite database you control. Documentation, project trees, PDFs, mirrors, and Git checkouts are ingested into that database. Coding agents retrieve from it through MCP tools. There is no requirement to upload your SDK docs to a third-party vector host.

Default network posture

HTTP surfaces are intended for loopback unless you deliberately change that. The Librarian UI and mutating REST APIs are powerful; keep them on 127.0.0.1 for normal use. Remote bind is available for trusted networks (for example a Jetson on your LAN), but it should be an explicit choice with appropriate controls.

Why this matters for agent workflows

  • Privacy — proprietary docs and internal source can stay on machines you administer.
  • Reproducibility — a packable database and dist folder make it easier to share a known-good corpus with a team machine.
  • Latency — retrieval does not depend on a remote embedding API being available.

Components

  • SQLite store — corpus and retrieval state.
  • MCP tools — agent and admin surfaces over stdio or HTTP.
  • Librarian — embedded UI for sources, jobs, library, search lab, and health.
  • ingestcli — offline ingestion for large trees and batch jobs.

Honest limits

Local does not mean zero risk. Anyone with access to the database or an exposed HTTP port can read the indexed material. Treat the DB like source code, keep mutations gated, and avoid -allow-remote-http on untrusted networks. Symbol extraction is heuristic; optional sparse semantic search is not a full embedding stack.

Ready to try it? Packages ship for Windows, Linux, and Jetson.

Run locally GitHub