GEML — a plain-text document format built to be edited in place, one section at a time
One section in, one section out — on Markdown/GEML files, bad writes refused.
io.github.geml-spec/geml · Repository · Website · version 1.13.0 · 30 stars · listed from registry
Install
The sweep installs into a clean prefix, but this is the command a user would run:
npx @geml/geml
Results by platform
Linux
MCP handshake failed2026-08-15 · probed over npm1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
geml mcp: --root <dir> is required (the one directory the server may read and write)
usage: geml mcp --root <dir> [--graph <dir>] [--no-history]
Serve GEML document CRUD over the MCP stdio transport (JSON-RPC 2.0), plus the
read-only code-graph tools when the root holds a code graph.
--root <dir> REQUIRED. Root directory holding the .geml documents.
Relative paths resolve against the server process's CWD,
which the CLIENT chooses — pass an absolute path.
Every path a client names is confined to this directory;
a client cannot widen or override it.
--graph <dir> Code-graph directory, inside --root. Defaults to
<root>/.geml-code-graph when that holds an index.geml.
With no graph, the code-graph tools are not served
at all (a client sees only the document tools).
--no-history Do not save a .gemlhistory revision before each
write. Default is to save one, so geml_revert always
has a revision to undo to.
Register with a client:
claude mcp add geml -- geml mcp --root /abs/path/to/repo
macOS
MCP handshake failed2026-08-15 · probed over npm1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
geml mcp: --root <dir> is required (the one directory the server may read and write)
usage: geml mcp --root <dir> [--graph <dir>] [--no-history]
Serve GEML document CRUD over the MCP stdio transport (JSON-RPC 2.0), plus the
read-only code-graph tools when the root holds a code graph.
--root <dir> REQUIRED. Root directory holding the .geml documents.
Relative paths resolve against the server process's CWD,
which the CLIENT chooses — pass an absolute path.
Every path a client names is confined to this directory;
a client cannot widen or override it.
--graph <dir> Code-graph directory, inside --root. Defaults to
<root>/.geml-code-graph when that holds an index.geml.
With no graph, the code-graph tools are not served
at all (a client sees only the document tools).
--no-history Do not save a .gemlhistory revision before each
write. Default is to save one, so geml_revert always
has a revision to undo to.
Register with a client:
claude mcp add geml -- geml mcp --root /abs/path/to/repo
Windows
MCP handshake failed2026-08-15 · probed over npm1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
geml mcp: --root <dir> is required (the one directory the server may read and write)
usage: geml mcp --root <dir> [--graph <dir>] [--no-history]
Serve GEML document CRUD over the MCP stdio transport (JSON-RPC 2.0), plus the
read-only code-graph tools when the root holds a code graph.
--root <dir> REQUIRED. Root directory holding the .geml documents.
Relative paths resolve against the server process's CWD,
which the CLIENT chooses — pass an absolute path.
Every path a client names is confined to this directory;
a client cannot widen or override it.
--graph <dir> Code-graph directory, inside --root. Defaults to
<root>/.geml-code-graph when that holds an index.geml.
With no graph, the code-graph tools are not served
at all (a client sees only the document tools).
--no-history Do not save a .gemlhistory revision before each
write. Default is to save one, so geml_revert always
has a revision to undo to.
Register with a client:
claude mcp add geml -- geml mcp --root /abs/path/to/repo
Badge
Paste this into the project README to show the current result:
[](https://doesitinstall.com/s/io.github.geml-spec__geml.html)