Labsco
MCP SERVER

Markdown Navigation MCP

by yoseforb

Read one section of a 2,000-line markdown file instead of loading the whole document into context.

Document Conversion, PDF & Translation
Summary
Structure first, then the section — not the whole file.

The pattern it enables is three cheap calls instead of one expensive read: see the tree, find the section's bounds, read that section. On a 2,000-line planning document that is the difference between a task being answerable and the context being spent before the work starts.

What it is

A Go MCP server that navigates large markdown files by structure, using Universal Ctags to index headings and reading only the sections you ask for.

What you get
  • Document structure shown as a tree, in ASCII or JSON, with the heading depth capped where you want it and defaulting to H1 plus H2
  • Sections listed with a maximum heading level and an optional regex filter on the name
  • Line-number boundaries for a named section, for when you need the range rather than the text
  • The content of one section read by its exact heading, with subsection depth limited or taken in full
  • Ctags run automatically on demand, with results cached and the cache invalidated when the file changes
  • Token use on large documentation, planning files and specifications cut down by reading sections instead of whole files
Requirements

Universal Ctags installed (`brew install universal-ctags`, or the apt or dnf equivalent) and a recent Go to build the binary. No account and no key.

Setup effort

One command — mdnav-server