Skip to main content

MCP implementation of Hanzo capabilities

Project description

Hanzo MCP

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

Overview

This project provides an MCP server that implements Hanzo-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
  • Agent Delegation: Delegate complex tasks to specialized sub-agents that can work concurrently
  • Multiple LLM Provider Support: Configure any LiteLLM-compatible model for agent operations
  • 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
dispatch_agent Launch one or more agents that can perform tasks using read-only tools concurrently

Getting Started

Quick Install

# Install using uv
uv pip install hanzo-mcp

# Or using pip
pip install hanzo-mcp

Claude Desktop Integration

To install and configure hanzo-mcp for use with Claude Desktop:

# Install the package globally
uv pip install hanzo-mcp

# Install configuration to Claude Desktop with default settings
hanzo-mcp --install

For development, if you want to install your local version to Claude Desktop:

# Clone and navigate to the repository
git clone https://github.com/hanzoai/mcp.git
cd mcp

# Install and configure for Claude Desktop
make install-desktop

# With custom paths and server name
make install-desktop ALLOWED_PATHS="/path/to/projects,/another/path" SERVER_NAME="hanzo-dev"

# Disable write tools (useful if you prefer using your IDE for edits)
make install-desktop DISABLE_WRITE=1

After installation, restart Claude Desktop. You'll see "hanzo" (or your custom server name) available in the MCP server dropdown.

For detailed installation and configuration instructions, please refer to the documentation.

Of course, you can also read USEFUL_PROMPTS for some inspiration on how to use hanzo-mcp.

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

Documentation

Comprehensive documentation is available in the docs directory. You can build and view the documentation locally:

# Build the documentation
make docs

# Start a local server to view the documentation
make docs-serve

Then open http://localhost:8000/ in your browser to view the documentation.

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/hanzoai/mcp.git
cd mcp

# Install Python 3.13 using uv
make install-python

# Setup virtual environment and install dependencies
make setup

# Or install with development dependencies
make install-dev

Testing

# Run tests
make test

# Run tests with coverage
make test-cov

Building and Publishing

# Build package
make build

# Version bumping
make bump-patch    # Increment patch version (0.1.x → 0.1.x+1)
make bump-minor    # Increment minor version (0.x.0 → 0.x+1.0)
make bump-major    # Increment major version (x.0.0 → x+1.0.0)

# Manual version bumping (alternative to make commands)
python -m scripts.bump_version patch  # Increment patch version
python -m scripts.bump_version minor  # Increment minor version
python -m scripts.bump_version major  # Increment major version

# Publishing (creates git tag and pushes it to GitHub)
make publish                     # Publish using configured credentials in .pypirc
PYPI_TOKEN=your_token make publish  # Publish with token from environment variable

# Publishing (creates git tag, pushes to GitHub, and publishes to PyPI)
make patch    # Bump patch version, build, publish, create git tag, and push
make minor    # Bump minor version, build, publish, create git tag, and push
make major    # Bump major version, build, publish, create git tag, and push

# Publish to Test PyPI
make publish-test

Contributing

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


Release history Release notifications | RSS feed

Download files

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

Source Distribution

hanzo_mcp-0.5.0.tar.gz (113.3 kB view details)

Uploaded Source

Built Distribution

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

hanzo_mcp-0.5.0-py3-none-any.whl (147.3 kB view details)

Uploaded Python 3

File details

Details for the file hanzo_mcp-0.5.0.tar.gz.

File metadata

  • Download URL: hanzo_mcp-0.5.0.tar.gz
  • Upload date:
  • Size: 113.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for hanzo_mcp-0.5.0.tar.gz
Algorithm Hash digest
SHA256 01b2961fb1beba7c99418dc11a128999673e33d3942dc8620e2b32cd40102205
MD5 472130005fcee11a5139b241b19b468f
BLAKE2b-256 d9ecc3c493ced34c51c7c0763266054114cbad675698ea681a341268921c282f

See more details on using hashes here.

File details

Details for the file hanzo_mcp-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: hanzo_mcp-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 147.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for hanzo_mcp-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b8d5705f204c65653bed40787548fe93c6b5a7b7ea3ddf834c66923ea32428f
MD5 f9748f863bf04de52a17e2726e58a64d
BLAKE2b-256 02016dd48653d3234f6dde10a08a54ebb308ba7aa4be74a582ec07ce8741befd

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