Documentation · v1

EngramPort Docs

Everything you need to install EngramPort, wire it into your MCP client, and use the tools. A hosted docs site at docs.engramport.com ships shortly; this page is the current single source of truth.

1. Quick install

EngramPort is an npm package that speaks the Model Context Protocol (MCP). It runs as a stdio process spawned by your MCP client (Claude Desktop, Cursor, Continue.dev, etc.) and proxies all calls to api.engramport.com with your ek_ key.

npm install -g engramport

Requires Node 18 or newer. Works on macOS, Windows, and Linux. If you don't have an ek_ key yet, create a tenant (free tier, no credit card).

2. Three environment variables

Every MCP client config wires these three vars. The key was shown once on the signup reveal screen — if you lost it, email hello@covenantsystems.ai with your tenant slug and we'll issue a replacement.

ENGRAMPORT_API_URL=https://api.engramport.com
ENGRAMPORT_API_KEY=ek_live_…           # your tenant's key
ENGRAMPORT_NAMESPACE=your-slug-default # tenant_slug + "-default"

3. Claude Desktop

The fastest path. The engramport package auto-detects when it's spawned by Claude Desktop (no TTY) and runs in stdio mode.

Config file location

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Config entry

{
  "mcpServers": {
    "engramport": {
      "command": "engramport",
      "env": {
        "ENGRAMPORT_API_URL": "https://api.engramport.com",
        "ENGRAMPORT_API_KEY": "ek_live_…",
        "ENGRAMPORT_NAMESPACE": "your-slug-default"
      }
    }
  }
}

If you have an existing config with other servers, add the engramport entry under the same mcpServers block. Then fully quit Claude Desktop (tray icon → Quit) and reopen.

4. Cursor

Cursor supports MCP servers via its .cursor/mcp.json file. Same env vars as Claude Desktop.

{
  "mcpServers": {
    "engramport": {
      "command": "engramport",
      "env": {
        "ENGRAMPORT_API_URL": "https://api.engramport.com",
        "ENGRAMPORT_API_KEY": "ek_live_…",
        "ENGRAMPORT_NAMESPACE": "your-slug-default"
      }
    }
  }
}

Reload Cursor after editing. The tools will show up in any chat with MCP enabled.

5. Continue.dev

Continue.dev reads MCP servers from ~/.continue/config.json. Add EngramPort under the mcpServers key:

{
  "mcpServers": {
    "engramport": {
      "command": "engramport",
      "env": {
        "ENGRAMPORT_API_URL": "https://api.engramport.com",
        "ENGRAMPORT_API_KEY": "ek_live_…",
        "ENGRAMPORT_NAMESPACE": "your-slug-default"
      }
    }
  }
}

6. Custom agent or other MCP client

Any MCP-speaking client can use EngramPort. Spawn engramport as a child process with the three env vars set; it speaks MCP JSON-RPC over stdio. For REST-style access (n8n, Zapier, custom HTTP clients), call the OpenAPI surface directly at api.engramport.com/v2/* with your ek_ key in the X-API-Key header.

See the OpenAPI 3.1 spec for the full surface, or import it into Postman / ChatGPT Custom GPT Actions / your tooling of choice.

7. Tool reference

The MCP client surfaces these as named tools the agent can call directly. Each maps to a REST endpoint at api.engramport.com.

ToolRESTWhat it does
rememberPOST /v2/memoryStore a memory in your namespace. Auto-links to similar nodes.
recallPOST /v2/recallSemantic search across your namespace. Returns direct matches + graph-connected context.
chatPOST /v2/chatAsk a question grounded in your memory. Modes: reflex (fast), deep_think (multi-step).
groomPOST /v2/brain/groomDiscover edges between recent memories. Adds typed connections; doesn't delete.
dreamPOST /v2/brain/dreamSynthesize insights and principles from clustered memories.
inspectGET /v2/brain/statsStats and health for a namespace (counts, edges, GQI).
reflectPOST /v2/brain/dreamClient-side alias of dream with a focus parameter recorded for diagnostics.
uploadPOST /v2/memory/bulkIngest a document by chunking it into multiple memories.

8. Namespaces, scopes, and plans

Every tenant gets a default namespace at signup: <slug>-default. Paid plans (Hobbyist and up) can create additional namespaces for separating contexts (work / personal / a specific project).

API keys are scoped to one or more namespaces. The signup-issued admin key has access to all your namespaces. You can mint additional scoped keys via the dashboard (shipping with the next release).

Plan limits and current usage are visible on your dashboard. See the home page for the full plan ladder.

9. Bring your own LLM

EngramPort routes inference through your own provider key. Anthropic, OpenAI, Google, DeepSeek, and Mistral are all supported. The credential management UI ships with the next dashboard release; in the meantime save your key via:

curl -X POST https://api.engramport.com/v1/llm-credentials/save \
  -H "X-API-Key: ek_live_…" \
  -H "Content-Type: application/json" \
  -d '{"provider": "anthropic", "label": "default", "key": "sk-ant-…"}'

Provider keys are encrypted at rest using AES-256-GCM. We use them only to make inference calls on your behalf; never logged, never shared.

10. Troubleshooting

Tools don't appear in Claude Desktop after restart

Make sure you fully quit Desktop (tray icon → Quit, not just close the window) before reopening. Also verify the JSON in your config file parses — a stray comma or missing brace will silently disable the entry.

"EADDRINUSE" or banner garbage at startup

This was a bug in engramport@2.0.0 where the package defaulted to HTTP mode and printed a startup banner to stdout. Fixed in 2.0.1: npm install -g engramport@latest to upgrade.

"401 Unauthorized" on every call

The ENGRAMPORT_API_KEY env var isn't reaching the spawned process. Double-check it in your MCP client config under the env block (not at the top level of the config). The value should start with ek_live_.

"429 Too Many Requests" on signup

IP-based rate limit. Wait an hour or sign up from a different network. If you're hitting this from a corporate or shared network (coffee shop, VPN), email hello@covenantsystems.ai and we'll provision your account manually.

"Daily LLM spend cap reached" mid-session

Pro and Team plans have an internal $/day safety cap to prevent runaway agents from draining margin. Cap resets at UTC midnight. Contact support if you need a higher cap.

"Memory limit reached" on the free plan

Free tier caps at 1,000 stored memories per tenant. Upgrade to Hobbyist (10,000 memories, 5 namespaces) for $9/mo. Existing memories aren't deleted; you just can't add new ones until you either upgrade or delete some.

11. Limits at a glance

PlanEngramsNamespacesChats/dayDreams/day
Free1,0001101
Hobbyist10,00051005
Pro100,000
Team1,000,000

Pro and Team enforce an internal $/day LLM spend cap as a safety net (Pro: $5/day, Team: $20/day). Resets at UTC midnight. Designed to bound runaway agent costs without bothering normal users.

12. Got a question

Email hello@covenantsystems.ai and we'll respond same-day or next-business-day. Security reports go to the same address; responsible disclosure appreciated.

For deeper context, read the technical whitepaper or browse the OpenAPI surface at api.engramport.com/openapi.json.