XMind MCP Server - 思维导图创建/分析/转换(别名兼容、递归列举)
Project description
🧠 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
pythonorpip - IDE 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 --help
Local 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.xmind
Batch 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_master_frank_xmindmcp-1.3.9.tar.gz.
File metadata
- Download URL: iflow_mcp_master_frank_xmindmcp-1.3.9.tar.gz
- Upload date:
- Size: 54.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6f6ef787c1194b7b772514d66d297978c3c560b8fd772f792c25da1e8e3492e
|
|
| MD5 |
f767b754dfc5109aa68ac44ca29ee804
|
|
| BLAKE2b-256 |
9aa52f793d8cb24bc71a59d3f4e53435e1e3abbadcdaba96a6192df3e19d91c3
|
File details
Details for the file iflow_mcp_master_frank_xmindmcp-1.3.9-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_master_frank_xmindmcp-1.3.9-py3-none-any.whl
- Upload date:
- Size: 66.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc8c3894fd5aede69be3d3adca230b533d787e0e0fffb8e352aa53ea457a3726
|
|
| MD5 |
245f44d93b646880d4afe9f5a7d9524d
|
|
| BLAKE2b-256 |
5c767051e98ec4feb1986ebb058460ab663d68a76d0038b332d0ebdd87c9f97c
|