LabscoMCP early access ↗
JacobinwweyMCP SERVER

Notemd MCP

Turn a folder of Markdown into a linked knowledge graph — automatic wiki-links, generated docs, web-researched summaries, and backlink repair when files move.

by Jacobinwwey ↗Note-Taking & Personal Knowledge BasesCommunity

LABSCO SUMMARY

Per-task model routing is the unusual part.

Most knowledge-base servers give you one provider for everything. Here link-building, research, title generation, translation, concept extraction and diagramming each take their own provider and model override, which matters because those tasks have genuinely different cost profiles — bulk wiki-linking on a cheap local model, research on a strong one. The backlink repair on rename and delete is the other quietly valuable piece: it is the step people forget, and broken links are what kill a graph.

What it is

The backend of the Notemd Obsidian plugin, running standalone as a FastAPI service with a Node bridge that exposes it over MCP. It processes Markdown content to find key concepts and wire them together as [[wiki-links]], generates full documentation from a title, summarises web research, and keeps the graph intact when files are renamed or deleted.

What you get

  • /process_content — enriches a block of text with [[wiki-links]], building the interconnected graph rather than leaving notes isolated
  • /generate_title — produces structured documentation from a single title or keyword, optionally with web research folded in
  • /research_summarize — searches the web through Tavily or DuckDuckGo and returns an LLM summary
  • Diagram and translation work: generate_diagram as the canonical flow with generate_experimental_diagram kept as a compatibility alias, preview variants that write no files, plus /translate_content and /summarize_as_mermaid
  • Extraction utilities — /extract_concepts for a deduplicated concept list, /extract_original_text for verbatim matches against reference content, /check_duplicates for normalized duplicate terms
  • Graph integrity: /handle_file_rename rewrites every backlink in the vault, /handle_file_delete removes links to a file that is gone
  • /batch_fix_mermaid — scans a folder and corrects common Mermaid.js and LaTeX syntax errors in .md files, which is the usual damage from LLM-generated content

Requirements

An LLM provider key — the config shows OPENAI_API_KEY and DEEPSEEK_API_KEY, and any OpenAI-compliant API works, including local models through LMStudio or Ollama. Web research additionally wants TAVILY_API_KEY unless you set the search provider to DuckDuckGo. Python 3.8+ with pip or uv for the Python path; Node.js and npx for the packaged route, which is npx notemd-mcp-server (the npm package is notemd-mcp-server, 0.6.1). Paths, providers and per-task model overrides all live in config.py, including VAULT_ROOT, which must point at your vault. MIT licensed.

Setup effort

One command plus a key — npx notemd-mcp-server, then supply credentials