代码行编辑工具

MCP服务器提供精确的基于行的代码编辑操作,保留原始格式和注释,适用于代码重构和模块重组。

  • by kinagaki
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kinagaki/mcp-line-edit

使用说明

mcp行编辑

MCP服务器,用于精确的基于行的代码编辑操作。

动机

人工智能助手在重构代码方面非常强大,但它们会重新生成代码而不是移动代码。这意味着你精心格式化的注释、空格,甚至微妙的逻辑都可能发生意外变化。对于那些需要干净差异的遗留代码库或团队项目来说,这是一个真正的问题。

此工具采用不同的方法: 机械复制粘贴操作代码逐字节移动,从不重新生成。人工智能决定移动什么和在哪里,而这个工具则处理精确的执行。所有修改操作都支持模拟运行模式,以便在应用更改之前预览更改。

结果:精确的代码保留、最小的差异和安全的重构工作流程。

特性

  • 精确的代码操作:无LLM重新生成,保留注释、空格和格式
  • 基于线路的操作:按行号读取、插入、替换、删除
  • 缓冲支架:使用单个缓冲区进行剪切、复制、粘贴操作
  • 干运行模式:在应用更改之前预览更改
  • 新线保护:保持原始行尾(CRLF/LF)
  • UTF-8编码:正确处理错误报告

安装

pip install git+https://github.com/kinagaki/mcp-line-edit.git

发展:

git clone https://github.com/kinagaki/mcp-line-edit.git
cd mcp-line-edit
pip install -e .

用法

VS代码配置

创建 .vscode/mcp.json 在您的工作空间中:

{
  "servers": {
    "line-edit": {
      "command": "/path/to/venv/bin/mcp-line-edit"
    }
  }
}

WSL用户:

{
  "servers": {
    "line-edit": {
      "command": "wsl",
      "args": ["--", "mcp-line-edit"]
    }
  }
}

添加配置后,重新加载VS Code(Ctrl+Shift+P → Developer: Reload Window).

可用工具

基本操作:

  • read_lines -读取指定的行范围
  • insert_lines -在指定位置插入内容
  • replace_lines -用新内容替换行范围
  • delete_lines -删除指定的行范围

缓冲区操作:

  • cut_lines -剪切行到缓冲区并从文件中删除
  • copy_lines -将行复制到缓冲区
  • paste_buffer -将缓冲区内容粘贴到指定位置
  • show_buffer -显示当前缓冲区内容

便利性:

  • move_lines -在文件之间移动线条(剪切+粘贴)

所有修改操作(insert_lines, replace_lines, delete_lines, move_lines)支持可选 dry_run 参数用于预览更改而不修改文件。

示例用法

"Read lines 100-150 from src/main.f90"
→ Uses read_lines

"Move lines 10-34 from heat_LIB.f90 to the end of the file, but preview first"
→ Uses move_lines with dry_run=True

"That looks good, now do it for real"
→ Uses move_lines with dry_run=False

"Copy lines 50-75 to the buffer"
→ Uses copy_lines

"Paste the buffer at line 100 in utils.f90"
→ Uses paste_buffer

用例

代码重构、模块重组、提取通用定义、分离测试代码——任何需要在文件之间移动代码同时保留精确格式和注释的任务。

需求

  • Python 3.10或更高版本
  • fastmcp

许可证

MIT许可证-有关详细信息,请参阅许可证文件

贡献

欢迎投稿!请随时提交拉取请求。