MCP ExplorerExplorer

XMind

@apeyrouxon 13 days ago
25 MIT
FreeCommunity
Knowledge Base
#XMind#Mind Mapping#Analysis#Productivity
Read and search through your XMind directory containing XMind files.

Overview

What is XMind

MCP XMind Server is a Model Context Protocol server designed for the analysis and querying of XMind mind maps. It provides versatile tools for searching, extracting, and analyzing content from XMind files, enhancing the way users interact with their mind maps.

Use cases

The server can be used for various purposes including managing tasks within mind maps, analyzing multiple mind map files, performing hierarchical navigation of content, and extracting specific nodes or tasks based on user-defined criteria.

How to use

To use the server, start by installing it through Smithery or manually. You can run the server with a command that specifies allowed directories. Various tools are available that allow users to read and analyze XMind files, extract tasks or nodes, and perform searches across documents.

Key features

Key features include smart fuzzy search capabilities, hierarchical content navigation, task management, link and reference extraction, support for labels and tags, directory scanning, and secure access to specified directories.

Where to use

MCP XMind Server can be utilized in contexts where mind mapping and project management are essential, such as in project planning, brainstorming sessions, or educational environments where visual information organization is beneficial.

Content

MCP XMind Server

smithery badge

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.

Features

  • 🔍 Smart fuzzy search across mind maps
  • 📝 Task management and tracking
  • 🌲 Hierarchical content navigation
  • 🔗 Link and reference extraction
  • 📊 Multi-file analysis
  • 🏷️ Label and tag support
  • 📂 Directory scanning
  • 🔒 Secure directory access

Installation

Installing via Smithery

To install XMind Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @41px/mcp-xmind --client claude

Manual Installation

npm install @modelcontextprotocol/sdk adm-zip zod
npm install --save-dev typescript @types/node

Usage

Starting the Server

node dist/index.js <allowed-directory> [additional-directories...]

Available Tools

  1. read_xmind

    • Parse and analyze XMind files
    • Extract complete mind map structure
  2. get_todo_tasks

    • Extract and analyze TODO tasks
    • Include task context and hierarchy
  3. list_xmind_directory

    • Recursively scan for XMind files
    • Filter and organize results
  4. read_multiple_xmind_files

    • Process multiple files simultaneously
    • Compare and analyze across files
  5. search_xmind_files

    • Search files by name patterns
    • Recursive directory scanning
  6. extract_node

    • Smart fuzzy path matching
    • Ranked search results
    • Complete subtree extraction
  7. extract_node_by_id

    • Direct node access by ID
    • Fast and precise retrieval
  8. search_nodes

    • Multi-criteria content search
    • Configurable search fields

Examples

Search for Nodes

{
  "name": "search_nodes",
  "arguments": {
    "path": "/path/to/file.xmind",
    "query": "project",
    "searchIn": [
      "title",
      "notes"
    ],
    "caseSensitive": false
  }
}

Extract Node

{
  "name": "extract_node",
  "arguments": {
    "path": "/path/to/file.xmind",
    "searchQuery": "Feature > API"
  }
}

List Tasks

{
  "name": "get_todo_tasks",
  "arguments": {
    "path": "/path/to/file.xmind"
  }
}

Configuration

Development Configuration

Example claude_desktop_config.json for development:

{
  "xmind": {
    "command": "node",
    "args": [
      "/Users/alex/Src/mcp-xmind/dist/index.js",
      "/Users/alex/XMind"
    ]
  }
}

Production Configuration

Example claude_desktop_config.json for production using npmjs:

{
  "xmind": {
    "command": "npx",
    "args": [
      "-y",
      "@41px/mcp-xmind",
      "/Users/alex/XMind"
    ]
  }
}

Security

  • Only allows access to specified directories
  • Path normalization and validation
  • Error handling for invalid access attempts

Development

Building

npm run build

Type Checking

npm run type-check

MCP Inspector

npx @modelcontextprotocol/inspector node dist/index.js /Users/alex/XMind

Tools

read_xmind
Parse and analyze XMind files with multiple capabilities: - Extract complete mind map structure in JSON format - Include all relationships between nodes with their IDs and titles - Extract callouts attached to topics - Generate text or markdown summaries - Search for specific content - Get hierarchical path to any node - Filter content by labels, task status, or node depth - Extract all URLs and external references - Analyze relationships and connections between topics Input: File path to .xmind file Output: JSON structure containing nodes, relationships, and callouts
list_xmind_directory
Comprehensive XMind file discovery and analysis tool: - Recursively scan directories for .xmind files - Filter files by creation/modification date - Search for files containing specific content - Group files by project or category - Detect duplicate mind maps - Generate directory statistics and summaries - Verify file integrity and structure - Monitor changes in mind map files Input: Directory path to scan Output: List of XMind files with optional metadata
read_multiple_xmind_files
Advanced multi-file analysis and correlation tool: - Process multiple XMind files simultaneously - Compare content across different mind maps - Identify common themes and patterns - Merge related content from different files - Generate cross-reference reports - Find content duplications across files - Create consolidated summaries - Track changes across multiple versions - Generate comparative analysis Input: Array of file paths to .xmind files Output: Combined analysis results in JSON format with per-file details
search_xmind_files
Advanced file search tool with recursive capabilities: - Search for files and directories by partial name matching - Case-insensitive pattern matching - Searches through all subdirectories recursively - Returns full paths to all matching items - Includes both files and directories in results - Safe searching within allowed directories only - Handles special characters in names - Continues searching even if some directories are inaccessible Input: { directory: Starting directory path, pattern: Search text to match in names } Output: Array of full paths to matching items
extract_node
Smart node extraction with fuzzy path matching: - Flexible search using partial or complete node paths - Returns multiple matching nodes ranked by relevance - Supports approximate matching for better results - Includes full context and hierarchy information - Returns complete subtree for each match - Best tool for exploring and navigating complex mind maps - Perfect for finding nodes when exact path is unknown Usage examples: - "Project > Backend" : finds nodes in any path containing these terms - "Feature API" : finds nodes containing these words in any order Input: { path: Path to .xmind file, searchQuery: Text to search in node paths (flexible matching) } Output: Ranked list of matching nodes with their full subtrees
extract_node_by_id
Extract a specific node and its subtree using its unique ID: - Find and extract node using its XMind ID - Return complete subtree structure - Preserve all node properties and relationships - Fast direct access without path traversal Note: For a more detailed view with fuzzy matching, use "extract_node" with the node's path Input: { path: Path to .xmind file, nodeId: Unique identifier of the node } Output: JSON structure of the found node and its subtree
search_nodes
Advanced node search with multiple criteria: - Search through titles, notes, labels, callouts and tasks - Filter by task status (todo/done) - Find nodes by their relationships - Configure which fields to search in - Case-sensitive or insensitive search - Get full context including task status - Returns all matching nodes with their IDs - Includes relationship information and task status Input: { path: Path to .xmind file, query: Search text, searchIn: Array of fields to search in ['title', 'notes', 'labels', 'callouts', 'tasks'], taskStatus: 'todo' | 'done' (optional), caseSensitive: Boolean (optional) } Output: Detailed search results with task status and context

Comments