knowledge MCP server
Commit Nov 13, 2026Provides shared Markdown-based memory and task hand-overs for coding agents across multiple computers with a mobile control interface.
Also known as To0wnn/knowledge
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.41.4
- Last commit
- Nov 13, 2026
- License
- MIT
What is knowledge MCP?
knowledge provides shared Markdown-based memory and task hand-overs for coding agents across multiple computers with a mobile control interface.
Summary generated from the project's README
About knowledge MCP server
Knowledge provides a unified memory system and task management layer for coding agents operating across multiple computers. It is designed for solo developers and homelabbers who use several machines and want their AI agents to share context through plain Markdown files. By hosting a central server via Docker, users can synchronize notes and instructions between different agents like Claude Code, Codex, and Antigravity on Linux, macOS, and Windows.
The system operates in two primary layers. The Memory layer allows agents to find information by meaning using local embeddings. The Cockpit layer adds a companion service to each PC, enabling agents to function as workers that run tasks in independent git branches. This setup allows you to monitor agent progress, chat with them, and approve risky file edits directly from a mobile web interface.
To use this service, you need a server with approximately 1.5 GB of RAM and Docker. For remote access via a phone, the server must be reachable over HTTPS, typically through a reverse proxy. The system relies on local processing for embeddings to ensure data stays on your own hardware.
What you can do with it
- 1Synchronize agent memoryShare technical notes between a laptop and a desktop so different coding agents stay informed.
- 2Automate multi-agent hand-oversAssign a task in a Markdown note for an agent to pick up and execute in a separate git branch.
- 3Remote agent supervisionManage and approve agent actions or chat with your coding assistants while away from your desk.
- 4Monitor hardware performanceTrack the CPU, GPU, and RAM usage of your various machines through a central dashboard.
Written from the project's README. Every use case is checked against a quote from it.
How to install knowledge MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall knowledge MCP in Claude Code
$ claude mcp add --env 'KNOWLEDGE_UI_PASSWORD=<YOUR_KNOWLEDGE_UI_PASSWORD>' knowledge -- docker run -i --rm ghcr.io/to0wnn/knowledge:0.41.4Install knowledge MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"knowledge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/to0wnn/knowledge:0.41.4"
],
"env": {
"KNOWLEDGE_UI_PASSWORD": "<YOUR_KNOWLEDGE_UI_PASSWORD>"
}
}
}
}Install knowledge MCP in VS Code
.vscode/mcp.json
{
"servers": {
"knowledge": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/to0wnn/knowledge:0.41.4"
],
"env": {
"KNOWLEDGE_UI_PASSWORD": "<YOUR_KNOWLEDGE_UI_PASSWORD>"
}
}
}
}Install knowledge MCP in VS Code CLI
$ code --add-mcp '{"name":"knowledge","type":"stdio","command":"docker","args":["run","-i","--rm","ghcr.io/to0wnn/knowledge:0.41.4"],"env":{"KNOWLEDGE_UI_PASSWORD":"<YOUR_KNOWLEDGE_UI_PASSWORD>"}}'Install knowledge MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"knowledge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/to0wnn/knowledge:0.41.4"
],
"env": {
"KNOWLEDGE_UI_PASSWORD": "<YOUR_KNOWLEDGE_UI_PASSWORD>"
}
}
}
}Install knowledge MCP in Codex
$ codex mcp add knowledge --env 'KNOWLEDGE_UI_PASSWORD=<YOUR_KNOWLEDGE_UI_PASSWORD>' -- docker run -i --rm ghcr.io/to0wnn/knowledge:0.41.4Install knowledge MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.knowledge] command = "docker" args = ["run", "-i", "--rm", "ghcr.io/to0wnn/knowledge:0.41.4"] [mcp_servers.knowledge.env] KNOWLEDGE_UI_PASSWORD = "<YOUR_KNOWLEDGE_UI_PASSWORD>"
Install knowledge MCP in Gemini CLI
$ gemini mcp add -s user -e 'KNOWLEDGE_UI_PASSWORD=<YOUR_KNOWLEDGE_UI_PASSWORD>' knowledge docker -- run -i --rm ghcr.io/to0wnn/knowledge:0.41.4Install knowledge MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"knowledge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/to0wnn/knowledge:0.41.4"
],
"env": {
"KNOWLEDGE_UI_PASSWORD": "<YOUR_KNOWLEDGE_UI_PASSWORD>"
}
}
}
}Configuration
KNOWLEDGE_UI_PASSWORDRequiredSecretPassword for the web UI (admin page, device tokens)
KNOWLEDGE_ALLOWED_HOSTShost:port values clients may use
| Name | Description | |
|---|---|---|
| KNOWLEDGE_UI_PASSWORD | Password for the web UI (admin page, device tokens) | RequiredSecret |
| KNOWLEDGE_ALLOWED_HOSTS | host:port values clients may use |
Automated checks
Ran Nov 13, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachableto0wnn/knowledge is public and reachablegithub.com/to0wnn/knowledge ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-13github.com/to0wnn/knowledge ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubknowledge
Your coding agents share one memory and hand work to each other across your own PCs — and you steer them from your phone. Self-hosted, plain Markdown.
Works with Claude Code, Codex and Antigravity (agy, Gemini) on Linux, macOS and Windows. Made for solo developers and homelabbers with two or more PCs and two or more agents who want their notes to stay on their own server.
- One memory, every agent. Tell Claude Code something on your laptop; Codex on your desktop knows it. Notes are plain Markdown files on your disk, found by meaning (98.8% R@5 on LongMemEval-S, embeddings run locally).
- Agents hand work to each other. One line in a note hands a task to another agent; it runs once, on one of your PCs, in its own git branch, and the result comes back to whoever asked.
- You steer from your phone. An inbox of what needs you, chats with the agents on your PCs, and Allow/Deny for each risky step, in a web app you install on your phone.
Made-up demo notes from demo/.
You can use it in two layers. Memory is the server plus one agent: five minutes, nothing else on your PCs. Cockpit adds the companion on each PC, so tasks run as workers and you can chat and approve from your phone.
Quickstart: Memory
You need Docker and about 1.5 GB RAM on the server, and git plus Python 3.9 or newer on each PC.
1. Run the server.
git clone https://github.com/To0wnn/knowledge && cd knowledge
mkdir data && echo "KNOWLEDGE_UI_PASSWORD=<a long password>" > .env
docker compose up -d
2. Get the first token. The first start makes one admin token and prints it once, with the next steps:
docker compose logs knowledge
Tokens for more devices: open http://localhost:8766/ui, sign in with the password and use the admin page (Admin);
it shows the install line with your server address filled in.
3. Connect an agent on the same PC:
curl -fsSL https://raw.githubusercontent.com/To0wnn/knowledge/main/install.sh | sh # Linux, macOS
irm https://raw.githubusercontent.com/To0wnn/knowledge/main/install.ps1 | iex # Windows
It finds Claude Code, Codex and agy, asks y/n for each, and asks for the server address
(http://localhost:8766) and the token. Run the same line again later to update. Only the plugin, without the
companion (a work laptop, an SSH server): add -s -- --plugin-only after sh
(docs/clients.md).
4. Try it. Tell Claude Code: "save to knowledge: we deploy with ./deploy.sh" (the installer turns Claude's own local auto-memory off, so it writes a memo on the server). Then start Codex (or agy), on this pc or another, and ask "how do we deploy?". It answers from the shared memory.
More than one PC? Put the server behind HTTPS (a reverse proxy) and add its host:port to
KNOWLEDGE_ALLOWED_HOSTS in .env; then run the install line on every PC with a token per device. Over plain HTTP
the password and tokens cross the network readable. All settings: docs/server.md.
Add the Cockpit
The install line also sets up the companion, a small local service on each PC (127.0.0.1:47321, starts at
logon). With it:
- Workers. A task handed to an agent runs as a fresh headless session in its own git worktree and branch, at most one per agent by default, paused at 90% of the agent's usage limit. Workers are off until you tick "Workers allowed" on the companion's page. Follow a worker to watch it live in the chat view, steer it between steps, or take it over as a chat. docs/tasks.md
- Chats from your phone. Open the web UI on your phone and install it as an app; start a chat with Claude Code, Codex or agy in a project folder on one of your PCs. The answer streams in as in a terminal. Attach files or screenshots, or speak your message (any OpenAI-compatible speech-to-text server, one is bundled). docs/chats.md, docs/voice.md
- Approvals. Without YOLO, an agent in a chat may edit files in its folder and asks you for anything else: Allow once, Allow for this chat or Deny, on the phone or in the Inbox. docs/chats.md
- Inbox and Machines. One board of what needs you, what runs and what is done; per PC its agents, workers, usage, CPU/GPU/RAM load over 24 hours and a fixed set of remote actions (no remote shell). docs/companion.md
To use it from your phone, the server must be reachable from the phone over HTTPS. Link a project folder once by
asking your agent to run the skill knowledge-init.
Compared with
Each of these is good at its own part; knowledge is the one that combines shared memory, hand-overs and a phone cockpit across several agents and PCs.
| Tool | What it does well | Where knowledge differs |
|---|---|---|
| claude-mem | Automatic session memory for Claude Code, local | One server for Claude Code, Codex and agy on all your PCs; plain Markdown you edit |
| basic-memory | Local Markdown knowledge base over MCP | Adds shared multi-PC serving, house-rule lint, duplicate checks and agent hand-overs |
| Happy, Omnara, Claude Code Remote Control | Steer a running agent session from your phone | Also memory and tasks between agents; self-hosted, no third-party relay |
| Conductor, Superset | Run parallel agents in worktrees on one Mac or desktop | Workers on any of your PCs (Linux, macOS, Windows), started from a shared task list |
| Vibe Kanban | Kanban board that runs coding agents in worktrees | Tasks are lines in your notes, agents hand them to each other, steered from the phone |
Honest limits
- A server to run: Docker, about 1.5 GB RAM, an image of about 500 MB (the embedding model ships in it).
- HTTPS for more than one PC or the phone: you put a reverse proxy in front.
- Agents: Claude Code, Codex and Antigravity (agy) only.
- Notifications: a Matrix room or an ntfy topic (set a few values in
.env) and desktop notifications in an open browser tab; no phone push without one of those (docs/server.md). - One admin: password sign-in is for one person; several people need a reverse proxy with forward auth.
- One maintainer, built for their own use first. Issues and pull requests welcome.
Known gaps: docs/ROADMAP.md.
How it works
- Server (
server/): Python in one Docker container, MCP over streamable HTTP plus the web UI. All notes sit in memory; search and embeddings (EmbeddingGemma, ONNX) run locally, nothing leaves the machine. - Notes: plain Markdown in
data/, with aMEMORY.mdindex per project, a few house rules and a lint that keeps agent memory findable and free of duplicates. - Plugin (
plugin/): one folder that installs in Claude Code, Codex and agy: the MCP server, session-start context, hand-over checks each turn, and development skills. Tokens live in the OS keyring. - Tasks: a hand-over is a line in a note (
- open until <date> [<Owner>, <ID>] from <Requester>, start ...: <what>); the server decides when it may start and gives it to one machine only. - Companion (
clients/,plugin/companion): pulls tasks, actions and chat messages from the server; the server never connects to your PCs.
Documentation
| Page | Contents |
|---|---|
| server.md | Running the server, .env settings, proxy sign-in, notifications |
| clients.md | The installer, updates, linking folders, Windows, skills, usage limits, secret guard |
| memory.md | MCP tools, session start, projects, lint, duplicates, secrets, search quality |
| tasks.md | Task lines, leases and nonces, results, workers, usage limit |
| companion.md | The companion, machines, own devices, remote control, YOLO safety |
| chats.md | Agents (what needs you, what runs, chats) and approvals |
| voice.md | Speaking chat messages: set up speech to text |
| web-ui.md | Views, routes, graph, installing as an app (PWA, cookies) |
| security.md | The security model in one page |
| development.md | Tests, CI, plugin versions, screenshots |
| ROADMAP.md | Known gaps |
License
MIT, see LICENSE.
The server image includes the EmbeddingGemma model weights. Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms; its use is also subject to the Gemma Prohibited Use Policy. The weights are not modified.
knowledge MCP questions
How do I add knowledge MCP to Claude Code?
Run claude mcp add --env 'KNOWLEDGE_UI_PASSWORD=<YOUR_KNOWLEDGE_UI_PASSWORD>' knowledge -- docker run -i --rm ghcr.io/to0wnn/knowledge:0.41.4 in your terminal. Add --scope user to make it available in every project.
How do I add knowledge MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
Which agents are supported?
The server works with Claude Code, Codex, and Antigravity (agy).
How is the memory stored?
Notes are stored as plain Markdown files on your disk, which can be found by meaning using local embeddings.