GEML — a plain-text document format built to be edited in place, one section at a time
by @geml-spec · io.github.geml-spec/geml
One section in, one section out — on Markdown/GEML files, bad writes refused.
- Category
- Developer tools
- Connection
- Remote (HTTP)
- Tools
- 9 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://geml-mcp.supermarket.workers.dev/mcpOr run it locally (npm)
claude mcp add geml -- npx -y @geml/geml@1.13.0Cursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"geml": {
"url": "https://geml-mcp.supermarket.workers.dev/mcp"
}
}
}Tools it offers
9 tools, as the server itself reported during our check on Oct 31, 2026.
geml_listList every addressable block in a GEML document — its address, kind and heading text — in one call, with no paging. Call this FIRST: what it returns is what every other tool here addresses, and it is cheaper and more relgeml_findSearch block CONTENT in the document; each hit is one `<name>\t<address>` row. geml_list says what a document contains, this says which block holds the words — as an address that pastes straight into geml_get or geml_setgeml_getRead ONE block from a GEML document instead of the whole file: only that block comes back, typically a few percent of the document. Pass the `address` geml_list prints as `id` — it also reaches blocks with no `#id`; to lgeml_checkValidate a GEML document without changing it: returns every diagnostic with a stable `code`, a severity and a line, and an empty list means the document is valid. Use it to confirm a document is sound before reporting wogeml_toConvert a WHOLE document and get the result back as text — the read half of the CLI's `geml <file> --to <fmt>`. `to: "geml"` on a Markdown file is the importer, the one thing the block tools cannot do; `to: "md"` projectgeml_setReplace ONE block and leave every other byte untouched — prefer this to rewriting a file. For content that does not exist yet use geml_add; to remove a block, geml_delete. The replacement is validated before it is writtegeml_addInsert new content — one or more blocks, or prose — at the end of the document (`position: append`) or before/after the block named by `anchor`. Use this for content that does not exist yet; to change a block that does,geml_deleteRemove one or more blocks, each named by an id or any address geml_list prints; a filter (`=== type`, `{key=value}`) removes every block it matches. Each block takes the blank line that separated it from its neighbours,geml_renameRename a block id AND every reference to it in the same document, in one id-boundary-safe write. Use this rather than geml_set or a text search-and-replace, which would also hit ids that merely share a prefix. A Markdown
Questions
What is the GEML — a plain-text document format built to be edited in place, one section at a time MCP server?
One section in, one section out — on Markdown/GEML files, bad writes refused. It is made by @geml-spec and listed in the official MCP Registry as io.github.geml-spec/geml. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add GEML — a plain-text document format built to be edited in place, one section at a time to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://geml-mcp.supermarket.workers.dev/mcp. In Claude Code, run: claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcp
How do I add GEML — a plain-text document format built to be edited in place, one section at a time to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://geml-mcp.supermarket.workers.dev/mcp.
How do I add GEML — a plain-text document format built to be edited in place, one section at a time to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "geml": { "url": "https://geml-mcp.supermarket.workers.dev/mcp" } } }
Does GEML — a plain-text document format built to be edited in place, one section at a time work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can GEML — a plain-text document format built to be edited in place, one section at a time do?
It gives your AI 9 tools, including geml_list, geml_find, geml_get, geml_check, geml_to. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/github-geml-spec-geml)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/github-geml-spec-geml"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/github-geml-spec-geml.svg?theme=dark"><img src="https://chen.media/mcp/badge/github-geml-spec-geml.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Developer tools
See allAlgolia ProductivityVerified maker
@algoliaConnect LLM tools to your Algolia account with user-scoped access for internal workflows.
GitHubVerified maker
@githubConnect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP devkit serverVerified maker
@mapboxProvides AI assistants with direct access to Mapbox developer APIs and documentation.
GitLabVerified maker
gitlab.comOfficial GitLab MCP Server
Perplexity API PlatformVerified maker
perplexity.aiReal-time web search, reasoning, and research through Perplexity's API
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
@valueinPoint-in-time, survivorship-free SEC EDGAR fundamentals + smart-money signals for AI agents.