返回 MCP 目录
public公开dns本地运行

markdown-editor-mcp-server

一个遵循MCP 2025标准的Markdown编辑器服务器,提供基于语义结构的文档编辑工具,支持智能搜索、内容替换、元素操作和元数据管理。

article

README

🚀 Markdown编辑器MCP服务器

Markdown编辑器MCP服务器为Markdown文件提供结构化、语义编辑工具。与标准文本编辑器不同,该服务器能够理解文档的逻辑结构。

本服务器完全符合MCP 2025标准,涵盖工具搜索、示例、输出模式和动态功能。

Tests PyPI版本 Python 3.10+ 许可证: MIT MCP 2025

🚀 快速开始

本服务器为Markdown文件提供结构化、语义编辑工具,能理解文档逻辑结构,且完全符合MCP 2025标准。下面将介绍其安装和使用方法。

📦 安装指南

从PyPI安装(推荐)

pip install markdown-editor-mcp-server

从源代码安装

git clone https://github.com/KazKozDev/markdown-editor-mcp-server.git
cd markdown-editor-mcp-server
pip install -e .

Claude桌面配置

在macOS系统中,添加到 ~/Library/Application Support/Claude/claude_desktop_config.json;在Windows系统中,添加到 %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "markdown-editor": {
      "command": "markdown-editor-mcp-server"
    }
  }
}

💻 使用示例

可用工具

发现与扩展

search_tools - 查找合适的工具

大语言模型为何需要此工具:现有15种工具,找到适合特定任务的工具颇具挑战。此元工具可帮助发现合适的工具。

功能:搜索所有可用工具,并根据查询返回最相关的工具。

参数

  • query(必需):描述你想要执行的操作

示例

{"query": "替换文本"}

语义编辑

get_document_structure - 获取文档树

大语言模型为何需要此工具:大型Markdown文件难以导航。此工具将文件转换为结构树,使大语言模型能够理解标题、段落和列表的层次结构。

功能:解析Markdown文件,并返回所有元素及其语义路径的JSON树。

参数

  • file_path(必需):.md文件的路径
  • depth:树的最大深度(默认值:2)

示例

{"file_path": "docs/report.md", "depth": 3}
search_text - 语义搜索和导航

大语言模型为何需要此工具:大语言模型无需滚动浏览整个文件,可搜索特定关键字并获取精确的语义路径(例如,项目 > 截止日期 > 段落2)。

功能:在文档中搜索文本,并返回包含该文本的元素的路径。

参数

  • file_path(必需):文件的路径
  • query(必需):要搜索的文本

示例

{"file_path": "todo.md", "query": "紧急"}
read_element - 读取特定元素

大语言模型为何需要此工具:在编辑元素之前,通常需要查看其完整内容。此工具可获取特定块的完整内容。

功能:返回由路径标识的元素的完整内容。

参数

  • file_path(必需):文件的路径
  • path(必需):元素的语义路径

示例

{"file_path": "notes.md", "path": "特性 > 列表1"}
replace_content - 精确内容替换

大语言模型为何需要此工具:覆盖整个文件存在风险且消耗大量令牌。此工具允许大语言模型替换特定语义块的内容,而不影响文档的其他部分。

功能:替换由路径标识的特定元素中的文本。

参数

  • file_path(必需):文件的路径
  • path(必需):语义路径(例如,"简介 > 段落1")
  • new_content(必需):块的新文本

示例

{"file_path": "readme.md", "path": "安装 > 段落1", "new_content": "只需运行pip install命令。"}
insert_element - 添加新内容

大语言模型为何需要此工具:添加新的段落、标题或列表需要理解文档结构。此工具可在正确的位置插入新元素。

功能:在现有元素之前或之后插入新块(标题、段落、列表、代码块或块引用)。

参数

  • file_path(必需):文件的路径
  • path(必需):参考元素的路径
  • element_type(必需):类型(标题、段落、列表、代码块、块引用)
  • content(必需):新元素的内容
  • where:"before" 或 "after"(默认值:"after")
  • heading_level:标题的级别(默认值:1)

示例

{"file_path": "doc.md", "path": "引言", "element_type": "段落", "content": "这里是新段落。"}
delete_element - 删除内容

大语言模型为何需要此工具:精确删除特定块而不影响周围内容需要精准操作。此工具可通过语义路径删除元素。

功能:从文档中删除一个块。

参数

  • file_path(必需):文件的路径
  • path(必需):要删除的元素的语义路径

示例

{"file_path": "draft.md", "path": "旧章节"}
move_element - 结构重构

大语言模型为何需要此工具:重新组织文档较为复杂。此工具允许大语言模型通过单个命令将整个部分(包括所有嵌套子元素)移动到新位置。

功能:将文本块从源路径移动到目标路径。

参数

  • file_path(必需):文件的路径
  • source_path(必需):要移动的元素的路径
  • target_path(必需):新位置的参考路径
  • where:在目标之前或之后(默认值:"after")

示例

{"file_path": "draft.md", "source_path": "联系人", "target_path": "结论"}
get_context - 上下文感知编辑

大语言模型为何需要此工具:编辑单个块时,大语言模型可能会失去叙述流畅性。此工具提供目标元素及其相邻元素(前后)的内容。

功能:获取一个元素及其周围块的片段。

参数

  • file_path(必需):文件的路径
  • path(必需):目标元素的路径

示例

{"file_path": "article.md", "path": "正文 > 段落5"}
update_metadata - YAML前置元数据管理

大语言模型为何需要此工具:许多Markdown工具(如Obsidian、Jekyll)在顶部使用YAML元数据。此工具允许大语言模型管理标签、日期和属性,而不会影响正文文本。

功能:更新或添加YAML前置元数据到文档中。

参数

  • file_path(必需):文件的路径
  • metadata(必需):元数据项的字典

示例

{"file_path": "post.md", "metadata": {"状态": "已发布", "标签": ["mcp", "人工智能"]}}
undo - 撤销更改

大语言模型为何需要此工具:难免会出现错误操作。此工具允许在不手动恢复文件的情况下撤销最近的操作。

功能:撤销文档上的最后N个操作。

参数

  • file_path(必需):文件的路径
  • count:要撤销的操作数量(默认值:1)

示例

{"file_path": "document.md", "count": 2}

文件操作

list_directory - 浏览工作区

功能:列出目录中的文件和文件夹,帮助大语言模型探索文件结构。

参数

  • path:目录路径(默认值:".")
create_file - 创建新文档

功能:创建具有可选初始内容的新文件。

参数

  • path(必需):新文件的路径
  • content:初始内容(默认值:"")

示例

{"path": "./notes/todo.md", "content": "# 待办事项\n\n- 任务1"}
create_directory - 创建文件夹

功能:创建新目录。

参数

  • path(必需):新目录的路径

示例

{"path": "./docs/archive"}
delete_item - 清理

功能:删除文件或目录。

🔧 技术细节

开发

# 安装开发环境
pip install -e .

# 运行测试
pytest tests/

MCP 2025标准特性

本服务器实现了2025 MCP的所有改进:

  • 工具搜索工具 - 从众多选项中高效找到合适的工具
  • 工具使用示例 - 输入参数示例帮助大语言模型正确使用工具
  • 输出模式 - 结构化输出定义,便于客户端集成
  • 动态功能 - 支持 tools/list_changed 通知

如果你喜欢这个项目,请给它点个星 ⭐

Artem KK | MIT 许可证

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端