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.
claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcpWhat 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.mdand read only#key-features. - Replace the text of
#key-featuresand save a revision labelledtighten intro. - Read the cell
#fy[2]["Q1"]fromdoc.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/mcp2Platform CLI
claude mcp add geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t -- npx -y @geml/geml1Platform CLI: remote server
codex mcp add geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t --url https://geml-mcp.supermarket.workers.dev/mcp2Platform CLI
codex mcp add geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t -- npx -y @geml/gemlConfig file
{
"mcpServers": {
"geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t": {
"url": "https://geml-mcp.supermarket.workers.dev/mcp"
}
}
}{
"mcpServers": {
"geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t": {
"command": "npx",
"args": [
"-y",
"@geml/geml"
]
}
}
}Config file
{
"servers": {
"geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t": {
"type": "http",
"url": "https://geml-mcp.supermarket.workers.dev/mcp"
}
}
}{
"servers": {
"geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@geml/geml"
]
}
}
}1Platform CLI: remote server
gemini mcp add -t http geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t https://geml-mcp.supermarket.workers.dev/mcp2Platform CLI
gemini mcp add geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t npx -y @geml/gemlStep 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.