XMind MCP

by mab-go

Not rated
GitHub

About

An MCP server for reading and writing local XMind mind map files. Exposes over 25 tools that let any MCP-compatible AI client create, navigate, and edit .xmind files directly on disk.

Details

Author
mab-go
Categories
Productivity, Other, File Management

Setup

Install XMind MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/mab-go/xmind-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

AnMCP (Model Context Protocol)server for reading and writing localXMindmind map files. XMind MCP exposes 27 tools that let any MCP-compatible AI client create, navigate, and edit.xmindfiles directly on disk.

- Any MCP-compatible client (Claude Desktop, Cursor, etc.)

go install github.com/mab-go/xmind-mcp/cmd/xmind-mcp@latest

This fetches, builds, and installs the binary in one step. No cloning required.

git clone https://github.com/mab-go/xmind-mcp.git cd xmind-mcp make build

The binary is written to./bin/xmind-mcpwith version metadata fromgit(see thebuildtarget in theMakefile). A plaingo build ./cmd/xmind-mcpalso works but omits those ldflags.

Note:A multi-platform container image is published toGHCRon each push tomainand on version tags (seeDockerbelow). Pre-built binaries for Linux and Windows are attached to each taggedGitHub Release.

The imageghcr.io/mab-go/xmind-mcpruns the same stdio MCP server as the host binary. Mount a host directory that contains your.xmindfiles and pass pathsas seen inside the containerto the tools (for example, if you mount/home/you/mapsat/maps, use/maps/my-map.xmindin tool calls).

Build and load locally (single platform):

docker buildx build --platform linux/amd64 --load -t xmind-mcp:test .

Optional build arguments (defaults match a local build without git in context):

docker buildx build \ --platform linux/amd64 \ --load \ --build-arg VERSION="$(git describe --tags --always --dirty 2>/dev/null || echo dev)" \ --build-arg COMMIT="$(git rev-parse HEAD 2>/dev/null || echo unknown)" \ --build-arg DATE="$(date -u +%Y-%m-%d)" \ -t xmind-mcp:test .

Multi-platform build (no--load; suitable for CI or registry push):

docker buildx build --platform linux/amd64,linux/arm64 .

Linux (amd64 host):Building thelinux/arm64variant runsRUNsteps inside an ARM image. WithoutQEMU user emulation, those steps fail withexec format error. Install binfmt handlers once:

docker run --privileged --rm tonistiigi/binfmt --install all

Docker Desktop on macOS and Windows usually includes this. If you only need to check that the Dockerfile builds on your machine, uselinux/amd64only (the first command above).

docker run --rm -i -v /path/on/host:/maps xmind-mcp:test --version

For Claude Desktop, run the published image viadockerand pass mounts inargs(adjust the host path). Exampleclaude_desktop_config.json:

{ "mcpServers": { "xmind": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/on/host:/maps", "ghcr.io/mab-go/xmind-mcp:latest" ] } } }

Add the following to your MCP client's configuration file. For Claude Desktop, that'sclaude_desktop_config.json:

{ "mcpServers": { "xmind": { "command": "xmind-mcp" } } }

If you built from source or the binary is not on yourPATH, use the full path to the binary:

{ "mcpServers": { "xmind": { "command": "/absolute/path/to/xmind-mcp" } } }

The server logs to standard error atinfolevel by default. To change it, pass the--log-levelflag or set theXMIND_MCP_LOG_LEVELenvironment variable (the flag wins if both are set). Accepted values aredebug,info,warn, anderror; an unrecognized value exits with an error at startup.

debugadds per-connection lifecycle detail (the MCPinitializehandshake). To enable it from a client config, set it viaenv:

{ "mcpServers": { "xmind": { "command": "xmind-mcp", "env": { "XMIND_MCP_LOG_LEVEL": "debug" } } } }

All tools are prefixed withxmind_to avoid collisions in multi-server environments.

Use these to resolve topic ids and titles before editing a specific branch of the tree. Some write tools instead need sheet-level ids or ids fromxmind_list_relationships—see each tool's description.

Most tools here target a topic and take atopic_idfrom Tier 2 (or from prior results). A few use other ids (from_id/to_id,relationship_id, etc.)—see each row.

On success,xmind_add_topic,xmind_add_topics_bulk,xmind_duplicate_topic, andxmind_move_topicreturnJSON(topic ids, insertion indices, sibling counts, and related fields). Exact keys match each tool's description from the running MCP server. Other mutation tools in this tier return plain-text success messages unless their descriptions say otherwise.

First time only, install project-local tools (golangci-lint, goimports) into./bin:

# Build (binary in ./bin/xmind-mcp), tests, and lint make build test lint # Run the server locally (stdio MCP) make run

The primary test fixture is located attestdata/kitchen-sink.xmind. It exercises every supported XMind feature and should be used as the baseline for any handler development and testing. That file is stored inGit LFS; use a clone with LFS enabled (or rungit lfs pull) beforemake test, or tests will fail on a pointer stub.

Carryo is a remote MCP server for sharing Claude or ChatGPT-created HTML artifacts as live links.

MCP server that reads and writes the system clipboard — tables, text, code, JSON, URLs, images, and more. Preserves spreadsheet structure (rows/columns) that is lost when pasting into Claude directly. Claude can also write results back to your clipboard.

Read and edit Word (.docx) documents with track changes, comments, footnotes, and structural validation. 18 tools with OOXML-level paraId validation and document auditing.

Read and write data from Microsoft Excel files. Supports text, formulas, sheet creation, and Windows-only live editing.

Interact with Google Docs and Google Drive for document creation, editing, and file management, with support for shared drives.

Create, read, and manipulate Microsoft Word documents.

Manage notes and files in an Obsidian vault. Requires the Obsidian Local REST API plugin.

A server for manipulating PDF files, including merging, page extraction, and searching.

Automatically tailors resumes for specific job applications using LibreOffice.

Edit Word (.docx) documents with tracked changes, redlines, and formatting preservation. MIT licensed, 100% local processing.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.