MCP
Engram over MCP
Give any MCP-capable assistant every document base in your workspace as a tool. It asks questions and gets answers with sources, at a fraction of the tokens it would spend reading the documents itself, and nothing about your documents has to fit in its context window.
What you get
Model Context Protocol is how assistants like Claude and Cursor pick up tools. Engram runs one hosted MCP server for your whole workspace. Point a client at it with an API key and five tools appear: list the document bases, ask one a question, list what is in it, add a document, and check how fresh it is. The assistant decides when to call them and which base to call them on.
The win is the shape of the exchange. Instead of loading a hundred pages into a context window and paying for every token of it on every turn, the assistant sends a question and gets back an answer with the documents it drew on named. The documents stay resident on our hardware, compiled once.
Nothing runs on your machine. There is no package to install for this, no process to keep alive, and no per-laptop setup for a teammate to repeat. A url and a key is the whole of it.
Three more things come for free, and all three matter when an agent rather than a person is on the other end:
- The server briefs the model before it calls anything. It explains what a document base is, tells the model to start with
list_corpora, and tells it to prefer the tools over general knowledge for anything the documents cover. - Document text is fenced. Anything that came out of your documents arrives between explicit untrusted-content markers with a note telling the model to read it as data, never as instructions.
- Every result says how fresh it is. Results carry a line like "Document base: 42 ready, 3 still onboarding", so a thin answer is recognisable as early rather than wrong.
The config block
One server entry reaches the whole workspace. This is all of it:
{
"mcpServers": {
"engram": {
"type": "http",
"url": "https://api.engramdynamics.org/mcp-http/",
"headers": {
"Authorization": "Bearer <your API key>"
}
}
}
}
Claude Code takes the same thing as one command:
claude mcp add --transport http engram https://api.engramdynamics.org/mcp-http/ \
--header "Authorization: Bearer <your API key>"
Create the key in Settings > API keys in the app. The secret is shown once, at creation. That block is the one Claude Code and Cursor read. Other clients want the same server written down differently, and Claude Desktop needs a small local bridge because it cannot take a remote server at all, so each one has its own section in Quick start. The app has a client picker on the MCP tab of every document base, and the CLI prints any of them with engram mcp --client <name>.
The block carries a live workspace API key, so treat the config file like a password: do not commit it, and give each client its own key. Revoking a key in Settings > API keys cuts that client off immediately.
The tools
| Tool | What it does |
|---|---|
list_corpora | Every document base in the workspace, with its status, document count and what it covers. The assistant calls this first. |
query_corpus | Ask one base a natural-language question and get an answer with its sources. |
list_documents | The live inventory of one base: titles, one-line descriptions, and pinnable ids, with an optional filter. |
add_document | Add or replace one small document by path, for something the agent just wrote. |
sync_status | How fresh a base is: the latest sync run and how many documents are answerable. |
Every tool but list_corpora takes a corpus argument, which is a document base's exact name or its id. Parameters, return shapes and worked examples are on the tools reference.
Credentials and what they allow
One credential covers all of it: a workspace API key, the same ek_ key the CLI and the REST API take. A key needs the query scope to connect and ask questions, and the ingest scope on top to use add_document. Nothing else is sent, so revoking that one key cuts the client off everywhere at once.
Queries through MCP count against your workspace's query allowance the same way every other query does, and the per-key rate limit applies. See plans and allowances.