Point this at a directory of markdown files and you get six tools: full-text search across all docs, section extraction by heading name, table of contents listing, code block discovery with optional language filtering, and frontmatter parsing. It's built for the markdown that lives in your repo but doesn't get indexed anywhere: ADRs, internal wikis, onboarding guides, architecture notes. The filesystem server reads these as plain text, but this one understands structure. Search returns up to 50 results, section extraction stops at the next same-level heading, and code block queries let you filter by language. Works over stdio with npx, no authentication required.
Public tool metadata for what this MCP can expose to an agent.
to-markdownGenerate markdown description for files including PDF (.pdf), Images (.jpeg, .jpg, .png, .webp, .svg), HTML (.html), XML (.xml), Microsoft Office (.xlsx, .xlsm, .xlsb, .xls, .et), Open Document Format (.ods), CSV (.csv), and Apple Documents (.numbers)1 paramsGenerate markdown description for files including PDF (.pdf), Images (.jpeg, .jpg, .png, .webp, .svg), HTML (.html), XML (.xml), Microsoft Office (.xlsx, .xlsm, .xlsb, .xls, .et), Open Document Format (.ods), CSV (.csv), and Apple Documents (.numbers)
filePathsarraySearch, navigate, and extract content from local markdown files. Full-text search, section extraction, heading navigation, code block discovery, and frontmatter parsing.
npx mcp-server-markdown
Works with Claude Desktop, Cursor, VS Code Copilot, and any MCP client. Reads local
.mdfiles, no auth needed.

Demo built with remotion-readme-kit
Tools like Context7 are great for looking up library docs from npm, but they don't help with your own documentation. Project wikis, internal knowledge bases, architecture decision records, onboarding guides: they all live as markdown files in your repo or on disk. The filesystem MCP server can read those files, but it treats them as raw text. It doesn't understand headings, sections, or code blocks. This server does. Point it at a directory and your assistant can search across all your docs, pull out a specific section by heading, list the table of contents, or find every TypeScript code example in your knowledge base.
| Tool | What it does |
|---|---|
list_files | List all .md files in a directory recursively (sorted alphabetically) |
search_docs | Full-text search across all .md files (case-insensitive, up to 50 results) |
get_section | Extract a section by heading until the next heading of same/higher level |
list_headings | List all headings as a table of contents |
find_code_blocks | Find fenced code blocks, optionally filter by language (e.g. typescript) |
get_frontmatter | Parse YAML frontmatter metadata at the start of a file |
Add to .cursor/mcp.json:
{
"mcpServers": {
"markdown": {
"command": "npx",
"args": ["-y", "mcp-server-markdown"]
}
}
}
Add to claude_desktop_config.json:
{
"mcpServers": {
"markdown": {
"command": "npx",
"args": ["-y", "mcp-server-markdown"]
}
}
}
Add to user settings or .vscode/mcp.json:
{
"mcp": {
"servers": {
"markdown": {
"command": "npx",
"args": ["-y", "mcp-server-markdown"]
}
}
}
}
git clone https://github.com/ofershap/mcp-server-markdown.git
cd mcp-server-markdown
npm install
npm test
npm run build
More MCP servers and developer tools on my portfolio.
README built with README Builder
MIT © 2026 Ofer Shapira
csoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.xjtlumedia/markdown-formatter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc