Skip to main content
Glama
jiandong0718

xmind-to-markdown-mcp

by jiandong0718

XMind to Markdown MCP Server

PyPI version Python 3.10+ License: MIT

将 XMind 思维导图文件转换为 Markdown 格式的 MCP (Model Context Protocol) 服务。

✨ 特性

  • 🚀 快速转换:将 XMind 文件转换为结构化的 Markdown 文档

  • 📊 保留层级:完整保留思维导图的层级结构

  • 🏷️ 支持元数据:可选包含文件元信息(大小、时间等)

  • 🔧 双工具支持:提供转换和结构查看两种工具

  • 🌐 MCP 协议:标准化的 AI 工具接口,易于集成

Related MCP server: XMind AI MCP

📦 安装

使用 uvx(推荐)

uvx xmind-to-markdown-mcp

使用 pip

pip install xmind-to-markdown-mcp

🚀 快速开始

作为 MCP Server 使用

在支持 MCP 的客户端(如 Claude Desktop、Cursor、Cline)中配置:

{
  "mcpServers": {
    "xmind-to-markdown": {
      "command": "uvx",
      "args": ["xmind-to-markdown-mcp"]
    }
  }
}

可用工具

1. convert_xmind_to_markdown

将 XMind 文件转换为 Markdown 格式。

参数:

  • xmind_path (必需): XMind 文件路径

  • output_path (可选): 输出 Markdown 文件路径,不提供则自动保存到 output/ 目录

  • include_metadata (可选): 是否包含文件元信息,默认 true

示例:

{
  "xmind_path": "/path/to/file.xmind",
  "output_path": "/path/to/output.md",
  "include_metadata": true
}

2. read_xmind_structure

读取并返回 XMind 文件的结构化数据(JSON 格式)。

参数:

  • xmind_path (必需): XMind 文件路径

示例:

{
  "xmind_path": "/path/to/file.xmind"
}

📝 Markdown 转换格式

转换后的 Markdown 采用以下层级结构:

# [中心主题]

## [一级分支1]
- 子主题1.1
  - 详细内容1.1.1
  - 详细内容1.1.2
- 子主题1.2

## [一级分支2]
- 子主题2.1
  > 备注:这里是XMind中的备注内容
- 子主题2.2

---
**文件元信息**
- 文件名: example.xmind
- 文件大小: 15.32 KB
- 创建时间: 2025-01-01 10:00:00
- 修改时间: 2025-01-02 15:30:00

🔧 客户端配置示例

Claude Desktop (macOS)

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "xmind-to-markdown": {
      "command": "uvx",
      "args": ["xmind-to-markdown-mcp"]
    }
  }
}

Cursor IDE

在项目的 .vscode/settings.json 中添加:

{
  "mcp.servers": {
    "xmind-to-markdown": {
      "command": "uvx",
      "args": ["xmind-to-markdown-mcp"]
    }
  }
}

Cline (VS Code Extension)

在 Cline 的 MCP 设置中添加:

{
  "xmind-to-markdown": {
    "command": "uvx",
    "args": ["xmind-to-markdown-mcp"]
  }
}

🛠️ 开发

克隆仓库

git clone https://github.com/yourusername/xmind-to-markdown-mcp.git
cd xmind-to-markdown-mcp

安装开发依赖

pip install -e ".[dev]"

运行测试

pytest

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

📮 联系方式

🙏 致谢

Available Tools

2 tools
convert_xmind_to_markdownC

读取 XMind 文件并转换为 Markdown 格式。支持解析思维导图的层级结构、备注、标签等信息。

ParametersJSON Schema
NameRequiredDescriptionDefault
xmind_pathYesXMind 文件的路径(支持相对路径或绝对路径)
output_pathNo输出 Markdown 文件的路径(可选)。如果不提供,将自动保存到 output/ 目录下,文件名与原 XMind 文件同名。
include_metadataNo是否在 Markdown 中包含文件元信息(默认为 true)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions supported data (hierarchy, notes, tags) but omits key behavioral traits such as file overwrite behavior, authentication needs, error handling, or output format details. Significant gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very short (one sentence) and front-loads the main action. It is concise, though additional details could be included without significant bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description lacks sufficient context for correct tool usage. Missing details on output format, default behavior of output_path, error scenarios, and file system interaction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters with descriptions (100% coverage). The description adds no extra semantic value beyond schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool converts XMind files to Markdown and lists supported features (hierarchy, notes, tags). It is specific about the verb and resource, but does not explicitly differentiate from sibling tool 'read_xmind_structure', though the difference is implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites, no when-not scenarios. The description merely states what the tool does without contextual usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_xmind_structureA

仅读取并返回 XMind 文件的结构化数据(JSON 格式),不进行 Markdown 转换。用于查看思维导图的原始结构。

ParametersJSON Schema
NameRequiredDescriptionDefault
xmind_pathYesXMind 文件的路径(支持相对路径或绝对路径)

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

描述了返回格式(JSON)和排除行为(不转换),隐含只读性质。虽无显式安全声明,但对于简单读取工具已经足够。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

单句描述,关键信息前置,无冗余。每个部分都有价值。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

工具简单(1参数,无输出schema),描述覆盖了核心功能、返回值格式、与兄弟工具的差异,完整无缺。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

唯一参数(xmind_path)已在schema中描述,描述额外补充了路径类型(相对或绝对),提供超越schema的实用信息。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

明确说明工具行为:读取XMind文件并返回JSON结构化数据,不进行Markdown转换。与兄弟工具区分开来,动词和资源清晰。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

描述了使用场景(查看原始结构),并明确排除Markdown转换,暗示替代方案(convert_xmind_to_markdown)。指导性强。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one converts XMind to Markdown, the other returns raw JSON structure. There is no overlap or ambiguity.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern with underscores (convert_xmind_to_markdown, read_xmind_structure), making them predictable.

Tool Count4/5

With only 2 tools, the scope is narrow but appropriate for the specific purpose of reading and converting XMind files. It covers the essential operations without being overly sparse.

Completeness4/5

The tool set covers the core functionality of converting XMind to Markdown and inspecting its structure. While additional features like selective conversion could be added, it is sufficient for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jiandong0718/mcp-xmind-to-markdown'

If you have feedback or need assistance with the MCP directory API, please join our Discord server