关于 MCP Chunk Editor
MCP Chunk Editor 是面向 LLM 的 MCP 服务,使用 Universal CTags 识别文本文件中的语义片段。它可即时应用修改并生成预览,也支持按文件撤销最近一次修改。
主要功能
- 01语义代码分块
- 02读取指定片段及上下文
- 03替换片段并预览
- 04撤销文件最近修改
- 05创建和删除文件
适用场景
- 01无需行号即可编辑函数或类
- 02继续操作前检查已应用的修改
- 03撤销文件的最近一次编辑
MCP 相关
向 MCP 客户端提供文件读取、片段替换、撤销、创建和删除工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Chunk Editor
一个面向大模型提供分块文本文件编辑功能的 Model Context Protocol 服务。此服务支持大模型使用语义明确的代码块而非行号编辑文件,从而让编辑操作更自然、高效。
主要功能
- 语义分块:使用 Universal CTags 识别函数、类和方法等有意义的代码结构
- 立即应用:立即应用更改,并生成预览以供验证
- 简单撤销:支持还原每个文件的最近一次更改
- 高效:通过增量更新和延迟分块优化大模型的 token 使用
可用工具
-
read_chunks- 获取文件中的代码块,可以获取所有代码块或指定范围。file_path(字符串,必需):要读取的文件路径chunk_indices(整数数组,可选):要获取的代码块索引列表include_adjacent(布尔值,可选):包含前后代码块作为上下文encoding(字符串,可选):文件编码(默认值:utf-8)
-
replace_chunks- 替换一个或多个代码块的内容,并立即应用更改。file_path(字符串,必需):要修改的文件路径replacements(数组,必需):由{index, new_content}对象组成的列表encoding(字符串,可选):文件编码(默认值:utf-8)
-
undo- 还原replace_chunks操作所做的上一次更改。file_path(字符串,必需):要还原更改的文件路径
-
create_file- 使用给定内容创建新文件。file_path(字符串,必需):要创建的文件路径content(字符串,必需):要写入文件的内容encoding(字符串,可选):文件编码(默认值:utf-8)
-
delete_file- 删除文件。file_path(字符串,必需):要删除的文件路径
前提条件
- Python 3.10 或 3.11(由于与 python-ctags3 的兼容性问题,暂不支持 Python 3.12+)
- Universal CTags(在 Debian/Ubuntu 上运行
apt-get install universal-ctags安装)
安装
使用 uv(推荐)
使用 uv 时,无需进行特定安装。我们将使用 uvx 直接运行 mcp-chunk-editor。
使用 PIP
也可以通过 pip 安装 mcp-chunk-editor:
pip install mcp-chunk-editor
安装后,可以通过以下命令将其作为脚本运行:
python -m mcp_chunk_editor
配置
为 Claude.app 配置
将以下内容添加到 Claude 设置中:
使用 uvx
"mcpServers": {
"chunk-editor": {
"command": "uvx",
"args": ["mcp-chunk-editor"]
}
}
使用 docker
"mcpServers": {
"chunk-editor": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/chunk-editor"]
}
}
使用 pip 安装
"mcpServers": {
"chunk-editor": {
"command": "python",
"args": ["-m", "mcp_chunk_editor"]
}
}
自定义 - 最大代码块大小
默认情况下,服务使用的最大代码块大小为 100 行。可以在配置的 args 列表中添加参数 --max-chunk-size=200(例如,将大小设为 200 行)来自定义此值。
调试
可以使用 MCP inspector 调试此服务。对于 uvx 安装:
npx @modelcontextprotocol/inspector uvx mcp-chunk-editor
如果你已将软件包安装在特定目录中,或正在开发此软件包,也可以使用:
cd path/to/servers/src/chunk-editor
npx @modelcontextprotocol/inspector uv run mcp-chunk-editor
工作原理
Chunk Editor 首先使用 Universal CTags 解析文件,以识别函数、类和方法等有意义的语义单元。这些语义单元会成为大模型可以操作的代码块。
编辑文件时:
- 大模型请求文件中的代码块(
read_chunks) - 大模型修改指定的代码块(
replace_chunks) - 立即将更改应用到文件
- 返回更改预览以供验证
- 如有需要,大模型可以还原最近一次更改(
undo)
与传统的基于行的编辑器相比,此工作流对大模型而言更加高效、自然;传统编辑器需要精确的行号和内容哈希值。
贡献
我们欢迎大家贡献力量,帮助扩展和改进 mcp-chunk-editor。无论是添加新工具、增强现有功能,还是改进文档,你的贡献都弥足珍贵。
如需了解其他 MCP 服务和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers
欢迎提交拉取请求!欢迎贡献新想法、错误修复或功能增强,让 mcp-chunk-editor 更强大、更实用。
许可证
mcp-chunk-editor 根据 MIT License 获得许可。这意味着你可以自由使用、修改和分发本软件,但须遵守 MIT License 的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。