carve-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| carve_lintA | Check Carve source for author-facing problems and silent degradation. |
| carve_diagnose_and_fixB | Diagnose Carve source, propose bounded fixes, and optionally apply selected safe fix IDs with forward and undo patches. Writer-review fixes are never applied automatically. |
| carve_formatA | Format Carve source canonically and report any lossy raw-format nodes. |
| carve_renderB | Render Carve to HTML, Markdown, plain text, or ANSI terminal text, with loss reporting. |
| carve_check_targetsA | Compare one Carve document across HTML, Markdown, plain text, ANSI, GitHub, WordPress, and PDF-stage profiles, returning target-specific warnings, losses, and fallbacks. |
| carve_parseB | Parse and resolve Carve into its position-aware interchange AST. |
| carve_create_ast_patchA | Compare two PART 12 Carve ASTs and return position-independent add, replace, and remove operations. |
| carve_apply_ast_patchA | Validate and apply structured operations to a PART 12 Carve AST, returning the patched AST and canonical Carve source. |
| carve_select_ast_nodesA | Resolve an element ID on any node, a heading ID, footnote label, node type, or current AST path to reviewable PART 12 AST paths without silently choosing among multiple matches. |
| carve_get_blockA | Return the exact source text of the nodes a selector matches, or a heading's section, with UTF-8 byte offsets and the source sha256. No AST unless includeAst. |
| carve_replace_sourceA | Splice Carve text over the exact source bytes of one selected node or heading section, leaving every other byte untouched. Refuses if the node kind changes, the rest of the document parses differently, or new lint findings appear. Returns forward and undo patches. |
| carve_plan_ast_editA | Plan one or more atomic semantic AST edits and return a human-readable, reversible, stale-guarded source patch without writing the document. |
| carve_create_reversible_ast_patchA | Compare two PART 12 ASTs and return forward and inverse operations with semantic stale-edit fingerprints. |
| carve_apply_reversible_ast_patchA | Verify a reversible AST patch against source, apply or undo it, and return a minimal stale-guarded UTF-8 source edit without writing files. |
| carve_migrateA | Migrate HTML, Markdown, Djot, or BBCode source to Carve with version 2 fidelity diagnostics. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review-document | Review a Carve document for clear, correct, human-focused writing. |
| convert-markdown | Convert Markdown to Carve while explaining fidelity warnings. |
| prepare-for-github | Check a Carve document for GitHub-specific publishing surprises. |
| explain-warnings | Turn Carve diagnostics into concise, actionable writing guidance. |
| preview-document | Render and assess a document without changing its source. |
| review-workspace | Review an authorized documentation workspace as a bounded project. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| carve-authoring-guide | Concise, human-facing guidance for common Carve writing tasks. |
| carve-rule-index | Versioned map of the normative rule categories and lookup resource. |
TDQS
Scored across 15 tools
The patch/edit cluster has unclear boundaries: carve_plan_ast_edit, carve_create_ast_patch, and carve_create_reversible_ast_patch all produce patches, while carve_apply_ast_patch and carve_apply_reversible_ast_patch both apply them, and carve_replace_source provides yet another source-editing path. An agent must reason carefully about reversible vs. non-reversible and AST-level vs. source-level before selecting, and carve_diagnose_and_fix partially overlaps with lint/format plus plan-and-apply flows.
All names use the carve_ prefix with snake_case and a dominant verb_noun convention (create_ast_patch, apply_ast_patch, select_ast_nodes, get_block, replace_source). The only minor deviation is that several tools are verb-only (format, lint, render, parse, migrate), but the pattern remains predictable and readable.
Fifteen tools is at the upper edge of a reasonable scope for a markup-language toolchain spanning parsing, formatting, linting, rendering, migration, and editing. However, the count is inflated by the redundant reversible/non-reversible patch pairs, so not every tool clearly earns an independent place.
The surface covers the full lifecycle well: parse, format, lint, render across multiple targets, migrate, diagnose/fix, inspect blocks, and create/apply patches with undo. Minor gaps exist around direct document persistence (tools explicitly avoid writing files) and general insertion/append operations outside the patch model, but agents can work around these.