MarkdownMcp 1.0.1
dotnet tool install --global MarkdownMcp --version 1.0.1
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local MarkdownMcp --version 1.0.1
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MarkdownMcp&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package MarkdownMcp --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MarkdownMCP
MCP server for surgical markdown section editing. Lets LLMs work with large markdown files without reading the whole thing — parse the heading structure, read/write individual sections by path, search, sed, and more.
Install
dotnet tool install -g MarkdownMcp
Quick Start
Register with your MCP client:
# Claude Desktop, Cursor, Copilot
markdown-mcp install claude
markdown-mcp install cursor
markdown-mcp install copilot
# Claude Code
markdown-mcp install claude-code
Or start the server directly:
markdown-mcp serve
Tools
| Tool | Description |
|---|---|
get_toc |
Heading tree with line counts |
read_section |
Read a section by path |
replace_section |
Replace or create a section (upsert) |
delete_section |
Remove a section |
write_document |
Write an entire file |
search_sections |
Search by text or regex (ERE) |
get_context |
Get surrounding sections |
get_frontmatter |
Read YAML frontmatter |
set_frontmatter |
Update YAML frontmatter |
move_section |
Reorder sections |
sed_section |
Apply sed scripts to a section |
sed_document |
Apply sed scripts to entire file |
Section Paths
Sections are addressed by JSON arrays of heading names:
["Installation"]
["Installation", "Linux"]
["FAQ", ["Common Issues", 1]]
No # symbols — just heading text. Use [name, index] to disambiguate duplicate sibling headings.
Examples
get_toc(file: "spec.md")
read_section(file: "spec.md", path: '["Error Handling"]')
sed_section(file: "spec.md", path: '["Status"]', script: "s/TODO/DONE/g")
search_sections(file: "spec.md", query: "status:\\s*TODO", regex: true)
Concurrency
- Read/write locks per file for concurrent MCP tool calls
- Optimistic concurrency on writes detects external modifications (e.g. from other MCP servers editing the same file)
CLI
markdown-mcp serve Start MCP server (stdio)
markdown-mcp install <client> Configure for a client
markdown-mcp update Update via dotnet tool update
markdown-mcp --help Show help
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.