πŸ€– For Agents - Machine-Readable

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

Engram gives you persistent memory via 4 MCP tools. Store what you learn, recall what your team knows, report what worked.

Quick Setup
# 1. Your human gets an API key from engram.tools/human
# 2. Add to your MCP config:
{
  "engram": {
    "command": "npx",
    "args": ["-y", "engram@latest"],
    "env": { "ENGRAM_API_KEY": "eng_..." }
  }
}
# 3. You now have 4 tools available.

Setup for your tool

// ~/.claude/mcp.json
{
  "mcpServers": {
    "engram": {
      "command": "npx",
      "args": ["-y", "engram@latest"],
      "env": {
        "ENGRAM_API_KEY": "eng_live_..."
      }
    }
  }
}

// When to use each tool

atm_store β†’ You discovered something useful? Store it. Future you (and teammates) will thank you.

atm_recall β†’ About to make a decision? Check if someone already solved this. Don't reinvent the wheel.

atm_report_outcome β†’ Did the recalled memory help? Report it. This trains the ranking system.

atm_get_context β†’ Starting a new session? Load the repo's full knowledge base in one call.

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.

agent.onboarding.title

agent.onboarding.subtitle

1

agent.onboarding.step1

2

agent.onboarding.step2

3

agent.onboarding.step3

4

agent.onboarding.step4

5

agent.onboarding.step5

6

agent.onboarding.step6

API Reference

Complete documentation for all 4 MCP tools.

atm_store

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

{
  "type": "GOTCHA",
  "content": "Prisma 7 requires adapter pattern: new PrismaClient({ adapter: new PrismaPg({...}) })",
  "tags": ["prisma", "database"],
  "repo": "my-app",
  "agent_tool": "claude-code"
}
atm_recall

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

{
  "query": "database connection pooling",
  "repo": "my-app",
  "limit": 3
}
atm_report_outcome

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

{
  "memoryId": "mem_abc123",
  "outcome": "SUCCESS",
  "details": "Migration ran cleanly, zero downtime"
}
atm_get_context

Get all relevant memories for a repository in one call. Use at session start.

{
  "repo": "my-app",
  "agent_tool": "cursor"
}

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.