hanzo-mcp
A Model Context Protocol server. It gives an MCP client — Claude Desktop, an editor, an agent — filesystem, shell, search and agent tools over one connection.
Install
pip install hanzo-mcp
Run
hanzo-mcp # stdio, the transport clients speak
hanzo-mcp --transport sse --host 127.0.0.1 --port 8888
hanzo-mcp --install # write the config into Claude Desktop
Point it at what it may touch, and nothing else:
hanzo-mcp --allow-path ~/work/project --project-dir ~/work/project
--allow-path may be repeated. Every filesystem tool refuses a path outside the
set, and .. and ~ are refused before resolution.
Flags
| flag | what it does |
|---|---|
--transport {stdio,sse} |
how the client connects; stdio by default |
--allow-path PATH |
grant access to a path; repeatable |
--project-dir DIR |
the project root, also granted |
--enable-agent |
let the server delegate to sub-agents |
--agent-model, --agent-api-key, --agent-base-url |
which model the agent tool calls |
--disable-write-tools |
read-only: no write, edit or shell mutation |
--disable-search-tools |
drop the search family |
--command-timeout, --search-timeout, --find-timeout, --ast-timeout |
per-family limits, in seconds |
--shell, --force-shell, --all-shells |
which shell the shell tools use |
--log-level LEVEL |
server logging |
hanzo-mcp --help prints the whole set; --version prints the build.
Tools
The server registers what the installed hanzo-tools-* packages provide — each
one publishes a TOOLS list under the hanzo.tools entry point, and the server
loads every package it finds. hanzo-tools-fs, hanzo-tools-shell and
hanzo-tools-core come with this package; install another and its tools appear
on the next start.
pip install hanzo-tools-git hanzo-tools-sql
In a client
Claude Desktop, claude_desktop_config.json — or hanzo-mcp --install, which
writes it for you:
{
"mcpServers": {
"hanzo": {
"command": "hanzo-mcp",
"args": ["--allow-path", "/Users/you/work"]
}
}
}
Embedding it
from hanzo_mcp.server import HanzoMCPServer
server = HanzoMCPServer(name="hanzo", allowed_paths=["/Users/you/work"])
server.run(transport="stdio")
run blocks, and takes the transport. The rest of what the CLI accepts —
allowed_paths, project_dir, enable_agent_tool, disable_write_tools,
disable_search_tools, the timeouts — are constructor keywords.
Development
uv sync
uv run pytest tests/ -v
License
Apache-2.0.
Metadata
Release files for hanzo-mcp 0.15.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hanzo_mcp-0.15.16.tar.gz | 276.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hanzo_mcp-0.15.16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 489.4 kB
Release files / hanzo_mcp-0.15.16.tar.gz
| Download URL | hanzo_mcp-0.15.16.tar.gz |
|---|---|
| Size | 276.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed52f16fe1efc70b7d76c263cc2de60ac64b7cb7268beba5698b107e89c433e8
|
|
BLAKE2b-256 checksum How to use checksums |
8a5c8101367d4725023fec04ca1a349a0c931ef8a5ba2c8c397c8613495808fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / hanzo_mcp-0.15.16-py3-none-any.whl
| Download URL | hanzo_mcp-0.15.16-py3-none-any.whl |
|---|---|
| Size | 212.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b77c84008fdab1747b1fc5fc76287be6e2f1ae1e7d79a53214f2fcf10acbbdff
|
|
BLAKE2b-256 checksum How to use checksums |
34867e5f8aaecdcffccb62b1741ecc40f4860884898df72fab967cbd6c906213
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|