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许可证-有关详细信息,请参阅许可证文件
贡献
欢迎投稿!请随时提交拉取请求。
