About Cartographer
Cartographer is a Go MCP server for teams that want agents to share and maintain a governed, git-backed knowledge base. It validates changes, records writes in git, and distributes knowledge-base instructions and agent artifacts to supported clients.
Key features
- 01Shared Markdown and YAML knowledge bases
- 02Git-backed writes and signed audit log
- 03Schema, link, and lint checks
- 04Sync skills, subagents, hooks, and instructions
- 05Search and graph view in the Atlas UI
- 06Encrypted secrets resolved on demand
Use cases
- 01Share accumulated team knowledge across agents
- 02Check a knowledge base for broken or stale content
- 03Distribute agent configuration across supported clients
- 04Review knowledge and changes in the Atlas graph
MCP support
Exposes knowledge-base access and maintenance through MCP tools, with writes governed by server-side checks and git history. The same server connects MCP clients and synchronizes knowledge-base artifacts to supported agent clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
docker run -i --rm ghcr.io/beppetemp/cartographer:v0.27.0Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
ghcr.io/beppetemp/cartographer:v0.27.0stdioTools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README
Shared memory for your team's AI agents — one wiki they all read and grow, and none of them can break.
What a colleague's agent works out on Monday, yours already knows on Tuesday — even on another client.
Claude Code, Codex, OpenCode and [any MCP client](docs/mcp-clients.md): one Go binary, git underneath.
Drawn by the Atlas's own graph engine. Pre-1.0: breaking changes bump the minor version and are called out in the changelog.
Try it now
A live Cartographer — no install, no token, no sign-up. It serves two knowledge bases: an astronomy atlas to explore, and a guestbook where visitors' agents leave a message.
1. Connect your agent to https://cartographer-demo.beppetemp.com/mcp
- Claude or ChatGPT — web, desktop or phone: add it as a custom connector, no sign-in (Customize → Connectors → Add custom connector in Claude; Plugins → + → Add custom MCP server, authentication None, in ChatGPT).
- Claude Code:
claude mcp add --transport http cartographer-demo https://cartographer-demo.beppetemp.com/mcp
Codex, OpenCode, Antigravity, GitHub Copilot CLI, Crush, Kiro
# Codex
codex mcp add cartographer-demo --url https://cartographer-demo.beppetemp.com/mcp
# OpenCode
opencode mcp add cartographer-demo --url https://cartographer-demo.beppetemp.com/mcp --global
# Antigravity
agy mcp add --type http cartographer-demo https://cartographer-demo.beppetemp.com/mcp
# GitHub Copilot CLI
copilot mcp add --transport http cartographer-demo https://cartographer-demo.beppetemp.com/mcp
# Crush
echo 'mcp add cartographer-demo --type http --url https://cartographer-demo.beppetemp.com/mcp' >> ~/.config/crush/crushrc
# Kiro: add to "mcpServers" in ~/.kiro/settings/mcp.json
# "cartographer-demo": { "url": "https://cartographer-demo.beppetemp.com/mcp" }
2. Ask it something
- "What does this knowledge base know about black holes, and what are they connected to?"
- "Run a health check on the KB: what is broken, stale or missing?"
- "Which skills, subagents and hooks would this KB install in my coding agent?"
3. Leave a message and watch it land
Ask "Leave a message in the guestbook: which client you are and what you would keep in a shared wiki", then open the live Atlas →: your note shows up in the graph next to the ones other people's agents left. Many agents, one wiki.
Everything is read-only except guestbook messages, which are public, anonymous, moderated and rate-limited. To give your agents a knowledge base of their own, see the Quick start.
Why
AI agents start every session from zero, and on a team every colleague's agent starts from its own zero: what one learns stays on that person's machine, in that client. The usual fixes each solve a third of the problem:
- RAG retrieves, but nothing accumulates — the agent never gets to write down what it learned.
- A folder of Markdown the agent edits freely ends in broken links, lost history and silent corruption.
- Skills, subagents and instructions get hand-copied into
.claude/,.codex/,.kiro/… and drift apart on every machine.
Cartographer puts all three in one place: your agents read and grow a knowledge base only through MCP tools, behind a server that enforces the rules, and the same knowledge base carries how your agents are set up.
What you get
-
🧠 Memory that compounds
A wiki the agent builds over time (Karpathy's LLM Wiki pattern): plain Markdown + YAML, one git repo per KB, readable in Obsidian or any editor. No lock-in. -
🛡️ Guardrails, not good intentions
Schema validation, link checks, lint, immutability gates, optimistic concurrency, one commit per write, a signed audit log. The agent cannot leave the KB in a broken state. -
🧩 One KB configures every agent
Skills, subagents, hooks and standing instructions live in the KB and reach each client in its native format (below). Edit once, every machine converges. -
👥 Built for teams
Several KBs behind one server — a native user service, a container or a Kubernetes workload — per-KB and per-map access with bearer-token roles, git as the sync layer, conflicts turned into a guided workflow, Ed25519-signed artifacts. -
🗺️ See it all in the Atlas
A read-only web UI in the same binary: a living 3D graph, search, what the agents changed, what the KB ships to them, and what needs fixing. No extra service, no CDN. -
🔑 Secrets, done properly
SOPS-encrypted values referenced by concepts and resolved on demand; plaintext is never stored.
The Atlas, served by the same binary, on a generated demo KB.
Quick start
You need git and an empty git repository you own (GitHub, Gitea, any host) to hold your first KB.
brew install beppetemp/tap/cartographer # macOS — Windows, Linux and source: see Install
cartographer setup # server, first KB and your agents, in one guided step
setup shows its plan before touching anything, then installs the local service, creates the KB,
connects every agent client it detects and verifies the result. Restart already-open agent
sessions and ask your agent what it knows. Step by step:
docs/getting-started.md.
Prefer to let your agent install it? Paste this:
Set up Cartographer on this machine by following
https://raw.githubusercontent.com/BeppeTemp/cartographer/main/docs/agent-install.md
My first knowledge base is at: `<git remote URL>`
If you are an agent asked to install Cartographer: follow that runbook, not the Quick start.
One KB, every agent
cartographer connect detects your installed clients and writes, in each one's own format:
| Claude Code | Codex | OpenCode | Kiro | Antigravity | Crush | Copilot CLI | |
|---|---|---|---|---|---|---|---|
| MCP endpoint | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Instructions | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Skills | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Subagents | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| Hooks | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
Subagents and hooks are translated, not copied. Every — is a gap declared for a stated reason,
never a silent omission. Cartographer re-syncs at session start (or on a timer where a client has
no hook), restores files edited or deleted by hand, and only ever touches what it created. Exact
paths and reasons: docs/sync.md.
Install
# macOS (Homebrew)
brew install beppetemp/tap/cartographer
# Windows (PowerShell; no administrator rights)
irm https://raw.githubusercontent.com/BeppeTemp/cartographer/main/install.ps1 | iex
# Linux / macOS without Homebrew
curl -fsSL https://raw.githubusercontent.com/BeppeTemp/cartographer/main/install.sh | sh
# From source (Go 1.26+)
go install github.com/BeppeTemp/cartographer/cmd/cartographer@latest
What lands where, upgrades and removal:
docs/getting-started.md. Server configuration,
environment variables and deployment topologies: docs/deployment.md.
Documentation
Browsable at beppetemp.github.io/cartographer; the
map is docs/index.md.
- Getting started — from zero to a working wiki
- Overview — vision, principles, architecture
- MCP tools — the full tool API
- Deployment — topologies, configuration, backup
- Sync — how artifacts reach each agent client
Contributing
Questions and open-ended ideas go to
Discussions; bugs and concrete proposals
to issues. Issues and PRs are welcome: CONTRIBUTING.md covers building,
testing and the PR flow. Cartographer is a personal project maintained on a best-effort basis.
Security reports: SECURITY.md.
License
Apache License 2.0 — see LICENSE.
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.