Documentation

Overview

What prom.codes is, what it does, and the moving parts you should know about before you wire it up.

prom.codes is a sovereign, EU-hosted context-and-memory layer for AI agents. It gives your agent two things it is missing: typed, scoped, governable access to a codebase — and a durable memory that survives context-window resets — via the Model Context Protocol, without shipping the source to a third-party SaaS.

The five components

  1. @prom.codes/context-mcp — a small MCP server that runs on the developer machine (or in CI) and speaks stdio. With a real prom_live_… key in PROMETHEUS_API_KEY it runs in managed mode: it indexes the workspace into a local SQLite database (~/.prometheus/<hash>.db), embeds via the prom.codes API, and watches for file changes. It exposes ten tools: search_code, get_symbol, find_references, find_callers, find_callees, expand_context, get_file, list_changed_since, list_workspaces, framework_overview.
  2. @prom.codes/memory-mcp — a second MCP server that gives the agent a persistent memory: facts, decisions and procedures stored in a local SQLite database (~/.prometheus/memory.db), resolved along a project → workspace → tenant → system scope chain. Project memories are mirrored to git-versioned markdown (.prometheus/memories/*.md); secrets are rejected on every write. The same prom_live_… key unlocks both code embeddings and memory; no network calls in the local-first default. See Agent Memory.
  3. @prom.codes/saver — a third MCP server that cuts token cost without cutting quality. It is a one-shot installer (pure JS — no database, no embeddings, no native modules) exposing a single setup tool that writes an efficient-output rule block into your agent runtime, so the agent spends fewer tokens on its own prose while keeping code, commands and context verbatim. The API key is optional here. Install: npx -y @prom.codes/saver@latest. See Token Saver.
  4. Embedding APIhttps://api.prom.codes, served from EU Frankfurt. Receives chunk text from the context MCP server, returns vectors from a code-tuned model, and meters usage per tenant. The same host also fronts the hosted indexer worker (POST /index) for CI and server-side workflows.
  5. EU Postgres store — multi-tenant storage for the hosted indexing path: symbols, references, embeddings, and per-workspace metadata, hosted by us in Frankfurt. Row-level security keeps tenants isolated. The local-first default does not use it — your index stays in the local SQLite file.

Where the data lives

StageWhereRegion
MCP servers (your machine)local stdiowherever you sit
Index storage (default)local SQLite on your machinewherever you sit
Agent memorylocal SQLite + git-versioned markdownwherever you sit
Embeddings (default)code-tuned model via api.prom.codesUS (provider)
Hosted indexing (optional)indexer worker + managed PostgresFrankfurt (EU)
Web + waitlistEU edge runtimeFrankfurt (EU)

The only US hop is the embedding call to the default provider. We document this explicitly in Region mode and ship eu-strict as a per-tenant override that swaps the default for an EU-hosted embedding endpoint we operate (planned for general availability in Phase 3).

Status

prom.codes is in private beta. The context MCP server is live on npm (@prom.codes/context-mcp), the agent-memory MCP server (@prom.codes/memory-mcp) ships alongside it, the token saver (@prom.codes/saver) is live and keyless to try, and the embedding API with per-tenant metering, the authenticated dashboard, and the hosted indexer worker are live; the CLI agent and the VS Code plugin are still in the build queue. The Quickstart walks you through the working surface today.