code-mcp
by 54yyyu
README.md
# Code-MCP: Terminal and Code Integration for Claude AI
```
██████╗ ██████╗ ██████╗ ███████╗ ███╗ ███╗ ██████╗██████╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝ ████╗ ████║██╔════╝██╔══██╗
██║ ██║ ██║██║ ██║█████╗ ████─ ██╔████╔██║██║ ██████╔╝
██║ ██║ ██║██║ ██║██╔══╝ ██║╚██╔╝██║██║ ██╔═══╝
╚██████╗╚██████╔╝██████╔╝███████╗ ██║ ╚═╝ ██║╚██████╗██║
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═════╝╚═╝
```
Code-MCP connects Claude AI to your development environment through the Model Context Protocol (MCP), enabling terminal commands and file operations through the AI interface.
## Features
- **Terminal Access**: Run shell commands in your project directory directly from Claude
- **File Operations**: Create, read, update, and delete files and directories
- **Git Integration**: Special handling for git commands with safety confirmations
- **Smart Editing**: Enhanced editing capabilities for code files
- **Code Analysis**: Advanced pattern matching and function-level operations
- **Productivity Tools**: Operate on your codebase with natural language instructions
- **Remote Connectivity**: Connect to remote code-mcp instances over SSH
## Quick Installation
The following commands install the base version. See the [Optional Features](#optional-features) section for installing with additional capabilities.
### macOS / Linux
```bash
# Install with a single command (includes uv installation if needed)
curl -LsSf https://raw.githubusercontent.com/54yyyu/code-mcp/main/install.sh | sh
```
### Windows
```powershell
# Download and run the installer
powershell -c "Invoke-WebRequest -Uri https://raw.githubusercontent.com/54yyyu/code-mcp/main/install.ps1 -OutFile install.ps1; .\install.ps1"
```
### Manual Installation
```bash
# Install with pip
pip install git+https://github.com/54yyyu/code-mcp.git
# Or better, install with uv
uv pip install git+https://github.com/54yyyu/code-mcp.git
```
### Optional Features
Code-MCP offers optional feature sets that you can choose to install based on your needs:
#### Remote Connectivity Support
```bash
# Install with remote connectivity support
pip install git+https://github.com/54yyyu/code-mcp.git@remote-edit
# Or with uv
uv pip install git+https://github.com/54yyyu/code-mcp.git@remote-edit
# One-line installer
curl -LsSf https://raw.githubusercontent.com/54yyyu/code-mcp/remote-edit/install.sh | sh
```
#### Jupyter Notebook Support
```bash
# Install with Jupyter notebook support
pip install git+https://github.com/54yyyu/code-mcp.git@jupyter
# Or with uv
uv pip install git+https://github.com/54yyyu/code-mcp.git@jupyter
# One-line installer
curl -LsSf https://raw.githubusercontent.com/54yyyu/code-mcp/jupyter/install.sh | sh
```
#### Combining Features
To install both Remote Connectivity and Jupyter Notebook support, you can clone the repository and choose which features to include:
```bash
# Clone the repository
git clone https://github.com/54yyyu/code-mcp.git
cd code-mcp
# Create a custom branch with both features
git checkout main
git merge remote-edit --no-commit
git merge jupyter --no-commit
git commit -m "Custom installation with both remote and jupyter features"
# Install from your custom branch
pip install -e .
```
### For Developers
If you're developing Code-MCP, clone the repository and install in development mode:
```bash
# Clone the repository
git clone https://github.com/54yyyu/code-mcp.git
cd code-mcp
# Install in development mode with pip
pip install -e .
# Or with uv (recommended)
uv pip install -e .
```
## Usage
### Claude Desktop Integration
1. Automatic setup:
```bash
# With a specific project path
code-mcp-setup /path/to/your/project
# Or run without arguments to use the current directory
code-mcp-setup
```
2. Or manually edit Claude Desktop configuration:
- Go to Claude > Settings > Developer > Edit Config
- Add the following to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"code": {
"command": "code-mcp",
"args": [
"/path/to/your/project"
]
}
}
}
```
3. Save the file and restart Claude
### Updating Existing Configurations
If you previously installed code-mcp but it requires an absolute path in your configuration,
you can use the setup helper with the `--fix-path` flag to update your configuration:
```bash
code-mcp-setup --fix-path
```
This will find your Claude Desktop configuration and update the command to use just `code-mcp`
instead of the full path, allowing it to work as long as code-mcp is in your PATH.
Note: All new installations automatically use the PATH-based approach.
### Remote Connectivity
You can connect Claude Desktop to a code-mcp instance running on a remote server.
**Prerequisites:**
- SSH access to the remote server
- Python 3.10+ on both local and remote machines
The setup script will automatically check if code-mcp is installed on the remote server and install it if needed.
#### One-line installation
```bash
# Install and set up remote connection with one command
curl -sSL https://raw.githubusercontent.com/54yyyu/code-mcp/remote-edit/remote-install.sh | bash -s -- --remote-host user@hostname
# With additional options
curl -sSL https://raw.githubusercontent.com/54yyyu/code-mcp/remote-edit/remote-install.sh | bash -s -- \
--remote-host user@hostname \
--remote-project-path /path/to/project \
--local-port 3000 \
--remote-port 5000 \
--ssh-key ~/.ssh/id_ed25519
```
This installs code-mcp locally if needed, configures remote connection, and sets up Claude Desktop.
```bash
# Set up a remote connection (with default options)
code-mcp-remote --remote-host user@example.com --remote-project-path /path/to/remote/project
# Set up with custom port configuration
code-mcp-remote --remote-host user@example.com \
--remote-project-path /path/to/remote/project \
--local-port 3000 \
--remote-port 5000
# Use a specific SSH key
code-mcp-remote --remote-host user@example.com \
--remote-project-path /path/to/remote/project \
--ssh-key ~/.ssh/id_ed25519
```
The remote setup:
1. Checks if code-mcp is installed on the remote server and installs it if needed
2. Uploads the bridge server script to the remote server
3. Starts the bridge server on the remote machine
4. Sets up an SSH tunnel to securely communicate with the remote server
5. Configures Claude Desktop to use the remote connection
This allows you to work with codebases on remote servers, including cloud VMs and containers. When you're done, press Ctrl+C to terminate the SSH tunnel and clean up the configuration.
## Features
### Terminal Operations
- Execute terminal commands with `run_command()`
- Perform git operations with `git_operation()`
### File Operations
- Read files with `read_file()`
- Edit files with `edit_file()` and `smart_edit()`
- Create and delete directories with `create_directory()` and `delete_path()`
- List directory contents with `list_directory()`
### Advanced Code Editing
- Flexible pattern matching with whitespace normalization
- Function-level editing with automatic indentation handling
- Batch operations across multiple files with `edit_block()`
- Support for search/replace blocks and unified diff formats
## Examples
Ask Claude:
- "List all the files in the current directory"
- "Show me the content of the README.md file"
- "Create a new file called example.py with a simple hello world program"
- "Run git status and show me what files have changed"
- "Make these changes to main.py: replace X with Y"
- "Update the process_data function in data_utils.py to handle null values"
## Safety Features
- Confirmation required for destructive operations (delete, overwrite)
- Path safety to prevent operations outside project directory
- Special confirmation for potentially dangerous git commands
## Requirements
- Python 3.10 or newer
- Claude Desktop or API access
- Git (optional, for git operations)
## License
This project is licensed under the MIT License - see the LICENSE file for details.This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessUnresponsive