hanzo-mcp 0.6.9__tar.gz → 0.6.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of hanzo-mcp might be problematic. Click here for more details.
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/PKG-INFO +3 -1
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/README.md +2 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/__init__.py +1 -1
- hanzo_mcp-0.6.10/hanzo_mcp/__main__.py +6 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/cli.py +2 -14
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/server.py +1 -7
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/agent/agent.py +5 -1
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/agent/agent_tool.py +5 -1
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/agent/tool_adapter.py +6 -1
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp.egg-info/PKG-INFO +3 -1
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp.egg-info/SOURCES.txt +0 -1
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp.egg-info/entry_points.txt +1 -1
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/pyproject.toml +2 -2
- hanzo_mcp-0.6.9/hanzo_mcp/__main__.py +0 -17
- hanzo_mcp-0.6.9/hanzo_mcp/entry.py +0 -33
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/LICENSE +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/cli_enhanced.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/config/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/config/settings.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/config/tool_config.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/dev_server.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/prompts/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/prompts/compact_conversation.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/prompts/create_release.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/prompts/project_system.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/prompts/project_todo_reminder.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/prompts/utils.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/agent/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/agent/prompt.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/base.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/batch_tool.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/config_tool.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/context.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/palette.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/palette_loader.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/permissions.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/stats.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/thinking_tool.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/tool_disable.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/tool_enable.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/tool_list.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/common/validation.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/config/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/config/config_tool.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/config/index_config.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/config/palette_tool.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/database_manager.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/graph.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/graph_add.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/graph_query.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/graph_remove.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/graph_search.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/graph_stats.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/sql.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/sql_query.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/sql_search.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/database/sql_stats.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/editor/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/editor/neovim_command.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/editor/neovim_edit.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/editor/neovim_session.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/base.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/batch_search.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/content_replace.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/diff.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/directory_tree.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/edit.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/find.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/find_files.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/git_search.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/grep.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/multi_edit.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/read.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/symbols.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/symbols_unified.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/tree.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/unified_search.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/unix_aliases.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/watch.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/filesystem/write.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/jupyter/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/jupyter/base.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/jupyter/jupyter.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/jupyter/notebook_edit.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/jupyter/notebook_read.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/llm/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/llm/consensus_tool.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/llm/llm_manage.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/llm/llm_tool.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/llm/llm_unified.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/llm/provider_tools.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/mcp/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/mcp/mcp_add.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/mcp/mcp_remove.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/mcp/mcp_stats.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/mcp/mcp_unified.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/base.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/base_process.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/bash_session.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/bash_session_executor.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/bash_unified.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/command_executor.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/logs.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/npx.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/npx_background.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/npx_unified.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/open.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/pkill.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/process_unified.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/processes.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/run_background.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/run_command.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/run_command_windows.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/session_manager.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/session_storage.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/uvx.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/uvx_background.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/shell/uvx_unified.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/todo/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/todo/base.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/todo/todo.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/todo/todo_read.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/todo/todo_write.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/__init__.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/ast_analyzer.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/git_ingester.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/index_tool.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/infinity_store.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/mock_infinity.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/project_manager.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/vector.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/vector_index.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp/tools/vector/vector_search.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp.egg-info/dependency_links.txt +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp.egg-info/requires.txt +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/hanzo_mcp.egg-info/top_level.txt +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/setup.cfg +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/setup.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/tests/test_async_support.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/tests/test_cli.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/tests/test_git_ingestion.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/tests/test_new_tools.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/tests/test_search_quality.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/tests/test_unified_search.py +0 -0
- {hanzo_mcp-0.6.9 → hanzo_mcp-0.6.10}/tests/test_vector_store.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hanzo-mcp
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.10
|
|
4
4
|
Summary: The Zen of Hanzo MCP: One server to rule them all. The ultimate MCP that orchestrates all others.
|
|
5
5
|
Author-email: Hanzo Industries Inc <dev@hanzo.ai>
|
|
6
6
|
License: MIT
|
|
@@ -76,6 +76,8 @@ Hanzo MCP isn't just another Model Context Protocol server—it's **THE** MCP se
|
|
|
76
76
|
uvx hanzo-mcp
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
> **Note on Deprecation Warnings**: If you see Pydantic deprecation warnings, clear your uvx cache with `rm -rf ~/.cache/uv/` and run again. This is due to litellm using old Pydantic v1 config style in cached environments.
|
|
80
|
+
|
|
79
81
|
## 🎯 Why Hanzo MCP?
|
|
80
82
|
|
|
81
83
|
### The Problem with Other MCPs
|
|
@@ -16,6 +16,8 @@ Hanzo MCP isn't just another Model Context Protocol server—it's **THE** MCP se
|
|
|
16
16
|
uvx hanzo-mcp
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
> **Note on Deprecation Warnings**: If you see Pydantic deprecation warnings, clear your uvx cache with `rm -rf ~/.cache/uv/` and run again. This is due to litellm using old Pydantic v1 config style in cached environments.
|
|
20
|
+
|
|
19
21
|
## 🎯 Why Hanzo MCP?
|
|
20
22
|
|
|
21
23
|
### The Problem with Other MCPs
|
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
"""Command-line interface for the Hanzo MCP server."""
|
|
2
2
|
|
|
3
|
-
# CRITICAL: Suppress warnings BEFORE any imports that might trigger them
|
|
4
|
-
import warnings
|
|
5
|
-
import os
|
|
6
|
-
import sys
|
|
7
|
-
|
|
8
|
-
# Set environment variable to suppress warnings in subprocesses
|
|
9
|
-
os.environ["PYTHONWARNINGS"] = "ignore::DeprecationWarning"
|
|
10
|
-
|
|
11
|
-
# Suppress ALL deprecation warnings
|
|
12
|
-
warnings.simplefilter("ignore", DeprecationWarning)
|
|
13
|
-
warnings.filterwarnings("ignore", category=DeprecationWarning)
|
|
14
|
-
|
|
15
|
-
# Now safe to import everything else
|
|
16
3
|
import argparse
|
|
17
4
|
import json
|
|
5
|
+
import os
|
|
18
6
|
import signal
|
|
7
|
+
import sys
|
|
19
8
|
from pathlib import Path
|
|
20
9
|
from typing import Any, cast
|
|
21
10
|
|
|
22
|
-
# Import server AFTER warning suppression
|
|
23
11
|
from hanzo_mcp.server import HanzoMCPServer
|
|
24
12
|
|
|
25
13
|
|
|
@@ -7,13 +7,7 @@ import time
|
|
|
7
7
|
import warnings
|
|
8
8
|
from typing import Literal, cast, final
|
|
9
9
|
|
|
10
|
-
#
|
|
11
|
-
warnings.filterwarnings(
|
|
12
|
-
"ignore",
|
|
13
|
-
category=DeprecationWarning,
|
|
14
|
-
message=".*class-based `config`.*",
|
|
15
|
-
module="pydantic.*"
|
|
16
|
-
)
|
|
10
|
+
# No need for warning suppression here as it's handled in the imports
|
|
17
11
|
|
|
18
12
|
try:
|
|
19
13
|
from fastmcp import FastMCP
|
|
@@ -12,7 +12,11 @@ import uuid
|
|
|
12
12
|
from typing import Annotated, TypedDict, Unpack, final, override, Optional, Dict, Any, List
|
|
13
13
|
from collections.abc import Iterable
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# Import litellm with warnings suppressed
|
|
16
|
+
import warnings
|
|
17
|
+
with warnings.catch_warnings():
|
|
18
|
+
warnings.simplefilter("ignore", DeprecationWarning)
|
|
19
|
+
import litellm
|
|
16
20
|
from mcp.server.fastmcp import Context as MCPContext
|
|
17
21
|
from openai.types.chat import ChatCompletionMessageParam, ChatCompletionToolParam
|
|
18
22
|
from pydantic import Field
|
|
@@ -11,7 +11,11 @@ import time
|
|
|
11
11
|
from collections.abc import Iterable
|
|
12
12
|
from typing import Annotated, TypedDict, Unpack, final, override
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
# Import litellm with warnings suppressed
|
|
15
|
+
import warnings
|
|
16
|
+
with warnings.catch_warnings():
|
|
17
|
+
warnings.simplefilter("ignore", DeprecationWarning)
|
|
18
|
+
import litellm
|
|
15
19
|
from mcp.server.fastmcp import Context as MCPContext
|
|
16
20
|
from mcp.server import FastMCP
|
|
17
21
|
from openai.types.chat import ChatCompletionMessageParam, ChatCompletionToolParam
|
|
@@ -7,7 +7,12 @@ and outputs for agent execution.
|
|
|
7
7
|
|
|
8
8
|
from openai.types import FunctionParameters
|
|
9
9
|
from openai.types.chat import ChatCompletionToolParam
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
# Import litellm with warnings suppressed
|
|
12
|
+
import warnings
|
|
13
|
+
with warnings.catch_warnings():
|
|
14
|
+
warnings.simplefilter("ignore", DeprecationWarning)
|
|
15
|
+
import litellm
|
|
11
16
|
|
|
12
17
|
from hanzo_mcp.tools.common.base import BaseTool
|
|
13
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hanzo-mcp
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.10
|
|
4
4
|
Summary: The Zen of Hanzo MCP: One server to rule them all. The ultimate MCP that orchestrates all others.
|
|
5
5
|
Author-email: Hanzo Industries Inc <dev@hanzo.ai>
|
|
6
6
|
License: MIT
|
|
@@ -76,6 +76,8 @@ Hanzo MCP isn't just another Model Context Protocol server—it's **THE** MCP se
|
|
|
76
76
|
uvx hanzo-mcp
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
> **Note on Deprecation Warnings**: If you see Pydantic deprecation warnings, clear your uvx cache with `rm -rf ~/.cache/uv/` and run again. This is due to litellm using old Pydantic v1 config style in cached environments.
|
|
80
|
+
|
|
79
81
|
## 🎯 Why Hanzo MCP?
|
|
80
82
|
|
|
81
83
|
### The Problem with Other MCPs
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hanzo-mcp"
|
|
7
|
-
version = "0.6.
|
|
7
|
+
version = "0.6.10"
|
|
8
8
|
description = "The Zen of Hanzo MCP: One server to rule them all. The ultimate MCP that orchestrates all others."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.12"
|
|
@@ -54,7 +54,7 @@ performance = ["ujson>=5.7.0", "orjson>=3.9.0"]
|
|
|
54
54
|
publish = ["twine>=4.0.2", "build>=1.0.3"]
|
|
55
55
|
|
|
56
56
|
[project.scripts]
|
|
57
|
-
hanzo-mcp = "hanzo_mcp.
|
|
57
|
+
hanzo-mcp = "hanzo_mcp.cli:main"
|
|
58
58
|
hanzo-mcp-dev = "hanzo_mcp.dev_server:run_dev_server"
|
|
59
59
|
|
|
60
60
|
[tool.setuptools.packages.find]
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"""Main entry point for hanzo-mcp when run as a module."""
|
|
2
|
-
|
|
3
|
-
# MUST suppress warnings BEFORE any imports
|
|
4
|
-
import warnings
|
|
5
|
-
import os
|
|
6
|
-
|
|
7
|
-
# Set environment variable for child processes
|
|
8
|
-
os.environ["PYTHONWARNINGS"] = "ignore::DeprecationWarning"
|
|
9
|
-
|
|
10
|
-
# Suppress all deprecation warnings
|
|
11
|
-
warnings.filterwarnings("ignore", category=DeprecationWarning)
|
|
12
|
-
|
|
13
|
-
# Now we can import
|
|
14
|
-
from hanzo_mcp.cli import main
|
|
15
|
-
|
|
16
|
-
if __name__ == "__main__":
|
|
17
|
-
main()
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
"""Entry point that suppresses warnings before importing anything."""
|
|
3
|
-
|
|
4
|
-
def main():
|
|
5
|
-
# Nuclear option - override warnings.warn before ANY imports
|
|
6
|
-
import warnings
|
|
7
|
-
import os
|
|
8
|
-
import sys
|
|
9
|
-
|
|
10
|
-
# Store original
|
|
11
|
-
_original_warn = warnings.warn
|
|
12
|
-
|
|
13
|
-
# Override with filter
|
|
14
|
-
def filtered_warn(message, category=None, stacklevel=1):
|
|
15
|
-
# Skip Pydantic deprecation warnings
|
|
16
|
-
if (category == DeprecationWarning and
|
|
17
|
-
("class-based `config`" in str(message) or
|
|
18
|
-
"PydanticDeprecatedSince20" in str(message))):
|
|
19
|
-
return
|
|
20
|
-
_original_warn(message, category, stacklevel)
|
|
21
|
-
|
|
22
|
-
# Replace globally
|
|
23
|
-
warnings.warn = filtered_warn
|
|
24
|
-
|
|
25
|
-
# Also set environment
|
|
26
|
-
os.environ["PYTHONWARNINGS"] = "ignore::DeprecationWarning"
|
|
27
|
-
|
|
28
|
-
# Now import the CLI
|
|
29
|
-
from hanzo_mcp.cli import main as cli_main
|
|
30
|
-
cli_main()
|
|
31
|
-
|
|
32
|
-
if __name__ == "__main__":
|
|
33
|
-
main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|