Skip to main content
Glama

Create or replace one md file (validated exactly like the typed operations)

write_file
DestructiveIdempotent

Create or replace one md file (validated exactly like the typed operations).

version: null creates the file and fails with 409 if it already exists. An existing comment cannot be changed here (403) — use update_comment / delete_comment (D90). project.md (D102): the status keys color, meaning, source and removing are kept from the stored file (values sent are ignored) — they change only through the web column editor. Columns need Premium here too (D102, D100): on a company that is not on Premium, a project.md write whose statuses differ from the stored ones in any way (a status added, removed, renamed, reordered, or its category changed — colour / meaning are ignored as above) → 403 plan_required (details.plan premium; board-tenant unreachable → 503 unavailable), with one exception on every plan: adding the default Backlog column to a kanban board (D61, board-web's "Add Backlog column") — {id: backlog, name: Backlog, category: todo} put first while every stored status stays as it was, in the same order (transitions may change with it). On Hold (D81) stays on update_project_settings on every plan. On Premium the write is checked like update_board_columns: at least one done-category column (422 no_done_column), names unique ignoring case and surrounding spaces (422 duplicate_name, details.names), a stored kanban / pipeline Backlog column stays first (422 backlog_column, D105), and a column being emptied by a column job cannot be dropped (409 column_job_running, details.ids); like before, write_file does not move issues of a removed status (use the column editor for that). Other keys of project.md are not affected.

Validated exactly like the typed tools. Prefer the typed tools (update_issue, add_comment, …) — use this for md content they do not cover. version: null creates a new file (409 if it already exists). docs/… paths are refused here: write project docs with create_doc / update_doc / delete_doc / restore_doc_version. Existing comments are edited only with update_comment / delete_comment. project.md: keep statuses as you read them — changing the board columns (add, remove, rename, reorder, category) needs the Premium plan (else 403 plan_required) and is meant for the web column editor; template, fields, saved_filters and timeline are read-only here too (the field editor, the filter popover and the Fields settings in the web app). An issue's fields in its frontmatter is checked exactly like update_issue fields (400 unknown_field / invalid_field_value / formula_readonly — rollup fields included) and its links like link_issues (cross-project keys, delivers → KEY/R-n).

WRITE: version must be the version from your latest read of this file (get_issue for issues, list_comments for comments, list_sprints for sprints, get_doc for project docs, read_file for md files). If the file changed since, the call fails with 409 version_conflict and the error contains the current file (details.current, details.current_version): re-read it, re-apply your change on top of the current content and retry with the new version. Never overwrite someone else's change blindly — if your change and theirs disagree, ask the user which to keep.

You act with exactly the rights of the user who owns this token; a project you cannot see returns not_found.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
pathYesA path inside `/c/{company_id}/p/{project_key}/` (spec §3.3). Nothing outside this layout can be written. `releases/…` (D113) are read here but written only through the release operations; people who do not manage releases (and their agents) read them as get_release shows them (gate / baseline / scope_log blanked; diff and history of a release file → 403), and every read answers 403 feature_disabled while releases are off. `docs/…` paths (D76) can be read, listed, diffed and shown in history here, but are written only through the docs operations (write_file refuses them).
messageNoCommit message; generated when omitted.
versionYes
frontmatterYes
project_keyYesProject key, e.g. `KJ`. 2–10 chars, uppercase letters and digits, starts with a letter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources