An MCP (Model Context Protocol) server that lets Claude read and write .xmind files. Use Claude to generate, edit, and analyze mind maps directly in XMind.
- Read existing
.xmindfiles as a structured JSON tree - Create new mind maps from scratch
- Add, update, and delete nodes
- Supports basic node styles (background color, text color, branch color)
- Includes a Claude Code skill for guided mind map editing workflow
- Python 3.10+
- Claude Code
- XMind (to view the generated files)
pip install mcpAdd to ~/.mcp.json:
{
"mcpServers": {
"xmind-tools": {
"command": "python3",
"args": ["/path/to/xmind-mcp/server.py"]
}
}
}Copy skills/xmind-editor/ to your Claude Code skills directory:
cp -r skills/xmind-editor ~/.claude/skills/Restart Claude Code after registration. Then ask Claude:
Help me create a mind map about AWS architecture, save to ~/Desktop/aws.xmind
Claude will plan the structure, confirm with you, then write the file. Open or reload the file in XMind to see the result.
| Tool | Description |
|---|---|
read_mindmap |
Read an .xmind file as a JSON tree |
write_mindmap |
Write a full JSON tree to an .xmind file |
add_node |
Add a child node under a parent |
update_node |
Update a node's title or style |
delete_node |
Delete a node and its children |
{
"id": "uuid",
"title": "Node title",
"style": {
"bg": "#ffffff",
"fg": "#000000",
"branch": "#3498db"
},
"children": []
}All style fields are optional. Colors are hex strings (#RRGGBB).
| Field | Description | Example |
|---|---|---|
bg |
Node background color | #ff0000 |
fg |
Text color | #ffffff |
branch |
Branch line color | #3498db |
border_color |
Border line color | #333333 |
Values sourced from official xmind-sdk-js and open source XMind implementations.
| Field | Description | Values |
|---|---|---|
shape |
Node shape | roundedRect rect underline ellipserect |
| Field | Description | Values |
|---|---|---|
branch_style |
Branch curve style | curve roundedElbow elbow straight arrowedCurve bight roundedfold |
branch_pattern |
Branch line pattern | solid dash handdrawn-dash none |
border_color |
Border line color | hex #RRGGBB |
border_width |
Border line width | "2pt" "0pt" |
border_pattern |
Border line pattern | solid dash handdrawn-dash none |
| Field | Description | Example |
|---|---|---|
bold |
Bold | true |
italic |
Italic | true |
strikethrough |
Strikethrough | true |
font_size |
Font size | "14pt" |
shapeandbranch_stylevalues are prefixed automatically — use the short name only (e.g."roundedRect", not"org.xmind.topicShape.roundedRect").
{
"id": "root",
"title": "My Project",
"children": [
{
"id": "node-1",
"title": "Critical",
"style": {
"bg": "#ff0000",
"fg": "#ffffff",
"branch": "#ff0000",
"bold": true,
"shape": "roundedRect"
},
"children": []
},
{
"id": "node-2",
"title": "Reference",
"style": {
"branch_pattern": "dash",
"border_color": "#999999",
"border_width": "1pt"
},
"children": []
}
]
}pip install -e ".[dev]"
pytest tests/MIT