分块文本编辑器

MCP分块编辑器是一个面向LLM的语义分块文本编辑服务器,通过识别代码结构(如函数、类和方法)实现高效编辑操作。

  • by dwymark
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 dwymark/mcp-chunk-editor

使用说明

MCP块编辑器

一种模型上下文协议服务器,为LLM提供面向块的文本文件编辑功能。此服务器使LLM能够使用语义上有意义的块而不是行号来编辑文件,从而实现更自然、更高效的编辑操作。

主要特点

  • 语义分块:使用通用CTag来识别有意义的代码结构,如函数、类和方法
  • 立即应用:更改会立即应用,并生成预览进行验证
  • 简单撤消:支持恢复每个文件的最新更改
  • 效率:针对LLM令牌的使用进行了优化,包括增量更新和延迟分块

可用工具

  • read_chunks -检索文件的块,无论是所有块还是特定范围。

    • file_path (string,必填):要读取的文件的路径
    • chunk_indices (整数数组,可选):要检索的块索引列表
    • include_adjacent (boolean,可选):包含上下文前后的块
    • encoding (字符串,可选):文件编码(默认值:utf-8)
  • replace_chunks -替换一个或多个块的内容,并立即应用更改。

    • file_path (string,必填):要修改的文件的路径
    • replacements (数组,必填):{index,new_content}对象列表
    • encoding (字符串,可选):文件编码(默认值:utf-8)
  • undo -还原replace_chunks操作所做的最后一次更改。

    • file_path (string,必填):要还原更改的文件的路径
  • create_file -使用给定内容创建新文件。

    • file_path (string,必填):要创建的文件的路径
    • content (string,必填):要写入文件的内容
    • encoding (字符串,可选):文件编码(默认值:utf-8)
  • delete_file -删除文件。

    • file_path (string,必填):要删除的文件的路径

先决条件

  • Python 3.10或3.11(由于Python标签3的兼容性,目前还不支持Python 3.12+)
  • 通用CTags(apt-get install universal-ctags 在Debian/Ubuntu上)

安装

使用紫外线(推荐)

使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 mcp块编辑器.

使用PIP

或者,您可以安装 mcp-chunk-editor 通过pip:

pip install mcp-chunk-editor

安装后,您可以使用以下命令将其作为脚本运行:

python -m mcp_chunk_editor

配置

为Claude.app进行配置

添加到您的Claude设置中:

Using uvx
"mcpServers": {
  "chunk-editor": {
    "command": "uvx",
    "args": ["mcp-chunk-editor"]
  }
}
Using docker
"mcpServers": {
  "chunk-editor": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "mcp/chunk-editor"]
  }
}
Using pip installation
"mcpServers": {
  "chunk-editor": {
    "command": "python",
    "args": ["-m", "mcp_chunk_editor"]
  }
}

定制-最大块尺寸

默认情况下,服务器将使用100行的最大块大小。这可以通过添加参数进行自定义 --max-chunk-size=200 (例如,设置200行) args 配置中的列表。

调试

您可以使用MCP检查器调试服务器。对于uvx安装:

npx @modelcontextprotocol/inspector uvx mcp-chunk-editor

或者,如果您已将软件包安装在特定目录中或正在其上开发:

cd path/to/servers/src/chunk-editor
npx @modelcontextprotocol/inspector uv run mcp-chunk-editor

运作原理

块编辑器的工作原理是首先使用通用CTag解析文件,以识别有意义的语义单元,如函数、类和方法。这些语义单元成为LLM可以操作的块。

编辑文件时:

  1. LLM从文件中请求块(read_chunks)
  2. LLM对特定块进行更改(replace_chunks)
  3. 更改将立即应用于文件
  4. 返回更改的预览以供验证
  5. 如果需要,LLM可以撤消最近的更改(undo)

与传统的基于行的编辑器相比,这种工作流程对LLM来说更高效、更自然,后者需要精确的行号和内容哈希。

贡献

我们鼓励贡献,以帮助扩展和改进mcp块编辑器。无论您是想添加新工具、增强现有功能还是改进文档,您的意见都是有价值的。

有关其他MCP服务器和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers

欢迎拉取请求!请随时贡献新想法、错误修复或增强功能,使mcp块编辑器更加强大和有用。

许可证

mcp块编辑器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。