mcpField
M
Munnin — an agent identity server

Munnin — an agent identity server

Remote
munnin.lok.questMemory & Knowledge0Updated 4d ago

About Munnin — an agent identity server

Munnin is an MCP identity and memory server for AI agents, pairing persistent identity, history, and knowledge with procedures for maintaining that memory. It supports local single-tenant use and OIDC-based hosted tenant separation.

Key features

  1. 01Persistent identity and memory
  2. 02Procedures for memory maintenance
  3. 03SQLite storage
  4. 04Local and OIDC token modes

Use cases

  1. 01Preserve an agent’s identity and history across sessions
  2. 02Create and maintain agents through memory procedures
  3. 03Separate memory tenants for signed-in users

MCP support

Munnin exposes agent identity and memory data, along with procedures and tools for maintaining memory, over MCP.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://munnin.lok.quest/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

Munnin — an agent identity server

Munnin gives an AI agent a persistent self — identity, reasoning patterns, emotional moments, episodic history, knowledge — and serves the procedures for tending that memory beside the data, over MCP. It is the memory server of the agent-memory framework: an agent awakens from it as who it is, not from a pile of recalled facts, and writes back through the same discipline.

Python · FastMCP · FastAPI · SQLite. Apache-2.0. Runs on a laptop in five minutes with no identity provider.

Five-minute run

Needs Docker and git.

git clone --recurse-submodules https://github.com/alvseek/agent-memory-server
cd agent-memory-server
docker compose up -d --build
curl http://127.0.0.1:8200/health      # {"status":"ok","service":"munnin","version":"0.1.0"}

Connect a client. Claude Code:

claude mcp add --transport http munnin http://127.0.0.1:8200/mcp

or in a project's .mcp.json:

{ "mcpServers": { "munnin": { "type": "http", "url": "http://127.0.0.1:8200/mcp" } } }

Then, in a session: ping answers pong, list_procedures returns the 15 memory procedures, and read_procedure("create-agent") walks you through making the first agent. No sign-in happens: this is local mode — one tenant, reachable from this machine only, and the server refuses to start any other way (how that guard works).

No Docker? uv sync && MUNNIN_AUTH=off uv run python -m munnin does the same on 127.0.0.1:8200.

Hosting it

The default is token mode: every /mcp and /api call needs a bearer token from an OIDC issuer that binds tokens to this server (aud = https://<your-host>/mcp), and each person who signs in gets their own tenant. Set MUNNIN_PUBLIC_BASE_URL and MUNNIN_LOGTO_ENDPOINT, put it behind TLS, and paste https://<your-host>/mcp into claude.ai's connectors or claude mcp add. The issuer requirements, the one-identifier rule, and the prebuilt image are in How Is It Deployed.

Develop

uv sync
uv run pytest        # 446 tests
uv run ruff check

Full architecture, the tool and endpoint surface, the data model, and known debts: docs/README.md.

License

Apache License 2.0 — Copyright 2026 Alviandi Widiasto. The control-files submodule (agent-memory-system) is licensed the same way, so a clone with submodules is one licence throughout.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.