代码承包商MCP服务器
专业MCP服务器,具有AST驱动的代码智能、高性能搜索和智能文件操作。
](https://nodejs.org/) ](https://www.docker.com/)  
概述
代码承包商是一个强大的 模型上下文协议(MCP) 为AI助手提供高级代码操作功能的服务器。
主要特点
- 🌳 AST动力分析 -基于树的代码理解(JS/TS/Python/Go/Java)
- 🔍 高性能搜索 -ripgrep与语义分类的集成
- 🔧 智能文件操作 -10+自动备份补丁方法
- 🛡️ 多层绒布 -AST+ESLint/flacke8/pylint集成
- 📦 批量操作 -以原子方式执行多个操作
- 🌐 桥梁建筑 -适用于本地文件和远程SSH连接!
建筑
┌─────────────────────────────────────────────────────────────────┐
│ Cursor IDE │
│ (local or connected via Remote SSH) │
└─────────────────────┬───────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ MCP Server (Docker) │
│ • AST Parsing (Tree-sitter) │
│ • Code Search (ripgrep) │
│ • Linting │
│ • Heavy processing │
└─────────────────────┬───────────────────────────────────────────┘
│ HTTP Request
▼
┌─────────────────────────────────────────────────────────────────┐
│ Bridge (runs on YOUR machine) │
│ • Read/Write files │
│ • Has YOUR permissions │
│ • Access to everything YOU can access │
└─────────────────────┬───────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ File System │
│ • Local files │
│ • Remote SSH files (when using Cursor Remote SSH) │
│ • Network mounts │
└─────────────────────────────────────────────────────────────────┘为什么选择桥梁建筑?
- 繁重的处理(AST解析、搜索、linting)在Docker中运行以实现隔离
- 文件操作在您的计算机上以您的权限运行
- 与Cursor Remote SSH连接无缝协作!
快速开始
先决条件
- 已安装并正在运行
- 光标IDE 或任何MCP兼容客户端
安装
一键安装(推荐)
# Clone the repository
git clone https://github.com/binacshera-ui/code-contractor-mcp.git
cd code-contractor-mcp
# Run the installer
./install.sh # macOS/Linux
install.bat # Windows安装程序将:
- 构建Docker镜像
- 安装Node.js依赖项
- 配置光标
mcp.json - 将网桥设置为自动启动
- 开始桥
手动安装
# 1. Clone and build
git clone https://github.com/binacshera-ui/code-contractor-mcp.git
cd code-contractor-mcp
docker build -t code-contractor-mcp .
npm install
# 2. Start the bridge (keep running in background)
node bridge.js
# 3. Configure mcp.json (see below)配置
添加到MCP客户端配置文件(~/.cursor/mcp.json 或 %USERPROFILE%\.cursor\mcp.json):
带桥(推荐):
{
"mcpServers": {
"code-contractor": {
"command": "docker",
"args": ["run", "-i", "--rm", "--add-host=host.docker.internal:host-gateway", "code-contractor-mcp"]
}
}
}macOS(host.docker.internal本机工作):
{
"mcpServers": {
"code-contractor": {
"command": "docker",
"args": ["run", "-i", "--rm", "code-contractor-mcp"]
}
}
}开始桥
网桥必须正在运行,文件操作才能正常工作。
窗户:
start-bridge.batmacOS/Linux:
./start-bridge.sh
# Or in background:
nohup node bridge.js > bridge.log 2>&1 &安装程序设置登录时自动启动,但您也可以手动启动。
工具参考
注: 此服务器提供以下工具 补充 Cursor的内置工具。\ 对于读取、写入、删除、恢复等基本操作,请使用Cursor的原生工具。
代码智能(AST驱动)
| 工具 | 说明 |
|---|---|
get_file_outline | 使用行号获取函数/类定义 |
extract_code_element | 使用上下文提取特定函数/类 |
find_references | 查找项目中符号的所有用法 |
find_large_files | 查找超过行阈值的文件 |
高级搜索
| 工具 | 说明 |
|---|---|
search_code | 语义代码搜索模式: |
• smart -ripgrep+AST分类(默认) | |
• definitions -仅查找声明 | |
• usages -仅查找参考文献 | |
• imports -查找导入语句 | |
• todos -查找TODO/FIXME/HACK评论 | |
• secrets -查找潜在的硬编码秘密 | |
• count -仅统计匹配项 | |
• files -列出匹配的文件 |
代码验证
| 工具 | 说明 |
|---|---|
lint_code | 在写入文件之前验证代码字符串 |
智能修补
| 工具 | 说明 |
|---|---|
replace_exact_line | 替换特定线路(完全匹配) |
insert_at_line | 在行号处插入内容 |
replace_line_range | 更换管路范围 |
insert_relative_to_marker | 在标记文本之前/之后插入 |
replace_between_markers | 替换标记之间的内容 |
append_to_file | 将内容添加到文件末尾 |
prepend_to_file | 在文件开头添加内容 |
apply_diff | 应用统一的差异补丁 |
AST重构
| 工具 | 说明 |
|---|---|
ast_replace_element | 用名称替换函数/类 |
ast_rename_symbol | 重命名变量/函数/类 |
ast_add_import | 在正确的位置添加导入 |
备份和恢复
| 工具 | 说明 |
|---|---|
list_backups | 列出文件的所有备份 |
show_diff | 显示当前和备份之间的差异 |
restore_backup | 从备份还原文件 |
批处理和沙箱
| 工具 | 说明 |
|---|---|
batch_smart_apply | 按顺序执行多个操作 |
run_sandbox_terminal | 在隔离的Docker沙箱中执行命令 |
路径处理
服务器接受Windows和Linux风格的路径:
C:\Users\user\project\file.js → Works!
c:/Users/user/project/file.js → Works!
Users/user/project/file.js → Works!所有路径都会自动归一化并通过网桥进行路由。
支持的语言
| 语言 | AST解析 | 查找 | 搜索 |
|---|---|---|---|
| JavaScript/TypeScript | ✅ 树保姆 | ✅ ESLint | ✅ |
| python✅ 树保姆 | ✅ 薄片8/皮林 | ✅ | |
| 去吧✅ 树保姆 | ⚠️ 基础 | ✅ | |
| Java✅ 树保姆 | ⚠️ 基础 | ✅ | |
| 其他 | ⚠️ 正则表达式回退 | ⚠️ 基础 | ✅ |
备份系统
所有文件修改都会自动备份到 .mcp-backups/ 目录:
project/
├── src/
│ ├── app.js
│ └── .mcp-backups/
│ ├── app.js.1699999999999
│ └── app.js.1699999888888使用 list_backups, show_diff,以及 restore_backup 管理备份。
故障排除
桥没有响应
# Check if bridge is running
curl -X POST http://localhost:9111 -d '{"operation":"ping"}'
# Start bridge manually
node bridge.jsDocker无法连接到网桥(Linux)
确保你有 --add-host=host.docker.internal:host-gateway 在Docker参数中。
权限错误
桥在您的许可下运行。如果你不能正常访问文件,网桥也不能。
文件未找到
- 检查路径是否正确
- 确保桥梁正在运行
- 尝试使用完整的绝对路径
安全
- Docker隔离:在Docker中运行重处理(AST、搜索、lint)
- 网桥权限:文件操作使用您的用户权限
- 敏感文件:自动封锁
.env、凭证、密钥 - 没有网络:默认情况下,Docker容器没有网络访问权限
- 备份:所有修改都会自动备份
发展
# Install dependencies
npm install
# Run bridge locally
node bridge.js
# Test tools
node test-all.js许可证
MIT许可证-请参阅 许可证 文件。
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
______________________________________________________________________
由以下材料制成❤️ 人工智能辅助开发
