md-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_indexA | Return the section index of a Markdown file as a nested tree. Each node: {"heading": str, "level": int, "path": str, "children": [...]} The "path" field is the dot-separated address used by all other tools. Literal dots in heading text are represented as . in path strings. |
| get_sectionA | Return the heading line(s) and body of the section at
Raises an error string if the path does not exist. |
| search_sectionsA | Search all section bodies for lines matching Returns a list of match objects — one per section that contains at least one hit — in file order:
|
| add_sectionA | Insert a new section into a Markdown file.
|
| replace_sectionA | Replace the body of a section, preserving its heading line. The heading line is kept unchanged; only the body text is replaced. Returns "ok" on success. |
| patch_sectionA | Return a unified diff of what replace_section would do, without writing. Useful for previewing changes before committing them. Returns the unified diff as a string (empty string if no changes). |
| delete_sectionA | Delete a section from a Markdown file. With include_children=True (default): deletes the heading, its body, and all child sections. With include_children=False: deletes only the heading and its own body; child sections are promoted. Returns "ok" on success. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: adding, deleting, getting index, getting content, previewing replacement, replacing, and searching. Even the closely related patch_section and replace_section serve different functions (preview vs action). No overlap.
All tool names follow a consistent verb_noun pattern in snake_case (add_section, delete_section, get_index, get_section, patch_section, replace_section, search_sections). Deviations are absent.
7 tools is well-scoped for the domain of Markdown section manipulation. Each tool addresses a core operation without redundancy, and the count is neither too few nor too many.
The toolset covers essential CRUD-like operations (add, read, update, delete) plus search and preview. However, it lacks a tool to rename a section heading or move sections, which are minor gaps in a complete lifecycle.