Turn text, web pages and PDFs into interactive mind maps. MCP server + CLI, no API key.
MCPpedia last refreshed this data
io.github.qingchejun/mindlm-mcp is an MCP server that turn text, web pages and PDFs into interactive mind maps. MCP server + CLI, no API key. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 85/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"mindlm": {
"env": {
"MINDMAP_OUTPUT_DIR": "~/Documents/mindmaps"
},
"args": [
"-y",
"mindlm-mcp",
"serve"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Turn text, web pages and PDFs into interactive mind maps. MCP server + CLI, no API key.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked mindlm-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in browser
Open-source web scraper for AI agents with scrape, crawl, and map tools
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
Firecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.
MCP Security Weekly
Get CVE alerts and security updates for io.github.qingchejun/mindlm-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Turn text, web pages and PDFs into interactive mind maps — an MCP server and a command-line tool, with no API key required.

npx -y mindlm-mcp demo
That renders a built-in example and opens it. One HTML file, no build step, no account, no key.
Docs and a live demo: https://qingchejun.github.io/mindlm-io/ · Source: https://github.com/qingchejun/mindlm-io
Every client runs the same command — npx -y mindlm-mcp serve — and needs no environment
variables. MINDMAP_OUTPUT_DIR below is optional; it just decides where exported files land.
claude mcp add mindlm -- npx -y mindlm-mcp serve
Scope it to one project with --scope project, and pass environment variables with -e:
claude mcp add mindlm -e MINDMAP_OUTPUT_DIR=~/Documents/mindmaps -- npx -y mindlm-mcp serve
Check it with claude mcp list, or /mcp inside a session.
Add this to claude_desktop_config.json, then restart the app:
{
"mcpServers": {
"mindlm": {
"command": "npx",
"args": ["-y", "mindlm-mcp", "serve"],
"env": {
"MINDMAP_OUTPUT_DIR": "~/Documents/mindmaps"
}
}
}
}
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonThe same block goes in ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"mindlm": {
"command": "npx",
"args": ["-y", "mindlm-mcp", "serve"]
}
}
}
Ready-to-copy versions of all three live in examples/configs/.
Then ask for a mind map in plain language — "make a mind map of this PDF", "map out https://example.com/article" — and the client picks the right tool.
Four tools, always advertised in this order. The three *_to_mindmap tools return a Markdown
outline; export_mindmap turns an outline into an HTML file. Every result carries both a readable
text block and structuredContent.
text_to_mindmapOutline text or Markdown you already have — a draft, notes, a transcript, a pasted chapter.
| Field | Type | Notes |
|---|---|---|
text | string, required | The content to map. Capped by MINDMAP_MAX_INPUT_CHARS. |
mode | auto | client | llm | heuristic | Default auto. |
title | string | Root node title. Derived from the source if omitted. |
maxDepth | int 2–6 | Levels including the root. Default 4. |
maxChildren | int 3–15 | Children kept per node. Default 8. |
language | string | e.g. "English", "中文". Defaults to the source language. |
export | boolean | Also render an HTML file and return its path. |
outputPath | string | Where that file goes. |
Input:
{
"text": "# Tides\n\nSpring tides are the largest of the month.\n\n## Neap\n\nNeap tides are the smallest.\n"
}
structuredContent (default auto mode with no API key, i.e. client mode):
{
"title": "Tides",
"markdown": "# Tides\n\n## Spring tides are the largest of the month.\n\n### Neap\n- Neap tides are the smallest.\n",
"mode": "client",
"stats": { "inputChars": 79, "nodes": 4, "depth": 4, "truncated": false },
"sourceText": "# Tides\n\nSpring tides are the largest of the mo
... [View full README on GitHub](https://github.com/qingchejun/mindlm-io#readme)