Mneme

MCP Server

Connect AI coding tools to your team's memories via the Model Context Protocol.

Mneme exposes a Model Context Protocol (MCP) server over Streamable HTTP. This lets AI coding tools — Claude Code, Cursor, Windsurf, and others — query your team's memories directly during development.

Setup

1. Create an API key

From the Mneme dashboard or via the admin API:

curl -X POST https://mneme.fly.dev/api/keys \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"installationId": 123, "name": "my-dev-machine"}'

This returns a mneme_... key. Save it immediately — the plaintext is only shown once.

2. Configure your client

Claude Code

Add to ~/.claude.json:

{
  "mcpServers": {
    "mneme": {
      "type": "http",
      "url": "https://mneme.fly.dev/mcp",
      "headers": {
        "Authorization": "Bearer mneme_..."
      }
    }
  }
}

Other MCP clients

Use the Streamable HTTP transport with URL https://mneme.fly.dev/mcp and an Authorization: Bearer mneme_... header. Consult your client's documentation for the exact config format.

3. Verify

In Claude Code, type /mcp — you should see mneme listed with three tools. Try asking Claude to search your memories.

Tools

search_memories

Semantic search across team memories using embedding similarity and multi-factor scoring (relevance, recency, confidence, corroboration).

ParameterTypeRequiredDescription
querystringyesFreeform search query
repostringnoFilter to a specific repo (owner/repo)
limitnumbernoMax results (default: 5, max: 20)

Example prompt: "Search for decisions about state management in acme/web-app"

get_memory

Retrieve a single memory by ID, including its full content, entity references, and evidence chain showing how the memory was formed and corroborated.

ParameterTypeRequiredDescription
idstring (UUID)yesMemory ID

list_memories

Browse memories for a repository with optional type filtering and pagination.

ParameterTypeRequiredDescription
repostringyesRepository full name (owner/repo)
typestringnoFilter: decision, pattern, convention, issue, preference, fact
limitnumbernoMax per page (default: 50, max: 200)
offsetnumbernoPagination offset (default: 0)

Resources

The server also exposes a resource template:

memory://{owner}/{repo}

This returns all active memories for a repository in a single read, useful for clients that support MCP resource browsing.

Access control

API keys are scoped to a GitHub App installation. Each key can only access memories for repos belonging to that installation. Requests for repos outside the key's scope return empty results (for search) or access denied errors (for list/get), without leaking whether the repo exists.

Key management

ActionEndpointMethod
Create key/api/keysPOST
List keys/api/keys?installationId=NGET
Revoke key/api/keys/:idDELETE

All key management endpoints require the admin API_TOKEN. Keys can be revoked at any time — revoked keys are rejected immediately on next use.

Technical details

  • Transport: Streamable HTTP (current MCP standard, replaces deprecated SSE)
  • Stateless: No session management — each request creates a fresh server instance, compatible with auto-scaling
  • Discovery: New tools are available immediately after deploy. Clients see them on their next tools/list call (typically on reconnect or session start).

On this page