GEML — MCP-сервер для Claude Code: что делает и как установить
MCP-сервер над текстовым форматом с именованными блоками: агент читает и правит одну секцию по адресу, а не весь файл. Пригодится, когда документ растёт и каждая перезапись бьёт по контексту.
claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcpЧто делает GEML — a plain-text document format built to be edited in place, one section at a time
GEML — текстовый формат, где у каждого блока есть имя, и MCP-сервер, который по этому имени работает. Агент запрашивает секцию #key-features вместо целого файла: в контекст попадает она одна, сколько бы документ ни рос. Глаголы короткие — list, find, get, set, replace.
Внутри блока адресуемо всё. Ячейка таблицы #fy[2]["Q1"], лист JSON-блока #intake["fields"][1]["name"] — у каждого значения уже есть координата, и set попадает ровно в неё. history save кладёт ревизию в README.md.gemlhistory рядом с документом, оттуда правку можно прочитать или откатить. Конвертировать ничего не нужно: geml list README.md и geml get README.md '#key-features' работают на вашем .md, и файл остаётся .md.
Подключение идёт либо через удалённый endpoint по HTTP, либо локально командой npx -y @geml/geml, для второго нужен Node.js. Формат === code {#hello lang=python} одинаков для кода, таблиц, диаграмм и метаданных, так что учить отдельный синтаксис под каждый тип не приходится. Если держите исходник в .geml, экспорт --to md собирается из него, и разойтись этим двум негде.
Какие задачи решает
- прочитать одну секцию README, не втягивая файл в контекст
- переписать блок кода по имени, оставив остальные байты нетронутыми
- достать отдельную ячейку таблицы или лист из JSON-блока
- откатить правку к сохранённой ревизии документа
- найти блок, в котором лежала заменяемая строка
Примеры запросов агенту
- Покажи все секции
README.mdи прочитай только#key-features. - Замени текст в секции
#key-featuresи сохрани ревизию с сообщениемtighten intro. - Достань значение ячейки
#fy[2]["Q1"]изdoc.geml.
Как установить GEML — a plain-text document format built to be edited in place, one section at a time
1Командой платформы: удалённый сервер
claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcp2Командой платформы
claude mcp add geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t -- npx -y @geml/geml1Командой платформы: удалённый сервер
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/mcp2Командой платформы
codex mcp add geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t -- npx -y @geml/gemlФайл настроек
{
"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"
]
}
}
}Файл настроек
{
"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"
]
}
}
}1Командой платформы: удалённый сервер
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/mcp2Командой платформы
gemini mcp add geml-a-plain-text-document-format-built-to-be-edited-in-place-one-section-at-a-t npx -y @geml/gemlПо шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о GEML — a plain-text document format built to be edited in place, one section at a time
Как установить GEML в Claude Code?
Так: claude mcp add --transport http geml https://geml-mcp.supermarket.workers.dev/mcp. Команда подключает удалённый endpoint по HTTP, локально ставить ничего не надо.
Что делает GEML?
Даёт агенту адреса блоков в текстовом документе и команды чтения и записи по этим адресам. Работает на обычном Markdown и на файлах .geml.
Нужно ли переводить существующий Markdown в GEML?
Нет. list, find и get берут ваш .md как есть, новый файл не создаётся. Формат .geml нужен, когда править хочется мельче секции — отдельный блок, таблицу, диаграмму.