A Model Context Protocol server for analyzing and querying XMind mind maps. This tool provides powerful capabilities for searching, extracting, and analyzing content from XMind files.
- 🔍 Smart fuzzy search across mind maps
- 📝 Task management and tracking (todo/done status)
- 🌲 Hierarchical content navigation
- 🔗 Link and reference extraction
- 📊 Multi-file analysis
- 🏷️ Label and tag support
- 📂 Directory scanning
- 🔒 Secure directory access
npx @apeyroux/mcp-xmind /path/to/xmind/filesgit clone https://github.com/apeyroux/mcp-xmind.git
cd mcp-xmind
npm install
npm run buildnode dist/index.js <allowed-directory> [additional-directories...]-
read_xmind
- Parse and analyze XMind files
- Extract complete mind map structure with relationships
-
list_xmind_directory
- Recursively scan for XMind files
- Filter and organize results
-
read_multiple_xmind_files
- Process multiple files simultaneously
- Compare and analyze across files
-
search_xmind_files
- Search files by name patterns
- Search within file content
- Recursive directory scanning
-
extract_node
- Smart fuzzy path matching
- Ranked search results
- Complete subtree extraction
-
extract_node_by_id
- Direct node access by ID
- Fast and precise retrieval
-
search_nodes
- Multi-criteria content search
- Filter by task status (todo/done)
- Search in titles, notes, labels, callouts
- Case-sensitive/insensitive options
{
"name": "search_nodes",
"arguments": {
"path": "/path/to/file.xmind",
"query": "project",
"searchIn": ["title", "notes"],
"caseSensitive": false
}
}{
"name": "search_nodes",
"arguments": {
"path": "/path/to/file.xmind",
"query": "",
"taskStatus": "todo"
}
}{
"name": "extract_node",
"arguments": {
"path": "/path/to/file.xmind",
"searchQuery": "Feature > API"
}
}Add to your claude_desktop_config.json:
{
"mcpServers": {
"xmind": {
"command": "npx",
"args": [
"-y",
"@apeyroux/mcp-xmind",
"/path/to/your/xmind/files"
]
}
}
}{
"mcpServers": {
"xmind": {
"command": "node",
"args": [
"/path/to/mcp-xmind/dist/index.js",
"/path/to/your/xmind/files"
]
}
}
}- Only allows access to specified directories
- Path normalization and validation
- Error handling for invalid access attempts
npm run buildnpm testnpm run watch # TypeScript compilation
npm run test:watch # Testsnpx @modelcontextprotocol/inspector node dist/index.js /path/to/xmind/filesMIT