Skip to main content
MCP server CX Codex

GEML — Claude Code MCP server: what it does, how to install

An MCP server over a text format whose blocks carry names: the model reads and rewrites one section by address instead of the whole file. Handy once a document gets long.

Install into Claude Code · Platform CLI: remote server All methods and platforms ↓
claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcp
Open on GitHub

What GEML — a plain-text document format built to be edited in place, one section at a time does

GEML is a text format where every block has a name, plus an MCP server that acts on those names. Ask for #key-features and that one section enters the model's context, however long the file grows. The verbs are list, find, get, set, replace.

Addresses reach below the section. A table cell like #fy[2]["Q1"] or a leaf such as #intake["fields"][1]["name"] already sits at a coordinate inside its block, so a read lands on that value alone. history save writes a revision into README.md.gemlhistory beside the file, and you can read it back or roll it back. No conversion step: the commands run against the .md you already have, and it stays .md.

There is a hosted HTTP endpoint, and there is npx -y @geml/geml for running it locally, which needs Node.js on the machine. One block shape covers code, tables, diagrams and metadata, so there is no second syntax to learn per content type. Keep a source in .geml and the --to md copy is generated from it, which leaves no room for the two to drift.

What it helps with

  • pull a single README section without loading the whole file
  • rewrite one named code block and leave the rest of the bytes alone
  • grab a single table cell or a leaf out of a JSON block
  • roll a document back to a saved revision
  • locate which block held a string you want replaced

Example prompts for the agent

  • List the sections in README.md and read only #key-features.
  • Replace the text of #key-features and save a revision labelled tighten intro.
  • Read the cell #fy[2]["Q1"] from doc.geml.

How to install GEML — a plain-text document format built to be edited in place, one section at a time

1Platform CLI: remote server

claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcp

2Platform CLI

claude mcp add geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t -- npx -y @geml/geml

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about GEML — a plain-text document format built to be edited in place, one section at a time

How do I install GEML in Claude Code?

Run claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcp. That one step registers the hosted HTTP endpoint and nothing goes on your disk.

What does GEML do?

It gives an agent addresses for the blocks of a text document and a set of verbs to read or write at those addresses. Plain Markdown and .geml files both work.

Do I have to convert my Markdown first?

No. list, find and get operate on your .md directly and create no new files. Reach for .geml when you want to edit at the grain of a block, table or diagram rather than a section.

Similar MCP servers

All MCP servers for Writing and docs →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor