{
  "name": "io.github.modelcontextprotocol/servers",
  "description": "The Memory MCP gives AI models persistent memory using a local knowledge graph. Store entities, relationships, and observations that persist between sessions. The best way to give an AI agent long-term memory that survives conversation resets.",
  "status": "active",
  "version": "latest",
  "_meta": {
    "com.top-mcps/lastVerified": "2026-05-31",
    "com.top-mcps/score": {
      "value": 91,
      "rubricVersion": "2026-04",
      "lastComputed": "2026-06-02T13:16:41.476Z",
      "methodology": "https://top-mcps.com/about/methodology"
    },
    "com.top-mcps/stats": {
      "fetchedAt": "2026-06-02T11:55:51.510Z",
      "githubStars": 84102,
      "lastCommitAt": "2026-04-17T22:59:54Z",
      "npmWeeklyDownloads": 88756
    }
  },
  "repository": {
    "url": "https://github.com/modelcontextprotocol/servers/tree/main/src/memory",
    "source": "github"
  },
  "author": {
    "name": "Anthropic (modelcontextprotocol)"
  },
  "packages": [
    {
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "identifier": "@modelcontextprotocol/server-memory",
      "version": "latest",
      "transport": {
        "type": "stdio"
      }
    }
  ],
  "capabilities": {
    "tools": [
      {
        "name": "create_entities",
        "description": "Create named entities with types and observations.",
        "sideEffect": "write",
        "args": [
          {
            "name": "entities",
            "type": "object[]",
            "required": true
          }
        ]
      },
      {
        "name": "create_relations",
        "description": "Create typed relations between existing entities.",
        "sideEffect": "write",
        "args": [
          {
            "name": "relations",
            "type": "object[]",
            "required": true
          }
        ]
      },
      {
        "name": "add_observations",
        "description": "Append observations to existing entities.",
        "sideEffect": "write",
        "args": [
          {
            "name": "observations",
            "type": "object[]",
            "required": true
          }
        ]
      },
      {
        "name": "delete_entities",
        "description": "Delete entities and their relations.",
        "sideEffect": "write",
        "args": [
          {
            "name": "entityNames",
            "type": "string[]",
            "required": true
          }
        ]
      },
      {
        "name": "delete_observations",
        "description": "Remove specific observations from entities.",
        "sideEffect": "write",
        "args": [
          {
            "name": "deletions",
            "type": "object[]",
            "required": true
          }
        ]
      },
      {
        "name": "delete_relations",
        "description": "Remove relations between entities.",
        "sideEffect": "write",
        "args": [
          {
            "name": "relations",
            "type": "object[]",
            "required": true
          }
        ]
      },
      {
        "name": "read_graph",
        "description": "Return the full knowledge graph.",
        "sideEffect": "read"
      },
      {
        "name": "search_nodes",
        "description": "Search for entities by query.",
        "sideEffect": "read",
        "args": [
          {
            "name": "query",
            "type": "string",
            "required": true
          }
        ]
      },
      {
        "name": "open_nodes",
        "description": "Return specific entities by name.",
        "sideEffect": "read",
        "args": [
          {
            "name": "names",
            "type": "string[]",
            "required": true
          }
        ]
      }
    ],
    "security": {
      "scope": "read-write",
      "sandbox": "Persists a knowledge graph as a single JSON file on disk (default `~/.mcp/memory/memory.json`, override via `MEMORY_FILE_PATH`). No network access.",
      "gotchas": [
        "The memory file is plain JSON — if you store sensitive information the server does not encrypt it.",
        "No concurrency control — avoid two clients writing the same file simultaneously."
      ]
    }
  },
  "_links": {
    "html": "https://top-mcps.com/mcp/memory",
    "markdown": "https://top-mcps.com/mcp/memory.md",
    "methodology": "https://top-mcps.com/about/methodology"
  }
}
