Carve

io.github.markup-carvePublished by GitHub account markup-carvev0.1.12Updated Oct 29, 2026

Parse, lint, format, render, and migrate Carve documents through MCP.

VerifiedSTDIODesktop onlyFiles & StorageDeveloper Tools

Overview

AI-generated overview

MCP server for the Carve markup language: parse, lint, format, render, migrate and safely patch Carve documents from an assistant.

What you can do
  • Lint, diagnose and format Carve source, applying only selected safe fixes
  • Render Carve to HTML, Markdown, plain text or ANSI text and compare output across target profiles
  • Parse Carve into a position-aware AST and select nodes by ID, heading, footnote or path
  • Read exact source text of nodes or heading sections with byte offsets and a source hash
  • Plan, create and apply reversible AST patches, or splice replacement text over exact source bytes
  • Migrate HTML, Markdown, Djot or BBCode into Carve with fidelity diagnostics
When to use it
Useful when you work with Carve documents and want an assistant to check, format, convert or edit them without rewriting whole files. It suits targeted, reviewable edits where the rest of the document must stay byte-identical.
Requirements
Runs locally over stdio as an npm package (@markup-carve/carve-mcp), installed globally or via npx; needs Node.js. File access is limited to configured roots. No authentication, environment variables or headers are declared.
Before you install
Some tools produce source edits and patches; the server reports that it does not write files itself, so applying returned patches is up to the client. Fixes flagged for writer review are never applied automatically. File access is restricted to configured roots, so check which roots you grant.

Installation

In SourceWeft

  1. Open Carve in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Carve MCP server

MCP server for the Carve parser, linter, formatter, and renderers, using @markup-carve/carve 0.1.15 or later. File access is enabled only for configured roots. Read the Carve documentation for the language syntax.

Install

sh
npm install -g @markup-carve/carve-mcp

Usage

sh
carve-mcp --help

Documentation

License

MIT

Source: README.md at commit cdf92a2

Tools

15

carve_lint

Lint Carve

Check Carve source for author-facing problems and silent degradation.

Parameterssourcerequiredplatforms

carve_diagnose_and_fix

Diagnose and fix Carve

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.

ParameterssourcerequiredplatformsapplyFixIds

carve_format

Format Carve

Format Carve source canonically and report any lossy raw-format nodes.

ParameterssourcerequiredalignTables

carve_render

Render Carve

Render Carve to HTML, Markdown, plain text, or ANSI terminal text, with loss reporting.

ParameterspresetsourcerequiredtargetrequiredextensionsallowRawHtmlsanitizeUrlsstrictLossesasciiHeadingIdsmaxRenderLossessmartTypographylowercaseHeadingIds

carve_check_targets

Check Carve publishing targets

Compare one Carve document across HTML, Markdown, plain text, ANSI, GitHub, WordPress, and PDF-stage profiles, returning target-specific warnings, losses, and fallbacks.

Parameterssourcerequiredtargets

carve_parse

Parse Carve

Parse and resolve Carve into its position-aware interchange AST.

Parameterssourcerequiredpositions

carve_create_ast_patch

Create structured AST patch

Compare two PART 12 Carve ASTs and return position-independent add, replace, and remove operations.

Parametersafterrequiredbeforerequired

carve_apply_ast_patch

Apply structured AST patch

Validate and apply structured operations to a PART 12 Carve AST, returning the patched AST and canonical Carve source.

Parametersastrequiredoperationsrequired

carve_select_ast_nodes

Find AST nodes by semantic selector

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.

Parametersastrequiredselectorrequired

carve_get_block

Get Carve source blocks

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.

ParametersscopesourcerequiredselectorrequiredincludeAst

carve_replace_source

Replace Carve source of one node

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.

ParameterstextrequiredscopesourcerequiredselectorrequiredincludeSourceexpectedSha256

carve_plan_ast_edit

Plan a semantic AST edit

Plan one or more atomic semantic AST edits and return a human-readable, reversible, stale-guarded source patch without writing the document.

Parameterseditrequiredthensourcerequiredselectorrequired

carve_create_reversible_ast_patch

Create reversible AST patch

Compare two PART 12 ASTs and return forward and inverse operations with semantic stale-edit fingerprints.

Parametersafterrequiredbeforerequired

carve_apply_reversible_ast_patch

Preview reversible AST patch as source edits

Verify a reversible AST patch against source, apply or undo it, and return a minimal stale-guarded UTF-8 source edit without writing files.

ParameterspatchrequiredsourcerequiredinverseincludeAst

carve_migrate

Migrate to Carve

Migrate HTML, Markdown, Djot, or BBCode source to Carve with version 2 fidelity diagnostics.

ParametersformatrequiredsourcerequiredmarkdownDialect

Version history

8
  1. v0.1.12LatestOct 26, 2026
  2. v0.1.11Oct 25, 2026
  3. v0.1.10Oct 23, 2026
  4. v0.1.9Oct 18, 2026
  5. v0.1.8Oct 15, 2026
  6. v0.1.7Oct 8, 2026
  7. v0.1.6Oct 2, 2026
  8. v0.1.4Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts