Files
zeekayandHanzo Dev d3110e47ea Major refactor: Unified tools, palette system, dev mode, and shell improvements (v0.6.0)
🎨 **Tool Palette System**
- Created palette system for organizing development tools by ecosystem
- Pre-defined palettes: Python (Guido), Ruby (Matz), JavaScript, Go, Rust, DevOps, Full Stack, Minimal
- `palette` tool to list, activate, and manage tool sets
- Environment variables applied from active palette
- Keeps MCP interface clean while supporting specialized workflows

🔧 **Unified Process Tools with OO Design**
- Refactored all process execution to use clean base class hierarchy
- `BaseProcessTool`, `BaseBinaryTool`, `BaseScriptTool` for consistent interface
- Unified `bash`, `npx`, `uvx` tools with action-based approach (run/background)
- `process` tool for managing background processes
- All tools use same execution pipeline internally

🐚 **Smart Shell Detection**
- Shell tool now detects user's preferred shell from $SHELL environment
- Automatically uses zsh if .zshrc exists (perfect for your setup\!)
- Falls back to bash if no special configuration found
- All zsh aliases, functions, and configurations now available in MCP

🚀 **Development Mode with Hot Reload**
- Added `--dev` flag to hanzo-mcp CLI for development mode
- File watching with automatic reload detection using watchdog
- `hanzo-mcp-dev` command for dedicated dev server
- Watches Python files and config changes
- Debounced reloading to prevent spam

🛠️ **New Tools Added**
- `open`: Opens files/URLs in default application (platform-aware)
- `watch`: Monitors files/directories for changes with pattern matching
- `diff`: Compares files with unified/context diff formats
- `config`: Git-style configuration management

📚 **Documentation & Infrastructure**
- Comprehensive Sphinx documentation with black theme
- Automated deployment to mcp.hanzo.ai via Cloudflare Pages
- GitHub Actions workflow for docs deployment
- 25+ documentation pages organized by category

⚙️ **Configuration Improvements**
- Tool enable/disable system with palette override
- Per-project vs global indexing configuration
- Environment variable management through palettes
- Clean separation of concerns in tool registration

This release provides a much cleaner, more extensible architecture while
maintaining backward compatibility. The palette system makes it easy to
switch between development environments, and the unified process tools
eliminate code duplication while providing consistent behavior.

Co-authored-by: Hanzo Dev <[email protected]>
2025-06-26 17:59:24 -04:00

142 lines
2.9 KiB
ReStructuredText

Installation
============
Hanzo MCP can be installed in multiple ways depending on your use case.
Prerequisites
-------------
- Python 3.12 or higher
- `uv` package manager (recommended) or `pip`
- Claude Desktop (for MCP integration)
Quick Install
-------------
Using uv (Recommended)
~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
# Install uv if you haven't already
pip install uv
# Install Hanzo MCP
uv pip install hanzo-mcp
Using pip
~~~~~~~~~
.. code-block:: bash
pip install hanzo-mcp
Development Installation
------------------------
For contributing or customizing Hanzo MCP:
.. code-block:: bash
# Clone the repository
git clone https://github.com/hanzoai/mcp.git
cd mcp
# Create virtual environment
uv venv .venv --python=3.12
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode
uv pip install -e "."
Claude Desktop Integration
--------------------------
The easiest way to use Hanzo MCP with Claude Desktop:
.. code-block:: bash
# Automatic installation
hanzo-mcp --install
# With custom configuration
hanzo-mcp --install \
--allowed-paths "/path/to/projects,/another/path" \
--server-name "my-hanzo"
Manual Claude Desktop Setup
~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Locate your Claude Desktop configuration:
- **macOS**: ``~/Library/Application Support/Claude/claude_desktop_config.json``
- **Windows**: ``%APPDATA%\Claude\claude_desktop_config.json``
2. Add Hanzo MCP to the configuration:
.. code-block:: json
{
"mcpServers": {
"hanzo": {
"command": "uvx",
"args": ["--from", "hanzo-mcp", "hanzo-mcp"],
"env": {
"HANZO_ALLOWED_PATHS": "/Users/you/projects",
"OPENAI_API_KEY": "sk-...",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
3. Restart Claude Desktop
Docker Installation
-------------------
For isolated environments:
.. code-block:: bash
docker pull hanzoai/mcp:latest
docker run -it \
-v /path/to/projects:/workspace \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
hanzoai/mcp
Verifying Installation
----------------------
Check that Hanzo MCP is installed correctly:
.. code-block:: bash
# Check version
hanzo-mcp --version
# Run in standalone mode
hanzo-mcp --allowed-paths /path/to/project
# View available tools
hanzo-mcp --list-tools
Troubleshooting
---------------
**Command not found**
Ensure your Python scripts directory is in PATH
**Permission errors**
Use ``--allowed-paths`` to grant access to specific directories
**Import errors**
Install missing dependencies: ``uv pip install hanzo-mcp[all]``
Next Steps
----------
- :doc:`quickstart` - Get started with your first project
- :doc:`claude-desktop` - Detailed Claude Desktop configuration
- :doc:`../concepts/permissions` - Understanding the permission system