apps/mcp/README.md
A standalone MCP (Model Context Protocol) server for Supermemory that gives AI assistants persistent memory across conversations. Built on Cloudflare Workers with Durable Objects for scalable, persistent connections.
x-sm-project headernpx -y install-mcp@latest https://mcp.supermemory.ai/mcp --client claude --oauth=yes
Replace claude with your MCP client: claude, cursor, windsurf, etc.
Add to your MCP client config (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}
The server uses OAuth authentication by default. Your MCP client will automatically discover the authorization server via /.well-known/oauth-protected-resource and prompt you to authenticate.
If you prefer to use an API key instead of OAuth, you can pass it directly in the Authorization header. Get your API key from app.supermemory.ai:
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp",
"headers": {
"Authorization": "Bearer sm_your_api_key_here"
}
}
}
}
API keys start with sm_ and are automatically detected. When an API key is provided, OAuth authentication is skipped.
To scope all operations to a specific project, add the x-sm-project header:
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp",
"headers": {
"x-sm-project": "your-project-id"
}
}
}
}
memorySave or forget information about the user.
{
"content": "User prefers dark mode and uses TypeScript",
"action": "save",
"containerTag": "optional-project-tag"
}
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | Yes | The memory content to save or forget |
action | "save" | "forget" | No | Default: "save" |
containerTag | string | No | Project tag to scope the memory |
recallSearch memories and get user profile.
{
"query": "What are the user's programming preferences?",
"includeProfile": true,
"containerTag": "optional-project-tag"
}
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query to find relevant memories |
includeProfile | boolean | No | Include user profile summary. Default: true |
containerTag | string | No | Project tag to scope the search |
whoAmIGet the current logged-in user's information.
{}
Returns: { userId, email, name, client, sessionId }
| URI | Description |
|---|---|
supermemory://profile | User profile with stable preferences and recent activity |
supermemory://projects | List of available memory projects |
| Name | Description |
|---|---|
context | User profile and preferences for system context injection |
bun install
Create a .dev.vars file:
API_URL=http://localhost:8787
or
API_URL=https://api.supermemory.ai
| Variable | Description | Default |
|---|---|---|
API_URL | Main Supermemory API URL for OAuth validation | https://api.supermemory.ai |
bun run dev
The server will start at http://localhost:8788.
Note: For local development, you also need the main Supermemory API running at the API_URL for OAuth token validation.
bun run deploy
┌─────────────────┐ OAuth/API Key ┌──────────────────┐
│ MCP Client │◄──────────────►│ Supermemory API │
│ (Claude, Cursor)│ │ (api.supermemory.ai)
└────────┬────────┘ └──────────────────┘
│ ▲
│ MCP Protocol │ Auth Validation
▼ │
┌─────────────────────────────────────────────────────┐
│ Supermemory MCP Server │
│ (mcp.supermemory.ai/mcp) │
│ ┌─────────────────────────────────────────────┐ │
│ │ Cloudflare Durable Object │ │
│ │ • Session state │ │
│ │ • Client info persistence │ │
│ │ • MCP protocol handling │ │
│ └─────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘