Labsco
MCP SERVER

Notemd MCP

by Jacobinwwey

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

Note-Taking & Personal Knowledge Bases
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