Skip to main content

MCP implementation of Claude Code capabilities

Project description

MCP Claude Code

An implementation of Claude Code capabilities using the Model Context Protocol (MCP).

Overview

This project provides an MCP server that implements Claude Code-like functionality, allowing Claude to directly execute instructions for modifying and improving project files. By leveraging the Model Context Protocol, this implementation enables seamless integration with various MCP clients including Claude Desktop.

example

Features

  • Code Understanding: Analyze and understand codebases through file access and pattern searching
  • Code Modification: Make targeted edits to files with proper permission handling
  • Enhanced Command Execution: Run commands and scripts in various languages with improved error handling and shell support
  • File Operations: Manage files with proper security controls through shell commands
  • Code Discovery: Find relevant files and code patterns across your project
  • Project Analysis: Understand project structure, dependencies, and frameworks
  • Jupyter Notebook Support: Read and edit Jupyter notebooks with full cell and output handling

Tools Implemented

Tool Description
read_files Read one or multiple files with encoding detection
write_file Create or overwrite files
edit_file Make line-based edits to text files
directory_tree Get a recursive tree view of directories
get_file_info Get metadata about a file or directory
search_content Search for patterns in file contents
content_replace Replace patterns in file contents
run_command Execute shell commands (also used for directory creation, file moving, and directory listing)
run_script Execute scripts with specified interpreters
script_tool Execute scripts in specific programming languages
project_analyze_tool Analyze project structure and dependencies
read_notebook Extract and read source code from all cells in a Jupyter notebook with outputs
edit_notebook Edit, insert, or delete cells in a Jupyter notebook
think Structured space for complex reasoning and analysis without making changes

Getting Started

Usage

Configuring Claude Desktop

You can run it with uvx run mcp-claude-code without installation. Configure Claude Desktop to use this server by adding the following to your Claude Desktop configuration file:

{
  "mcpServers": {
    "claude-code": {
      "command": "uvx",
      "args": [
        "--from",
        "mcp-claude-code",
        "claudecode",
        "--allow-path",
        "/path/to/your/project"
      ]
    }
  }
}

Make sure to replace /path/to/your/project with the actual path to the project you want Claude to access.

Advanced Configuration Options

You can customize the server using other options:

{
  "mcpServers": {
    "claude-code": {
      "command": "uvx",
      "args": [
        "--from",
        "mcp-claude-code",
        "claudecode",
        "--allow-path",
        "/path/to/project",
        "--name",
        "custom-claude-code",
        "--transport",
        "stdio"
      ]
    }
  }
}

Configuring Claude Desktop System Prompt

To get the best experience with Claude Code, you need to add the provided system prompt to your Claude Desktop client. This system prompt guides Claude through a structured workflow for code modifications and project management.

Follow these steps:

  1. Locate the system prompt file in this repository at doc/system_prompt
  2. Open your Claude Desktop client
  3. Create a new project or open an existing one
  4. Navigate to the "Project instructions" section in the Claude Desktop sidebar
  5. Copy the contents of doc/system_prompt and paste it into the "Project instructions" section
  6. Replace {project_path} with the actual absolute path to your project

The system prompt provides Claude with:

  • A structured workflow for analyzing and modifying code
  • Best practices for project exploration and analysis
  • Guidelines for development, refactoring, and quality assurance
  • Special formatting instructions for mathematical content

This step is crucial as it enables Claude to follow a consistent approach when helping you with code modifications.

Security

This implementation follows best practices for securing access to your filesystem:

  • Permission prompts for file modifications and command execution
  • Restricted access to specified directories only
  • Input validation and sanitization
  • Proper error handling and reporting

Development

To contribute to this project:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_claude_code-0.1.18.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_claude_code-0.1.18-py3-none-any.whl (44.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_claude_code-0.1.18.tar.gz.

File metadata

  • Download URL: mcp_claude_code-0.1.18.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for mcp_claude_code-0.1.18.tar.gz
Algorithm Hash digest
SHA256 3312a9ab4b384ffa3a26c118f06fc01bbd5aa5dfcc65488f41fb1b6370c7f897
MD5 1541db31e4c9453409ced92118dc5d9e
BLAKE2b-256 703e637b2375be0686d925d2dbb8a958836c61338f6d96cf57186db5f78f660f

See more details on using hashes here.

File details

Details for the file mcp_claude_code-0.1.18-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_claude_code-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 8edf44955addf9c18c9674078d0d46e93cd7fa36ca9a3009e0817caff3583029
MD5 5bf6305861c04451c6def71df6e2be89
BLAKE2b-256 6bb1d4cbb982ad1400e69710d7aea756bccc24549e751ce2d0221b38d3ff4d5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page