# GEML — a plain-text document format built to be edited in place, one section at a time [Health: Active]

**Category:** 📂 File Systems  
**Repository:** https://github.com/geml-spec/geml  
**GitHub Stars:** 30  
**npm Downloads (last month):** 3476  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/geml-a-plain-text-document-format-built-to-be-edited-in-place-on

## Description
One section in, one section out — on Markdown/GEML files, bad writes refused.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-time": {
    "command": "npx",
    "args": ["-y","@geml/geml"]
  }
}
```

## Documentation

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

GEML provides agent-oriented operations for Markdown and GEML documents. Its central model is an addressable document made of named blocks. Sections, code, tables, diagrams, metadata, and prose can all be represented as blocks, while structured values inside a block can be addressed by coordinates such as array indexes or object keys.

For existing Markdown, the format can be used without conversion. Agents can inspect a file’s sections, retrieve one target, and write that target back while leaving other content untouched. GEML files provide a finer-grained format when section-level addressing is not enough, including access to individual table cells or nested data values.

The GEML — a plain-text document format built to be edited in place, one section at a time MCP server is relevant to workflows where whole-file reads create unnecessary context or where repeated model rewrites risk damaging unrelated text.

## How it works

A document is parsed into a typed tree with deterministic block boundaries. Names such as `#key-features` identify blocks, while coordinates identify values inside structured content. Reads can therefore return only the requested block or value instead of sending the complete file to an agent.

Writes are applied as targeted changes and then checked against the complete document. The material describes these changes as byte-level splices, with untouched bytes preserved. If validation fails, the write is refused rather than committed. This supports partial updates and avoids requiring an agent to reproduce the original document.

GEML also supports references between documents and fragments. A source node can be changed once while references continue to point to it, reducing duplicated content and version drift. `.geml` documents can be converted to Markdown for delivery with the `--to md` workflow described in the repository.

## Tools and capabilities

The documented command operations include:

- `list`, which returns the document’s addressable sections.
- `find`, which locates matching content and identifies the containing block.
- `get`, which reads one named block or nested value.
- `set`, which changes one section or addressed value.
- `replace`, which swaps text and reports the block involved.
- `history save`, which records a revision beside the source file in a `.gemlhistory` file.

Revision history can be read back or used to roll back a block or an entire file, according to the repository description. The format also includes profiles for domain-specific vocabulary, with validation and fallback to standard blocks when an environment does not know a profile.

## Limitations and notes

It also does not document a separate MCP tool schema beyond the corresponding GEML operations and command examples.

Markdown remains supported for section addressing, but it does not gain GEML’s full structured representation merely by being read. Use `.geml` when nested values, finer-grained coordinates, profiles, or native modular references are required. The source code is marked MIT-licensed; the specification is separately marked CC BY 4.0.

_Full upstream README: https://allmcps.com/mcp/geml-a-plain-text-document-format-built-to-be-edited-in-place-on/readme_

