Memory (Go) MCP Server

A Model Context Protocol server that provides knowledge graph management capabilities.

Remote serverstreamable-httpTypeScript

What is the Memory (Go) MCP server?

A Model Context Protocol server that provides knowledge graph management capabilities. The memory (go) mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 5 defined tools rather than through you.

What it actually does

Options: -v v0.2.3 for a specific version, -d /usr/local/bin for a custom directory.

  • High-Performance Storage — SQLite backend with WAL mode, read/write connection separation for concurrent access
  • Knowledge Graph Management — Persistent graph of entities, relationships, and observations
  • Advanced Search — FTS5 full-text search with BM25 ranking, synonym expansion, and time-decay scoring
  • Graph Traversal — Search results include 1-hop related entities for richer context
  • Entity Management — Merge duplicate entities, update types, modify observations, detect conflicts
  • Observation Metadata — Track source, confidence, and tags for each observation

Its toolset

Everything the assistant can do here goes through one of these:

  • Query — The Query tool exposed by this server
  • Cursor — The Cursor tool exposed by this server
  • Migration — The Migration tool exposed by this server
  • Requirements — The Requirements tool exposed by this server
  • Versioning — Version is managed via the VERSION file. Override with make build VERSION=1.2.3 or go build -ldflags "-X main.version=1.2.3"

Configuration

You will need 2 environment variables: MEMORY_FILE_PATH, OAUTH_STORE_PATH. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Go 1.24+ * github.com/mark3labs/mcp-go v0.19.0+ * modernc.org/sqlite (pure Go SQLite, no CGO)

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

When to reach for it

This sits in the knowledge and memory group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Memory (Go)'s toolset — Query, Cursor, Migration and 2 more — is a fair guide to whether it matches your workflow. It is maintained by okooo5km; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the memory (go) mcp server does with a few real requests.

Available tools

ToolWhat it does
QueryThe Query tool exposed by this server.
CursorThe Cursor tool exposed by this server.
MigrationThe Migration tool exposed by this server.
RequirementsThe Requirements tool exposed by this server.
VersioningVersion is managed via the VERSION file. Override with make build VERSION=1.2.3 or go build -ldflags "-X main.version=1.2.3".

How to install the Memory (Go) MCP server

"mcpServers": {
  "memory": {
    "command": "mms",
    "env": {
      "MEMORY_FILE_PATH": "/path/to/memory.json"
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Go 1.24+ * github.com/mark3labs/mcp-go v0.19.0+ * modernc.org/sqlite (pure Go SQLite, no CGO)
VariableDescriptionRequired
MEMORY_FILE_PATHFilesystem location the server is allowed to use.Optional
OAUTH_STORE_PATHFilesystem location the server is allowed to use.Optional

Example prompts to try

  • Use Memory (Go) to Query.
  • Use Memory (Go) to Cursor.
  • Use Memory (Go) to Migration.

Frequently asked questions

SQLite (recommended) and JSONL (legacy). SQLite offers FTS5, ACID, WAL, and concurrent reads; JSONL is human-readable and starts faster.