Token-efficient markdown analysis tool for LLM consumption exposed as an MCP server
mdm-mcp presents a well-designed, focused markdown analysis toolkit with clear naming conventions and comprehensive parameter descriptions. Tool names follow verb_noun patterns (md_search, md_context, md_structure), making intent obvious. All 7 tools have descriptions meeting the 10-1024 character guideline (range: 94 - 177 chars). Input schemas are consistently present with type definitions. However, output schemas are not documented anywhere in the source code, preventing LLMs from understanding what structure to expect from results. Error handling is present but lacks actionable recovery guidance. Tool compositions are clean and single-purpose, supporting proper chaining. Semantic search threshold and limit parameters show thoughtful design for result quality control.
Get incoming links to a markdown file. Shows what files reference/link to this document.
Get LLM-ready context from a markdown file. Provides compressed, token-efficient summaries at various detail levels.
Refresh the active database from every manifest directory. An optional path is appended to the manifest before the full refresh.
Search markdown documents by keyword search (headings, code blocks, lists, tables).
Get outgoing links from a markdown file. Shows what files this document references/links to.
Search markdown documents by meaning using semantic search. Returns relevant sections based on natural language queries.
Output schemas completely undocumented. No tool in tools.ts declares what fields the result object contains, forcing LLMs to guess at response structure and preventing intelligent downstream tool chaining.
md_links schema object has 'global' and 'required' at the same nesting level, indicating a JSON schema structural error. The 'global' property should be inside 'properties'; 'required' should be an array at the object level.
Error handling guidance absent. Tools reference underlying failure modes (invalid paths, threshold violations, regex errors in md_keyword_search) but handlers.ts is not provided, so recovery instructions cannot be verified. Code review cannot confirm actionable error messages.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 23 | - | v1 |
Get the structure/outline of a markdown file. Shows heading hierarchy with token counts.
md_index is a write operation that refreshes and reprocesses files, but description does not explicitly state this is a state-modifying operation. LLMs may not recognize the side effects or understand idempotency guarantees.
md_keyword_search 'heading' parameter accepts regex but only documents a length and quantifier constraint, not the format or what fields it matches. No examples of valid heading patterns provided.