πŸ€– For Agents - Machine-Readable

You are an AI agent.
This is your memory API.

Engram gives you persistent memory via 11 MCP tools. Store what you learn, load smart context, cross-pollinate across repos, prove usage, and close the loop with reflection.

Quick Setup
# 1. Run this once in terminal with your API key
npx -y engram-tools@latest --setup engram_...

# 2. Restart Claude, Codex, Cursor, Gemini or Antigravity, Windsurf, or VS Code

# 3. Paste these as agent instructions, not shell commands
Call engram_start with project, repo, role, market, stack, and task.
Before choosing an approach, call engram_recall. If another repo may have solved it, use engram_cross_pollinate.
Use engram_reflect as a milestone checkpoint after meaningful phases, task switches, several used memories, or before handoff.

Setup for your tool

// ~/.claude/mcp.json
{
"mcpServers": {
"engram": {
"command": "npx",
"args": ["-y", "engram-tools", "mcp"],
"env": {
"ENGRAM_API_KEY": "engram_..."
}
}
}
}
Agent access

Can an agent buy Engram?

Yes, if the agent can operate email and payment. It follows the same checkout flow, creates a workspace, then uses its API key. Otherwise a human owner signs up, invites teammates, and gives each agent a scoped member key.

// When to use each tool

engram_start β†’ First call in every new session. Loads setup guidance and smart context together.
engram_smarter β†’ Load task-specific memories and skills when switching tasks.
engram_cross_pollinate β†’ Before rebuilding a pattern, pull lessons from repos that may have solved it already.
engram_store β†’ You discovered something useful? Store it. Future you (and teammates) will thank you.
engram_recall β†’ Call this before every important decision, plan, or unfamiliar error. Do not wait until you are stuck.
engram_report_outcome β†’ Did the recalled memory help? Report it. This trains the ranking system.
engram_reflect β†’ Create a milestone checkpoint after meaningful phases, task switches, several used memories, or before handoff.
engram_get_context β†’ Use engram_get_context only for advanced/debug cases when you need a focused repo knowledge dump. Normal sessions should use engram_start or engram_smarter.
engram_proof β†’ Product/admin use: show memory counts, activation, usage, and benchmark-ready proof. Not part of normal coding flow.

Cross-Session Learning

You fix a tricky bug in session 1. Session 2, the same bug pattern appears in a different file. You recall the fix instantly.

Team Knowledge Transfer

A Cursor agent on the frontend discovers that the API expects snake_case. A Claude Code agent on the backend learns this without anyone telling it.

Convention Enforcement

Before writing code, you recall project conventions. "Use Zod for validation, not Joi." You follow the team standard automatically.

Your first session with Engram

Here is what happens when you connect for the first time.

1

Your human adds Engram to your MCP config.

2

You get one start tool plus memory tools: engram_start, engram_smarter, engram_cross_pollinate, engram_store, engram_recall, engram_skill, engram_report_outcome, engram_reflect, engram_proof, engram_get_context, engram_setup.

3

Call engram_start first with your project, repo, role, market, stack, and task.

4

Engram loads the most relevant team knowledge and skill guides in one call.

5

Work normally, but call engram_recall before choosing an approach. If another repo may have solved it, call engram_cross_pollinate.

6

Use engram_reflect as a milestone checkpoint after meaningful phases, task switches, several used memories, or before handoff. It is not a timer.

API Reference

Complete documentation for all 11 MCP tools.

engram_start

Start every session in one call. Loads setup guidance, relevant memories, and matching skill guides.

{
"agent_tool": "codex",
"project": "HouseCompass",
"repo": "housecompass.uk",
"role": "frontend product engineer",
"market": "UK property",
"task": "build listing detail page",
"stack": ["Next.js", "TypeScript", "PostgreSQL"]
}
engram_smarter

Load task-specific memories and matching skill guides when switching tasks.

{
"context": "Next.js 16 mobile Safari chat widget overflows when keyboard opens",
"repo": "engram",
"file": "web/src/components/ChatWidget.tsx",
"include_skills": true
}
engram_cross_pollinate

Find reusable lessons from other repos in your workspace.

{
"target_repo": "skillbridge-monorepo",
"context": "Add team invite flow with owner/admin permissions and email delivery",
"source_repos": ["engram", "evimibul"],
"include_public": true,
"limit": 5
}
engram_store

Store a learned convention, pattern, gotcha, or solution.

{
"type": "SOLUTION",
"content": "Mobile Safari chat panels should not autofocus inputs. Size the fixed panel from visualViewport, use 16px input text, and assert bounds after typing.",
"tags": ["ios", "safari", "mobile", "chat-widget"],
"repo": "engram",
"agent_tool": "codex",
"context": {
"file": "web/src/components/ChatWidget.tsx",
"platform": "ios-safari"
}
}
engram_recall

Recall relevant memories by semantic query, filtered by repo, type, or tags.

{
"query": "Stripe checkout succeeded but workspace plan still free after webhook",
"repo": "engram",
"type": "SOLUTION",
"limit": 3
}
engram_report_outcome

Report whether a recalled memory led to success or failure. Improves future ranking.

{
"memory_id": "cmqstripeplan123",
"success": true,
"detail": "The recalled webhook transaction pattern fixed the dashboard plan mismatch in production."
}
engram_reflect

Close the loop at session end: report used memories and store durable learnings in one call.

{
"repo": "engram",
"task": "Fix mobile Safari chat overflow and close behavior",
"summary": "Chat panel now sizes from visualViewport, avoids mobile autofocus, uses 16px input text, and close restores the launcher.",
"used_memories": [
{
"memory_id": "cmqioschat123",
"success": true,
"detail": "The iOS visualViewport gotcha pointed to the correct fix."
}
],
"learnings": [{
"type": "SOLUTION",
"content": "For mobile fixed panels, compute bounds from visualViewport and verify after focusing an input; CSS dvh alone may not catch layout viewport offset.",
"tags": ["mobile", "safari", "visualViewport"]
}]
}
engram_get_context

Get relevant memories for a repository in one call. Use when switching repos or when you need a focused repo dump.

{
"repo": "engram",
"task": "Polish localized documentation without breaking rendered pages"
}
engram_skill

Load a complete skill guide for complex tasks like migrations, reviews, deployment, and debugging.

{
"skill": "security-audit"
}
engram_proof

Return product proof: memory-bank size, learning loop, usage, activation, and benchmark recipe.

engram_proof()
engram_setup

Return workspace info, available tools, and best-practice guidance.

{
"agent_tool": "claude-code"
}

Memory Types

CONVENTION

Coding standards and team rules

"Always use Prisma migrations"

PATTERN

Recurring approaches and templates

"API routes use cached() wrapper"

GOTCHA

Things that break or surprise

"Neon requires SSL in production"

SOLUTION

Fixes that worked

"Fix: add pooler to connection string"

ARCHITECTURE

System design decisions

"Search uses Haversine + bbox"

DEPENDENCY

Library info and versions

"Prisma 7 needs adapter pattern"

// Machine-readable endpoint

GET https://engram.tools/api/v1/capabilities

Returns JSON with supported tools, memory types, rate limits, and pricing - designed for programmatic consumption.

Support Loop

Help us make Engram sharper

If setup is confusing, a tool behaves strangely, or a pricing limit feels wrong, send it here. The message lands directly with us.

Feedback

Tell us what is missing

Bugs, confusing setup steps, pricing questions, and product ideas go straight to the Engram team.

10 more characters needed0/10