Converts Markdown files to XMind mind map format, with support for structure detection and batch processing.
Uses Mermaid diagrams in documentation to visualize the architecture and data flow of the XMind conversion system.
Provides Python-based tools for creating, analyzing, and converting multiple file formats to XMind mind maps with AI-powered structure analysis.
Converts XML files to XMind mind map format with structure preservation.
Converts YAML files to XMind mind map format with structure detection.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@XMind AI MCPconvert my meeting notes from markdown to a mind map"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§ XMind AI MCP β Intelligent Mind Mapping Toolkit
A robust toolkit for converting multiple formats to XMind, with AI analysis and a UVX-deployed MCP server.
Changelog
1.3.1: Fix
analyze_mind_mapcompatibility with new read structure (nodata.structure).
π Core Features
1. Universal File Converter
Multi-format conversion: Markdown, Text, HTML, Word, Excel β XMind
Smart detection: Auto-detect file types and structure
Batch processing: Convert multiple files at once
Flexible output: Custom output paths and naming
2. MCP Server (UVX)
UVX-only deployment: no direct
pythonorpipIDE integration: Works seamlessly with Trae and MCP tools
FastMCP and STDIO modes supported
3. AI-Powered Analysis
Structure analysis: Optimize mind map structure
Topic suggestions: AI-generated recommendations
Quality metrics: Comprehensive assessment and validation
π Project Structure
XmindMcp/
βββ configs/ # MCP server config
βββ docs/ # Documentation and guides
βββ examples/ # Sample inputs
βββ output/ # Generated XMind files
βββ tests/ # Test suite
βββ universal_xmind_converter.py # Standalone converter CLI
βββ xmind_core_engine.py # Core engine
βββ xmind_mcp_server.py # MCP server (FastMCP / STDIO)
βββ xmind_mcp/ # Package entry (`xmind-mcp`)
β βββ __init__.py
β βββ __main__.py
βββ configs/mcp_config.json # MCP server configuration (env only)π Architecture Overview
graph TD
User([User]) -->|CLI| Converter[universal_xmind_converter.py]
User -->|MCP| MCP[xmind_mcp_server.py]
User -->|Tests| TestRunner[tests/run_all_tests.py]
MCP -->|Tools| Core[xmind_core_engine.py]
Core -->|Convert| Converter
Core -->|Validate| Validator[validate_xmind_structure.py]
Core -->|AI| AIExt[xmind_ai_extensions.py]
Converter -->|Read| Examples[examples/]
Converter -->|Write| Output[output/]
classDef userLayer fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef serverLayer fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef engineLayer fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
classDef fileLayer fill:#fce4ec,stroke:#880e4f,stroke-width:2px
class User,TestRunner userLayer
class MCP serverLayer
class Core,AIExt engineLayer
class Examples,Output fileLayerπ§ Quick Start (UVX)
Install UV (if not installed)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Run (published package)
uvx xmind-mcp --mode fastmcp
uvx xmind-mcp --version
uvx xmind-mcp --helpLocal development (in repo root)
uvx --from . xmind-mcp --mode fastmcp
# Fallback (STDIO)
uvx xmind-mcp --stdioπ₯οΈ Trae MCP Integration (UVX)
Standard configuration (recommended)
{
"mcpServers": {
"xmind-mcp": {
"command": "uvx",
"args": ["xmind-mcp"],
"env": {
"PYTHONIOENCODING": "utf-8",
"PYTHONUTF8": "1"
},
"description": "XMind MCP - UVX installed",
"disabled": false,
"autoApprove": []
}
}
}Local development configuration (no absolute paths)
{
"mcpServers": {
"xmind-mcp": {
"command": "uvx",
"args": ["--from", ".", "xmind-mcp"],
"env": {
"PYTHONIOENCODING": "utf-8",
"PYTHONUTF8": "1"
},
"description": "XMind MCP - local development",
"disabled": false,
"autoApprove": []
}
}
}π¦ Standalone Conversion (CLI)
Single file
python universal_xmind_converter.py examples/test_markdown.md
python universal_xmind_converter.py examples/test_document.docx --output output/my_mind_map.xmindBatch conversion
python universal_xmind_converter.py examples/ --batch
python universal_xmind_converter.py examples/ --batch --format markdown,html,txtπ οΈ Available MCP Tools
read_xmind_file(file_path)β read XMind contentcreate_mind_map(title, topics_json, output_path?)β create a new mapanalyze_mind_map(file_path)β analyze structure and metricsconvert_to_xmind(source_filepath, output_filepath?)β convert files to XMindlist_xmind_files(directory?, recursive?)β list XMind filestranslate_xmind_titles(source_filepath, output_filepath?, target_lang?, overwrite?)
β Usage Examples (Trae MCP)
Convert a Markdown file
convert_to_xmind({
"source_filepath": "examples/test_markdown.md"
# omit output_filepath to use the server's default absolute output directory (if configured)
})Create a mind map (use default_output_dir in config)
create_mind_map({
"title": "Project Plan",
"topics_json": [{"title": "Milestone 1"}, {"title": "Milestone 2"}]
# do not pass output_path if a default absolute output directory is configured
})Analyze an existing map
analyze_mind_map({
"file_path": "output/test_markdown.xmind"
})βοΈ Paths & Configuration
Examples in docs use project-relative paths for readability.
For MCP output tools, configure a default absolute output directory via MCP config env (
configs/mcp_config.json) or CLI--default-output-dir.If no default is configured, pass an explicit absolute
output_path/output_filepathin tool calls; relative paths are rejected by MCP output tools.
π§ͺ Run Tests
python tests/run_all_tests.py
python tests/run_all_tests.py --english
python tests/test_setup.py
python tests/test_core.pyπ Documentation
docs/TRAE_MCP_SETUP.mdβ IDE MCP configurationdocs/UNIVERSAL_CONVERTER_USAGE.mdβ standalone converter usagedocs/xmind_ai_mcp_design.mdβ architecture and design
π¨ Supported Formats
Markdown (
.md,.markdown)Text (
.txt,.text)HTML (
.html,.htm)Word (
.docx)Excel (
.xlsx)CSV (
.csv)JSON (
.json)XML (
.xml)YAML (
.yaml,.yml)
π€ Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/your-feature)Commit (
git commit -m "feat: add your feature")Push (
git push origin feature/your-feature)Open a Pull Request
π Validation & Quality
9 file formats validated for conversion
Structure integrity maintained
Content fidelity preserved
XMind format compliance ensured
π License
MIT License β see LICENSE for details.
π Acknowledgments
XMind team for the excellent mind mapping tool
Trae IDE for the powerful development environment
All contributors who helped improve this project