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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.