{"name":"io.github.markup-carve/carve-mcp","slug":"markup-carve-carve-mcp","title":"Carve","description":"Parse, lint, format, render, and migrate Carve documents through MCP.","url":"https://mcp.market/server/markup-carve-carve-mcp","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":27,"stars":0,"forks":0,"downloads_week":54,"last_push_at":"2026-09-19T10:44:20.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/markup-carve/carve-mcp","website":"https://markup-carve.github.io/carve/","version":"0.1.4","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@markup-carve/carve-mcp","version":"0.1.4","transport":{"type":"stdio"}}],"tools":[{"name":"carve_apply_ast_patch","description":"Validate and apply structured operations to a PART 12 Carve AST, returning the patched AST and canonical Carve source.","write_action":true,"price_micros":0,"input_schema":null},{"name":"carve_apply_reversible_ast_patch","description":"Verify a reversible AST patch against source, apply or undo it, and return a minimal stale-guarded UTF-8 source edit without writing files.","write_action":true,"price_micros":0,"input_schema":null},{"name":"carve_create_ast_patch","description":"Compare two PART 12 Carve ASTs and return position-independent add, replace, and remove operations.","write_action":true,"price_micros":0,"input_schema":null},{"name":"carve_create_reversible_ast_patch","description":"Compare two PART 12 ASTs and return forward and inverse operations with semantic stale-edit fingerprints.","write_action":true,"price_micros":0,"input_schema":null},{"name":"carve_format","description":"Format Carve source canonically and report any lossy raw-format nodes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_lint","description":"Check Carve source for author-facing problems and silent degradation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_list_files","description":"List supported document files inside an explicitly configured root, with bounded recursion and no host paths.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_migrate","description":"Migrate HTML, Markdown, or Djot source to Carve with fidelity diagnostics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_parse","description":"Parse and resolve Carve into its position-aware interchange AST.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_prepare_edit","description":"Read and canonically format a Carve workspace file without writing. A lossless result includes a stale-guarded patch with UTF-8 byte ranges; a lossy writer-review result has patch: null.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_prepare_workspace_edits","description":"Prepare bounded formatting proposals and unified diffs without writing. Lossless items include stale-guarded UTF-8 byte patches; lossy writer-review items have patch: null.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_read_file","description":"Read a UTF-8 text file inside an explicitly configured workspace root.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_render","description":"Render Carve to HTML, Markdown, plain text, or ANSI terminal text, with loss reporting.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_review_workspace","description":"Lint Carve files and validate explicit local document links and anchors across a bounded workspace scan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_select_ast_nodes","description":"Resolve a heading ID, footnote label, or node type to reviewable PART 12 AST paths without silently choosing among multiple matches.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_workspace_info","description":"List root indexes and whether writes are enabled. Paths are intentionally not exposed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"carve_write_file","description":"Dry-run by default; atomically write UTF-8 text only when dryRun is false. Overwrites require the hash returned by carve_read_file.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":91,"grade":"A","scanned_at":"2026-09-19T20:53:56.099Z","report":{"scannerVersion":"0.1.7","scannedAt":"2026-09-19T20:53:56.092Z","components":{"code":{"score":25,"max":25,"notes":["31 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@markup-carve/carve-mcp","version":"0.1.4","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-09-09T13:50:43.607Z","repositoryUrl":"git+https://github.com/markup-carve/carve-mcp.git","weeklyDownloads":54}],"repo":{"found":true,"owner":"markup-carve","repo":"carve-mcp","archived":false,"pushedAt":"2026-09-19T10:44:20Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/284331685?v=4","ownerCreatedAt":"2026-05-13T13:37:25Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/284331685?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":54,"license":"MIT","lastPushAt":"2026-09-19T10:44:20.000Z","score":27}}}},"grade_history":[],"reviews":[]}