Code Contractor MCP Server
Professional MCP Server with AST-powered code intelligence, high-performance search, and smart file operations.
README
Code Contractor MCP Server
Professional MCP Server with AST-powered code intelligence, high-performance search, and smart file operations.
Overview
Code Contractor is a powerful Model Context Protocol (MCP) server that provides AI assistants with advanced code manipulation capabilities.
Key Features
- 🌳 AST-Powered Analysis - Tree-sitter based code understanding (JS/TS/Python/Go/Java)
- 🔍 High-Performance Search - ripgrep integration with semantic classification
- 🔧 Smart File Operations - 10+ patching methods with automatic backups
- 🛡️ Multi-Layer Linting - AST + ESLint/flake8/pylint integration
- 📦 Batch Operations - Execute multiple operations atomically
- 🌐 Bridge Architecture - Works with local files AND remote SSH connections!
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────────────┘
Why Bridge Architecture?
- Heavy processing (AST parsing, search, linting) runs in Docker for isolation
- File operations run on YOUR machine with YOUR permissions
- Works seamlessly with Cursor Remote SSH connections!
Quick Start
Prerequisites
- Docker Desktop installed and running
- Node.js 20+
- Cursor IDE or any MCP-compatible client
Installation
One-Click Install (Recommended)
# 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
The installer will:
- Build the Docker image
- Install Node.js dependencies
- Configure Cursor's
mcp.json - Set up the Bridge to auto-start
- Start the Bridge
Manual Installation
# 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)
Configuration
Add to your MCP client configuration file (~/.cursor/mcp.json or %USERPROFILE%\.cursor\mcp.json):
With Bridge (Recommended):
{
"mcpServers": {
"code-contractor": {
"command": "docker",
"args": ["run", "-i", "--rm", "--add-host=host.docker.internal:host-gateway", "code-contractor-mcp"]
}
}
}
macOS (host.docker.internal works natively):
{
"mcpServers": {
"code-contractor": {
"command": "docker",
"args": ["run", "-i", "--rm", "code-contractor-mcp"]
}
}
}
Starting the Bridge
The Bridge must be running for file operations to work.
Windows:
start-bridge.bat
macOS/Linux:
./start-bridge.sh
# Or in background:
nohup node bridge.js > bridge.log 2>&1 &
The installer sets up auto-start on login, but you can also start manually.
Tools Reference
Note: This server provides tools that complement Cursor's built-in tools.
For basic operations like Read, Write, Delete, Grep, use Cursor's native tools.
Code Intelligence (AST-powered)
| Tool | Description |
|---|---|
get_file_outline |
Get function/class definitions with line numbers |
extract_code_element |
Extract specific function/class with context |
find_references |
Find all usages of a symbol across project |
find_large_files |
Find files exceeding line threshold |
Advanced Search
| Tool | Description |
|---|---|
search_code |
Semantic code search with modes: |
• smart - ripgrep + AST classification (default) |
|
• definitions - Find only declarations |
|
• usages - Find only references |
|
• imports - Find import statements |
|
• todos - Find TODO/FIXME/HACK comments |
|
• secrets - Find potential hardcoded secrets |
|
• count - Count matches only |
|
• files - List files with matches |
Code Validation
| Tool | Description |
|---|---|
lint_code |
Validate code string before writing to file |
Smart Patching
| Tool | Description |
|---|---|
replace_exact_line |
Replace specific line (exact match) |
insert_at_line |
Insert content at line number |
replace_line_range |
Replace range of lines |
insert_relative_to_marker |
Insert before/after marker text |
replace_between_markers |
Replace content between markers |
append_to_file |
Add content to end of file |
prepend_to_file |
Add content to start of file |
apply_diff |
Apply unified diff patch |
AST Refactoring
| Tool | Description |
|---|---|
ast_replace_element |
Replace function/class by name |
ast_rename_symbol |
Rename variable/function/class |
ast_add_import |
Add import at correct location |
Backup & Recovery
| Tool | Description |
|---|---|
list_backups |
List all backups for a file |
show_diff |
Show diff between current and backup |
restore_backup |
Restore file from backup |
Batch & Sandbox
| Tool | Description |
|---|---|
batch_smart_apply |
Execute multiple operations in sequence |
run_sandbox_terminal |
Execute command in isolated Docker sandbox |
Path Handling
The server accepts both Windows and Linux style paths:
C:\Users\user\project\file.js → Works!
c:/Users/user/project/file.js → Works!
Users/user/project/file.js → Works!
All paths are automatically normalized and routed through the Bridge.
Supported Languages
| Language | AST Parsing | Linting | Search |
|---|---|---|---|
| JavaScript/TypeScript | ✅ Tree-sitter | ✅ ESLint | ✅ |
| Python | ✅ Tree-sitter | ✅ flake8/pylint | ✅ |
| Go | ✅ Tree-sitter | ⚠️ Basic | ✅ |
| Java | ✅ Tree-sitter | ⚠️ Basic | ✅ |
| Other | ⚠️ Regex fallback | ⚠️ Basic | ✅ |
Backup System
All file modifications are automatically backed up to .mcp-backups/ directories:
project/
├── src/
│ ├── app.js
│ └── .mcp-backups/
│ ├── app.js.1699999999999
│ └── app.js.1699999888888
Use list_backups, show_diff, and restore_backup to manage backups.
Troubleshooting
Bridge not responding
# Check if bridge is running
curl -X POST http://localhost:9111 -d '{"operation":"ping"}'
# Start bridge manually
node bridge.js
Docker can't connect to bridge (Linux)
Make sure you have --add-host=host.docker.internal:host-gateway in the Docker args.
Permission errors
The Bridge runs with YOUR permissions. If you can't access a file normally, the Bridge can't either.
File not found
- Check the path is correct
- Ensure the Bridge is running
- Try with full absolute path
Security
- Docker Isolation: Heavy processing (AST, search, lint) runs in Docker
- Bridge Permissions: File operations use YOUR user permissions
- Sensitive Files: Automatic blocking of
.env, credentials, keys - No Network: Docker container has no network access by default
- Backups: All modifications backed up automatically
Development
# Install dependencies
npm install
# Run bridge locally
node bridge.js
# Test tools
node test-all.js
License
MIT License - see LICENSE file.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Made with ❤️ for AI-assisted development
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。