Cartographer

io.github.BeppeTempPublished by GitHub account BeppeTempv0.28.0Updated Nov 7, 2026

Governance MCP server for agent-maintained knowledge bases (OKF): git-backed writes, search, lint.

Overview

AI-generated overview

Governance MCP server for a shared, git-backed knowledge base that AI agents read and grow through validated tools, with search, lint and per-client sync.

What you can do
  • Read, search and grow a shared Markdown knowledge base through MCP tools, with schema validation, link checks, lint and one commit per write
  • Inspect knowledge base health: broken links, stale or missing content, and what the agents changed
  • Distribute skills, subagents, hooks and standing instructions from the knowledge base into each agent client's native format
  • Extend the server with plugins that add clients, commands and MCP tools, pinned to a commit and enabled after approval
  • Browse a read-only web Atlas with a 3D graph of the knowledge base
When to use it
Use it when several agents or teammates should accumulate knowledge in one wiki instead of starting each session from zero, and when you want agent setup (skills, subagents, hooks) kept in one place and synced across clients. A hosted demo is available to try before installing.
Requirements
Runs as a local process; the manifest lists a Docker image (ghcr.io/beppetemp/cartographer) over stdio, and the README also offers Homebrew, install scripts and a Go build. Needs git and an empty git repository you own to hold the first knowledge base. No environment variables or headers are declared; team setups use bearer-token roles.
Before you install
The server writes to your knowledge base repository and to agent client configuration files, and re-syncs files it created at session start. Plugins add tools and commands and should be reviewed before approval. Team deployments use bearer-token roles and SOPS-encrypted secrets. The public demo is read-only except guestbook messages, which are public, anonymous and moderated. Pre-1.0 software with breaking changes on minor versions.

Installation

In SourceWeft

  1. Open Cartographer in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Cartographer — Give knowledge a sense of place.]

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.

[CI] [Release] [License] [MCP] [Listed on mcpservers.org]

[A one-minute film: four teammates, each with their own coding agents, share one Cartographer wiki. On Monday Alice's agent writes down why staging breaks; on Tuesday Marco's agent, on another laptop and another client, finds her note and answers; every day the others add to it, and a note with a broken link is refused.]

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
bash
# Codexcodex mcp add cartographer-demo --url https://cartographer-demo.beppetemp.com/mcp# OpenCodeopencode mcp add cartographer-demo --url https://cartographer-demo.beppetemp.com/mcp --global# Antigravityagy mcp add --type http cartographer-demo https://cartographer-demo.beppetemp.com/mcp# GitHub Copilot CLIcopilot mcp add --transport http cartographer-demo https://cartographer-demo.beppetemp.com/mcp# Crushecho '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.

  • 🔌 Extend it with plugins
    A plugin is a git repository or a folder that adds clients, skills, subagents, hooks, commands and MCP tools, installed with one command, pinned to a commit and enabled only after you approve what it does.

  • 👥 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 embedded Atlas: a knowledge base drawn as a living 3D graph — searched, a concept opened with its links, recoloured by map, the skills it ships to agents and the findings that need attention.]

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.

bash
brew install beppetemp/tap/cartographer   # macOS — Windows, Linux and source: see Installcartographer 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:

text
Set up Cartographer on this machine by followinghttps://raw.githubusercontent.com/BeppeTemp/cartographer/main/docs/agent-install.mdMy 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 CodeCodexOpenCodeKiroAntigravityCrushCopilot CLIPiCline
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. A client missing from the table (a fork, an in-house build) is added by a plugin, without waiting for a release: see docs/plugins.md.

Install

bash
# 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 Homebrewcurl -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
  • Plugins — add clients, commands and MCP tools, approved per version

Contributing

Bugs and ideas go to issues; a question starts from the FAQ. 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.

Source: README.md at commit 2898294

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

21
  1. v0.28.0LatestNov 7, 2026
  2. v0.27.3Nov 3, 2026
  3. v0.27.1Oct 31, 2026
  4. v0.27.0Oct 29, 2026
  5. v0.26.1Oct 26, 2026
  6. v0.26.0Oct 26, 2026
  7. v0.25.1Oct 20, 2026
  8. v0.24.0Oct 12, 2026
  9. v0.23.0Oct 10, 2026
  10. v0.21.0Oct 7, 2026
  11. v0.19.2Oct 6, 2026
  12. v0.19.0Oct 6, 2026
  13. v0.18.1Oct 4, 2026
  14. v0.18.0Oct 2, 2026
  15. v0.17.0Sep 24, 2026
  16. v0.16.1Sep 23, 2026
  17. v0.16.0Sep 23, 2026
  18. v0.15.0Sep 22, 2026
  19. v0.14.0Sep 18, 2026
  20. v0.13.0Sep 18, 2026
  21. v0.12.4Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts