# Engram MCP
Give your AI agents a memory they can trust. Engram lets your AI remember past conversations, facts, and decisions, so it feels more like a real teammate.
This repository contains configuration templates for connecting MCP clients to [Engram](https://lumetra.io), a hosted memory service for AI agents.
## What is Engram?
Engram is a **hosted MCP server** that provides reliable memory for AI agents:
- **Reliable memory**: Agents remember conversations, facts, and decisions with automatic knowledge graph extraction
- **Easy setup**: Connect via MCP in minutes. Works with Claude Code, Windsurf, Cursor, and other MCP clients
- **Built-in controls**: Organize memories into buckets, manage retention, and query with natural language
**Free during public beta** — No credit card required
## Quick Setup
### 1. Get your API key
Sign up at [lumetra.io](https://lumetra.io) to get your API key.
### 2. Add to your MCP client
**Claude Code:**
```bash
claude mcp add-json engram '{"type":"sse","url":"https://api.lumetra.io/mcp/sse","headers":{"Authorization":"Bearer <your-api-key>"}}'
```
**Windsurf** (`~/.codeium/windsurf/mcp_config.json`):
```json
{
"mcpServers": {
"engram": {
"serverUrl": "https://api.lumetra.io/mcp/sse",
"headers": {
"Authorization": "Bearer <your-api-key>"
}
}
}
}
```
**Cursor** (`~/.cursor/mcp.json` or `.cursor/mcp.json`):
```json
{
"mcpServers": {
"engram": {
"url": "https://api.lumetra.io/mcp/sse",
"headers": {
"Authorization": "Bearer <your-api-key>"
}
}
}
}
```
### 3. Restart your client
Your MCP client will now have access to Engram memory tools.
## Available Tools
Once connected, your agent will have access to these memory tools:
| Tool | Description |
|------|-------------|
| `store_memory(content, bucket?)` | Store a fact or piece of information |
| `query_memory(question, bucket?)` | Search memories using natural language with AI synthesis |
| `list_buckets()` | List available memory buckets |
| `delete_memory(memory_id, bucket)` | Delete a specific memory by ID |
| `clear_memories(bucket)` | Clear all memories in a bucket (destructive!) |
## Recommended Agent Prompt
Add this to your agent's system prompt to encourage effective memory usage:
```
You have Engram Memory. Use it proactively to improve continuity and personalization.
Tools:
- store_memory(content, bucket?) - Store a fact or piece of information
- query_memory(question, bucket?) - Search memories using natural language
- list_buckets() - List available memory buckets
- delete_memory(memory_id, bucket) - Delete a specific memory
- clear_memories(bucket) - Clear all memories in a bucket (destructive!)
Policy:
- Query-first: before answering anything that may rely on prior context, call query_memory. Ground your answers in the results.
- Proactive storing: capture stable preferences, profile facts, project details, decisions, and outcomes. Keep each fact concise (1-2 sentences).
- Use buckets: organize memories by project or context (e.g., "work", "personal", "project-alpha").
Style for stored content: short, declarative, atomic facts.
Examples:
- "User prefers dark mode."
- "User timezone is US/Eastern."
- "Project Alpha deadline is 2025-10-15."
```
## REST API
Engram also provides a REST API for programmatic access:
**Base URL:** `https://api.lumetra.io`
**Authentication:** Include your API key in the Authorization header:
```bash
curl -X POST https://api.lumetra.io/v1/buckets/default/memories \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "Alice works at TechCorp"}'
```
**Quick Example:**
```bash
# Store a memory
curl -X POST https://api.lumetra.io/v1/buckets/work/memories \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "Bob is the CEO of Acme Inc"}'
# Query your memories
curl -X POST https://api.lumetra.io/v1/query \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "Who is the CEO of Acme?", "buckets": ["work"]}'
```
See the [full API documentation](https://lumetra.io/docs) for all available endpoints.
## Use Cases
Teams use Engram for:
- **Support with prior context**: Carry forward last ticket, environment, plan, and promised follow-ups
- **Code reviews with context**: Store ADRs, owner notes, brittle areas, and post-mortems as memories
- **Shared metric definitions**: Keep definitions, approved joins, and SQL snippets in one place
- **On-brand content, consistently**: Centralize voice and approved claims for writers
## About This Repository
This repository contains:
- This README with setup instructions for popular MCP clients
- `server.json` - MCP server manifest following the official schema
The `server.json` file uses the official MCP server schema and can be used by MCP clients that support remote server discovery. For manual configuration, use the client-specific examples above.
The actual Engram service runs at `https://api.lumetra.io` — there's no local installation required.
## Support
- **Product site**: [lumetra.io](https://lumetra.io)
- **Documentation**: [lumetra.io/docs](https://lumetra.io/docs)
- **Status**: Free public beta (no credit card required)