Ditto MCP Server

Connect Claude, Cursor, Claude Code, and any MCP-compatible AI tool to your Ditto memories. Setup guides for OAuth and API key authentication.

Ditto MCP Server

Ditto exposes an MCP (Model Context Protocol) server that lets any compatible AI tool access your memories, subjects, and knowledge graph. This means Claude, Cursor, Claude Code, Antigravity, and dozens of other tools can pull context from your Ditto conversations.

Endpoint

https://api.heyditto.ai/mcp/sse

This is an SSE (Server-Sent Events) endpoint that implements the full MCP specification.

Authentication

Two methods are available:

  1. Go to Claude.ai → Settings → Connectors
  2. Click “Add custom connector”
  3. Enter URL: https://api.heyditto.ai/mcp/sse
  4. Click “Connect” and sign in with your Ditto account
  5. Approve the authorization

No API key needed. OAuth handles token rotation and scoping automatically.

API Key

For tools that don’t support OAuth (Cursor, Claude Code, Claude Desktop, Antigravity, etc.):

  1. Open heyditto.ai → Settings → MCP API Keys
  2. Click “Create Key” and give it a name
  3. Copy the key immediately — it won’t be shown again

Use the key in an Authorization: Bearer <key> header.

Setup by Platform

Claude Code

claude mcp add --transport sse ditto https://api.heyditto.ai/mcp/sse \
  --header "Authorization: Bearer YOUR_API_KEY"

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ditto": {
      "url": "https://api.heyditto.ai/mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Restart Cursor after saving.

Claude Desktop

Edit the config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ditto": {
      "url": "https://api.heyditto.ai/mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Restart Claude Desktop after saving.

Antigravity IDE

Edit ~/.gemini/antigravity/mcp_config.json (note serverUrl instead of url):

{
  "mcpServers": {
    "ditto": {
      "serverUrl": "https://api.heyditto.ai/mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Other MCP Clients

Most MCP clients follow the same JSON pattern:

{
  "mcpServers": {
    "ditto": {
      "url": "https://api.heyditto.ai/mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Check your tool’s MCP documentation for the config file location.

Available Tools

Ditto’s MCP server exposes six tools:

search_memories

Search your memories using semantic similarity with composite retrieval (similarity, recency, and frequency signals).

ParameterTypeRequiredDescription
queriesstring[]YesSearch queries (e.g., ["React migration", "performance"])
stripImagesbooleanNoStrip image data from results (default: true)
alreadyFoundPairIDsstring[]NoExclude these memory IDs from results (deduplication)

fetch_memories

Fetch the full content of specific memories by their IDs. Use this after search_memories to get complete conversation text.

ParameterTypeRequiredDescription
pairIdsstring[]YesMemory pair IDs to fetch
stripImagesbooleanNoStrip image data (default: true)

search_subjects

Search your knowledge graph subjects by semantic similarity.

ParameterTypeRequiredDescription
querystringYesWhat to search for
topKintegerNoMax results (default: 10, max: 100)
minSimilarityfloatNoMinimum similarity threshold (default: 0.1)

search_memories_in_subjects

Get memory summaries linked to specific subjects in your knowledge graph.

ParameterTypeRequiredDescription
subjectIdsstring[]YesSubject UUIDs to search within
stripImagesbooleanNoStrip image data (default: true)

get_memory_network

Get a memory and its network of related memories via shared subjects.

ParameterTypeRequiredDescription
pairIdstringYesMemory pair ID to start from
limitintegerNoMax related memories (default: 20, max: 50)

save_memory

Save an external memory to your knowledge graph. Useful for importing notes, documents, or context from other tools.

ParameterTypeRequiredDescription
contentstringYesThe memory content to save
sourcestringNoSource identifier (default: “mcp”)
sourceContextstringNoAdditional context about the source

Resources

Three read-only resources provide context about your account:

URIDescription
memory://profileYour name, personality summary, and timezone
memory://statsTotal memories, total subjects, and top subjects by frequency
memory://capabilitiesAvailable tools and limits

API Key Best Practices

  • Create separate keys per tool — easier to revoke if one is compromised
  • Never commit keys to git — use environment variables or secrets managers
  • Check “Last Used” timestamps — revoke unused keys in Settings → MCP API Keys
  • Use OAuth when available — no credentials in config files, automatic token rotation

Troubleshooting

”Not Authenticated” Error

  • Verify the key is correct with no extra spaces
  • Check the header format: Authorization: Bearer YOUR_API_KEY
  • Confirm the key hasn’t been revoked in Settings → MCP API Keys
  • Restart the AI tool after adding configuration

Empty Search Results

  • Make sure you have conversations in Ditto (the memories come from your chats)
  • Try broader search terms
  • Lower the minSimilarity threshold for wider results
  • Check that the AI tool is actually invoking the MCP tools

OAuth Flow Fails

  • Log into Ditto first in your browser
  • Check that pop-ups aren’t blocked
  • Try in an incognito window
  • Clear browser cache and retry
Try Ditto Free