Munnin — an agent identity server
RemoteAbout 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
- 01Persistent identity and memory
- 02Procedures for memory maintenance
- 03SQLite storage
- 04Local and OIDC token modes
Use cases
- 01Preserve an agent’s identity and history across sessions
- 02Create and maintain agents through memory procedures
- 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.
https://munnin.lok.quest/mcpclaude mcp add --transport http alvseek-munnin https://munnin.lok.quest/mcp{"mcpServers":{"alvseek-munnin":{"type":"http","url":"https://munnin.lok.quest/mcp"}}}Open in Cursor{"servers":{"alvseek-munnin":{"type":"http","url":"https://munnin.lok.quest/mcp"}}}Open in VS Code{"mcpServers":{"alvseek-munnin":{"type":"http","url":"https://munnin.lok.quest/mcp"}}}{"mcpServers":{"alvseek-munnin":{"serverUrl":"https://munnin.lok.quest/mcp"}}}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 READMEMunnin — 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
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.