Skip to main content
Your knowledge is markdown in a git repo you own. Isomorphic is the layer that lets an LLM maintain it: a Model Context Protocol server with a librarian’s toolkit, a content index that keeps reads fast at any size, computed views, and an in-client viewer and WYSIWYG editor so a non-technical teammate never has to open GitHub.
The Isomorphic page viewer

The page viewer: frontmatter as properties, a table and count computed from the pages that link here, and the linked references below.

Getting started

Connect Claude to the hosted service and create your first brain.

Self-hosting

Run it yourself, from a folder on your laptop to a multi-tenant deployment.

Architecture

How a tool call travels through the system, file by file.

Building with Claude Code

The setup that lets Claude Code write most of this codebase.

Try it in two minutes, with no accounts

The real MCP server, the real librarian tools, and the real content index, against a git repository on your disk. No GitHub account, no Cloudflare account, no tokens. Connect it with claude mcp add --transport http isomorphic-local http://127.0.0.1:8788/mcp, or open http://127.0.0.1:8788/b/local/notes in a browser for the same viewer and editor with no MCP host at all.

Why not a folder of markdown and a coding agent?

You can point Claude Code at a folder of notes today, and for one person that is a fine place to start. Isomorphic is for what goes wrong after that:
  • Moving a page breaks every link to it. move_page repoints each inbound link, markdown and wikilink alike, in the same commit. delete_page tells you what still points at the page.
  • An agent rewrites a whole page to change one paragraph. write_page takes exact find-and-replace edits and appends. An anchor that matches zero or several times aborts the whole call, so a batch is never half-applied and a page is never silently clobbered.
  • Reads stop scaling. A derived content index keeps search, backlinks, validation, and the graph to one or two queries on a 3,000-page brain, and checks the branch HEAD on every read so an edit made on github.com or by another agent is never served stale.
  • Listings drift. A fenced okf-view block is a listing, table, or count computed from backlinks or frontmatter, recomputed on every read instead of maintained by hand.
  • Half the team will never open a terminal or GitHub. The viewer and editor render inside the conversation and in a browser tab. Teammates sign in with an email link, nobody needs a GitHub account, and orgs, roles, invitations, and per-brain sharing are all built in.

What works where

The server never calls a model. It is an MCP server; the client brings the model, and any client that speaks the protocol works.

Why this exists

Writing knowledge down is a separate job from doing the work, which is why it does not get done. LLMs are good at that separate job and bad at doing it into a database whose shape they cannot see. So the substrate is one markdown file per concept, in a normal git repository, in the Open Knowledge Format. You can read it on github.com, edit it in Obsidian, grep it, diff it, and review a change in a pull request. If you stop using Isomorphic tomorrow you still have everything.
Open source under AGPL-3.0-only. Run it, fork it, deploy it for your own company, sell services around it. If you modify it and let others use your version over a network, you owe those users your changes. Your knowledge base is your data and the license does not reach it.