hanzo-mcp 0.8.2__py3-none-any.whl → 0.8.4__py3-none-any.whl

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.

@@ -0,0 +1,411 @@
1
+ Metadata-Version: 2.4
2
+ Name: hanzo-mcp
3
+ Version: 0.8.4
4
+ Summary: The Zen of Hanzo MCP: One server to rule them all. The ultimate MCP that orchestrates all others.
5
+ Author-email: Hanzo Industries Inc <dev@hanzo.ai>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/hanzoai/mcp
8
+ Project-URL: Bug Tracker, https://github.com/hanzoai/mcp/issues
9
+ Project-URL: Documentation, https://mcp.hanzo.ai
10
+ Keywords: mcp,claude,hanzo,code,agent
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: OS Independent
14
+ Requires-Python: >=3.12
15
+ Description-Content-Type: text/markdown
16
+ Requires-Dist: mcp>=1.9.4
17
+ Requires-Dist: fastmcp>=2.9.2
18
+ Requires-Dist: httpx>=0.28.1
19
+ Requires-Dist: uvicorn>=0.34.0
20
+ Requires-Dist: openai>=1.62.0
21
+ Requires-Dist: python-dotenv>=1.0.1
22
+ Requires-Dist: litellm>=1.73.2
23
+ Requires-Dist: grep-ast>=0.8.1
24
+ Requires-Dist: bashlex>=0.18
25
+ Requires-Dist: libtmux>=0.39.0
26
+ Requires-Dist: nbformat>=5.10.4
27
+ Requires-Dist: psutil>=6.0.0
28
+ Requires-Dist: pydantic>=2.9.2
29
+ Requires-Dist: pydantic-settings>=2.7.0
30
+ Requires-Dist: typing-extensions>=4.13.0
31
+ Requires-Dist: watchdog>=6.0.0
32
+ Requires-Dist: keyring>=24.0.0
33
+ Requires-Dist: ffind>=1.3.0
34
+ Provides-Extra: dev
35
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
36
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
37
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
38
+ Requires-Dist: black>=23.3.0; extra == "dev"
39
+ Requires-Dist: sphinx>=8.0.0; extra == "dev"
40
+ Requires-Dist: sphinx-rtd-theme>=3.0.0; extra == "dev"
41
+ Requires-Dist: myst-parser>=4.0.0; extra == "dev"
42
+ Requires-Dist: sphinx-copybutton>=0.5.0; extra == "dev"
43
+ Requires-Dist: mypy>=1.10.0; extra == "dev"
44
+ Requires-Dist: types-aiofiles>=23.2.0; extra == "dev"
45
+ Requires-Dist: types-psutil>=5.9.5; extra == "dev"
46
+ Requires-Dist: types-setuptools>=69.5.0; extra == "dev"
47
+ Provides-Extra: docs
48
+ Requires-Dist: sphinx>=8.0.0; extra == "docs"
49
+ Requires-Dist: sphinx-rtd-theme>=3.0.0; extra == "docs"
50
+ Requires-Dist: myst-parser>=4.0.0; extra == "docs"
51
+ Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
52
+ Provides-Extra: analytics
53
+ Requires-Dist: posthog>=3.0.0; extra == "analytics"
54
+ Provides-Extra: test
55
+ Requires-Dist: pytest>=7.0.0; extra == "test"
56
+ Requires-Dist: pytest-cov>=4.1.0; extra == "test"
57
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
58
+ Requires-Dist: pytest-asyncio>=0.25.3; extra == "test"
59
+ Requires-Dist: twisted; extra == "test"
60
+ Provides-Extra: agents
61
+ Requires-Dist: hanzo-agents>=0.1.0; extra == "agents"
62
+ Provides-Extra: memory
63
+ Requires-Dist: hanzo-memory>=1.0.0; extra == "memory"
64
+ Provides-Extra: performance
65
+ Requires-Dist: ujson>=5.7.0; extra == "performance"
66
+ Requires-Dist: orjson>=3.9.0; extra == "performance"
67
+ Provides-Extra: publish
68
+ Requires-Dist: twine>=4.0.2; extra == "publish"
69
+ Requires-Dist: build>=1.0.3; extra == "publish"
70
+
71
+ # Hanzo Model Context Protocol (MCP)
72
+
73
+ [![PyPI](https://img.shields.io/pypi/v/hanzo-mcp.svg)](https://pypi.org/project/hanzo-mcp/)
74
+ [![Python Version](https://img.shields.io/pypi/pyversions/hanzo-mcp.svg)](https://pypi.org/project/hanzo-mcp/)
75
+
76
+ Model Context Protocol implementation for advanced tool use and context management.
77
+
78
+ ## Installation
79
+
80
+ ```bash
81
+ pip install hanzo-mcp
82
+ ```
83
+
84
+ ## Features
85
+
86
+ - **Tool Management**: Register and manage AI tools
87
+ - **File Operations**: Read, write, edit files
88
+ - **Code Intelligence**: AST analysis, symbol search
89
+ - **Shell Execution**: Run commands safely
90
+ - **Agent Delegation**: Recursive agent capabilities
91
+ - **Memory Integration**: Persistent context storage
92
+ - **Batch Operations**: Execute multiple tools efficiently
93
+
94
+ ## Quick Start
95
+
96
+ ### Basic Usage
97
+
98
+ ```python
99
+ from hanzo_mcp import create_mcp_server
100
+
101
+ # Create MCP server
102
+ server = create_mcp_server()
103
+
104
+ # Register tools
105
+ server.register_filesystem_tools()
106
+ server.register_shell_tools()
107
+ server.register_agent_tools()
108
+
109
+ # Start server
110
+ await server.start()
111
+ ```
112
+
113
+ ### Tool Categories
114
+
115
+ #### Filesystem Tools
116
+
117
+ ```python
118
+ # Read file
119
+ content = await server.tools.read(file_path="/path/to/file.py")
120
+
121
+ # Write file
122
+ await server.tools.write(
123
+ file_path="/path/to/new.py",
124
+ content="print('Hello')"
125
+ )
126
+
127
+ # Edit file
128
+ await server.tools.edit(
129
+ file_path="/path/to/file.py",
130
+ old_string="old code",
131
+ new_string="new code"
132
+ )
133
+
134
+ # Multi-edit
135
+ await server.tools.multi_edit(
136
+ file_path="/path/to/file.py",
137
+ edits=[
138
+ {"old_string": "foo", "new_string": "bar"},
139
+ {"old_string": "baz", "new_string": "qux"}
140
+ ]
141
+ )
142
+ ```
143
+
144
+ #### Search Tools
145
+
146
+ ```python
147
+ # Unified search (grep + AST + semantic)
148
+ results = await server.tools.search(
149
+ pattern="function_name",
150
+ path="/project"
151
+ )
152
+
153
+ # AST-aware search
154
+ results = await server.tools.grep_ast(
155
+ pattern="class.*Service",
156
+ path="/src"
157
+ )
158
+
159
+ # Symbol search
160
+ symbols = await server.tools.symbols(
161
+ pattern="def test_",
162
+ path="/tests"
163
+ )
164
+ ```
165
+
166
+ #### Shell Tools
167
+
168
+ ```python
169
+ # Run command
170
+ result = await server.tools.bash(
171
+ command="ls -la",
172
+ cwd="/project"
173
+ )
174
+
175
+ # Run with auto-backgrounding
176
+ result = await server.tools.bash(
177
+ command="python server.py",
178
+ timeout=120000 # Auto-backgrounds after 2 min
179
+ )
180
+
181
+ # Manage processes
182
+ processes = await server.tools.process(action="list")
183
+ logs = await server.tools.process(
184
+ action="logs",
185
+ id="bash_abc123"
186
+ )
187
+ ```
188
+
189
+ #### Agent Tools
190
+
191
+ ```python
192
+ # Dispatch agent for complex tasks
193
+ result = await server.tools.dispatch_agent(
194
+ prompt="Analyze the codebase architecture",
195
+ path="/project"
196
+ )
197
+
198
+ # Network of agents
199
+ result = await server.tools.network(
200
+ task="Implement user authentication",
201
+ agents=["architect", "developer", "tester"]
202
+ )
203
+
204
+ # CLI tool integration
205
+ result = await server.tools.claude(
206
+ args=["--analyze", "main.py"]
207
+ )
208
+ ```
209
+
210
+ #### Batch Operations
211
+
212
+ ```python
213
+ # Execute multiple tools in parallel
214
+ results = await server.tools.batch(
215
+ description="Read multiple files",
216
+ invocations=[
217
+ {"tool_name": "read", "input": {"file_path": "file1.py"}},
218
+ {"tool_name": "read", "input": {"file_path": "file2.py"}},
219
+ {"tool_name": "grep", "input": {"pattern": "TODO"}}
220
+ ]
221
+ )
222
+ ```
223
+
224
+ ## Advanced Features
225
+
226
+ ### Custom Tools
227
+
228
+ ```python
229
+ from hanzo_mcp import Tool
230
+
231
+ class MyCustomTool(Tool):
232
+ name = "my_tool"
233
+ description = "Custom tool"
234
+
235
+ async def call(self, ctx, **params):
236
+ # Tool implementation
237
+ return "Result"
238
+
239
+ # Register custom tool
240
+ server.register_tool(MyCustomTool())
241
+ ```
242
+
243
+ ### Permission Management
244
+
245
+ ```python
246
+ from hanzo_mcp import PermissionManager
247
+
248
+ # Create permission manager
249
+ pm = PermissionManager()
250
+
251
+ # Set permission mode
252
+ pm.set_mode("review") # review, auto_approve, auto_deny
253
+
254
+ # Check permission
255
+ allowed = await pm.check_permission(
256
+ tool="write",
257
+ params={"file_path": "/etc/passwd"}
258
+ )
259
+ ```
260
+
261
+ ### Context Management
262
+
263
+ ```python
264
+ from hanzo_mcp import ToolContext
265
+
266
+ # Create context
267
+ ctx = ToolContext(
268
+ cwd="/project",
269
+ env={"API_KEY": "secret"},
270
+ timeout=30000
271
+ )
272
+
273
+ # Use with tools
274
+ result = await tool.call(ctx, **params)
275
+ ```
276
+
277
+ ## Configuration
278
+
279
+ ### Environment Variables
280
+
281
+ ```bash
282
+ # API keys for agent tools
283
+ ANTHROPIC_API_KEY=sk-ant-...
284
+ OPENAI_API_KEY=sk-...
285
+
286
+ # Tool settings
287
+ MCP_PERMISSION_MODE=review
288
+ MCP_MAX_FILE_SIZE=10485760
289
+ MCP_TIMEOUT=120000
290
+
291
+ # Search settings
292
+ MCP_SEARCH_IGNORE=node_modules,*.pyc
293
+ MCP_SEARCH_MAX_RESULTS=100
294
+ ```
295
+
296
+ ### Configuration File
297
+
298
+ ```yaml
299
+ tools:
300
+ filesystem:
301
+ enabled: true
302
+ max_file_size: 10MB
303
+ allowed_paths:
304
+ - /home/user/projects
305
+ - /tmp
306
+
307
+ shell:
308
+ enabled: true
309
+ timeout: 120000
310
+ auto_background: true
311
+
312
+ agent:
313
+ enabled: true
314
+ models:
315
+ - claude-3-opus
316
+ - gpt-4
317
+
318
+ search:
319
+ ignore_patterns:
320
+ - node_modules
321
+ - "*.pyc"
322
+ - .git
323
+ max_results: 100
324
+
325
+ permissions:
326
+ mode: review # review, auto_approve, auto_deny
327
+ whitelist:
328
+ - read
329
+ - grep
330
+ - search
331
+ blacklist:
332
+ - rm
333
+ - sudo
334
+ ```
335
+
336
+ ## CLI Usage
337
+
338
+ ### Installation to Claude Desktop
339
+
340
+ ```bash
341
+ # Install to Claude Desktop
342
+ hanzo-mcp install-desktop
343
+
344
+ # Serve MCP
345
+ hanzo-mcp serve --port 3000
346
+ ```
347
+
348
+ ### Standalone Server
349
+
350
+ ```bash
351
+ # Start MCP server
352
+ hanzo-mcp serve
353
+
354
+ # With custom config
355
+ hanzo-mcp serve --config mcp-config.yaml
356
+
357
+ # With specific tools
358
+ hanzo-mcp serve --tools filesystem,shell,agent
359
+ ```
360
+
361
+ ## Development
362
+
363
+ ### Setup
364
+
365
+ ```bash
366
+ cd pkg/hanzo-mcp
367
+ uv sync --all-extras
368
+ ```
369
+
370
+ ### Testing
371
+
372
+ ```bash
373
+ # Unit tests
374
+ pytest tests/ -v
375
+
376
+ # Integration tests
377
+ pytest tests/ -m integration
378
+
379
+ # With coverage
380
+ pytest tests/ --cov=hanzo_mcp
381
+ ```
382
+
383
+ ### Building
384
+
385
+ ```bash
386
+ uv build
387
+ ```
388
+
389
+ ## Architecture
390
+
391
+ ### Tool Categories
392
+
393
+ - **Filesystem**: File operations (read, write, edit)
394
+ - **Search**: Code search (grep, AST, semantic)
395
+ - **Shell**: Command execution and process management
396
+ - **Agent**: AI agent delegation and orchestration
397
+ - **Memory**: Context and knowledge persistence
398
+ - **Config**: Configuration management
399
+ - **LLM**: Direct LLM interactions
400
+
401
+ ### Security
402
+
403
+ - Permission system for dangerous operations
404
+ - Path validation and sandboxing
405
+ - Command injection protection
406
+ - Rate limiting on operations
407
+ - Audit logging
408
+
409
+ ## License
410
+
411
+ Apache License 2.0
@@ -1,19 +1,21 @@
1
- hanzo_mcp/__init__.py,sha256=wnFIxe852rFEPOs7DVn4fGJ_ui5m7CHXs1m6cKPvO04,541
1
+ hanzo_mcp/__init__.py,sha256=DRSsStAQLco33avsyYOk6liW-6fIqkPi8CyXlJiFtoU,868
2
2
  hanzo_mcp/__main__.py,sha256=EvDEygOjvP6S_CrZSL8E4qgGUcO_xfmzEIbsLEHPaK4,130
3
- hanzo_mcp/bridge.py,sha256=WDPzpqmMXs7ZF4JDVuc8rAPKr_Zq7ky3RGOc_LU15UE,15605
4
- hanzo_mcp/cli.py,sha256=lGsPYN-Msa-5jcxUBATS0B24MSJyTqvfXPaIpjoZW_Q,13378
3
+ hanzo_mcp/bridge.py,sha256=ewZprfl5Hbf2LXxQf4KazMy7pOiPVx_paX4rZ0NhgDU,14995
4
+ hanzo_mcp/cli.py,sha256=OyOArc3IOj8v0xvKbmm1bsmOlQZyjdE07EDE3cV0Akk,14823
5
5
  hanzo_mcp/cli_enhanced.py,sha256=Nr4sXJ-dK9jkQ4BRDdwotXUwakL8CGme-FlYNPqCq0U,16022
6
6
  hanzo_mcp/cli_plugin.py,sha256=nQVn0sYP1eDaz61QbHwT6BBRPfYZb1eH1HJ1l5QkHsw,3281
7
- hanzo_mcp/compute_nodes.py,sha256=URYyZMOz9_Qp3M9sNqpnP0w4Rw-TD9j_BC7RdwdGanE,6112
8
- hanzo_mcp/dev_server.py,sha256=hoXKPSO8i-NCg1enC01uJsPVDyCeliWbeIptbIa_XDY,8332
9
- hanzo_mcp/server.py,sha256=auBJ7UmqOZkAsN0ltwDGmupVYcQfdKh5Dr9-bZBB8w4,10401
7
+ hanzo_mcp/compute_nodes.py,sha256=mFHQdxyo_SEeiwrQaPg-V9q2xmMRQiO7X_NePrWhSZ4,6315
8
+ hanzo_mcp/dev_server.py,sha256=AiYHQ1-EwzpVqD9tJN5y_LQeJdy3_uDzffPsZV3GGRM,8317
9
+ hanzo_mcp/server.py,sha256=Ad3S5s48FQpmqNS_3Ql_pAXxt2ST0omLEauoHy7AURs,10408
10
10
  hanzo_mcp/server_enhanced.py,sha256=bBrObdysyda6Ggf-E3aL7UwktUNzYO_HG1V45Av5r-E,2003
11
11
  hanzo_mcp/types.py,sha256=4YjIJmM7byrsY4eN10pbhIUpFMQ-fZrpK6scgt-U9dU,648
12
12
  hanzo_mcp/analytics/__init__.py,sha256=ANyntTooBrpa_uvwE6KbYxB9uda610UT10pt2rrLiUU,213
13
13
  hanzo_mcp/analytics/posthog_analytics.py,sha256=sNwwhNUbz47bqsM6Fy7FDYZJb1fNB2B5vXeDtTx88KU,10690
14
14
  hanzo_mcp/config/__init__.py,sha256=1ifMucAN-htFEGdRpiC1T809Q03Bd7YUE5ATOHNi6Po,505
15
- hanzo_mcp/config/settings.py,sha256=9SQWEP74DNmz1w6uz1cog7lJ5cjQL0vHTKRzFx7c6Ig,18388
15
+ hanzo_mcp/config/settings.py,sha256=5JLqC_wdwQdIzGmwmyZh8aKWpYfxM8m8F268-K4Mr2A,18985
16
16
  hanzo_mcp/config/tool_config.py,sha256=SaH9fT6cXVBfJuNu3a8M-XiE1LGTqgyhcm6MP5Ja-a8,6842
17
+ hanzo_mcp/core/base_agent.py,sha256=KgYzgU9ChPGdvtjKl1lhV5kqwGDduJdqGvczKicRHI8,15496
18
+ hanzo_mcp/core/model_registry.py,sha256=vMluoWgVwhYxZP2DnNzkccvNx1Pn7QXV2V4Bgd-jt8E,13342
17
19
  hanzo_mcp/prompts/__init__.py,sha256=h3AXLEsI5uZNr_DiGzJesytp1u_YSoGc3BZYIbU_yNU,7676
18
20
  hanzo_mcp/prompts/compact_conversation.py,sha256=nvD068KEesiMcevxxMBeIJh6AqT7YHOqyH6RepRFFfA,4206
19
21
  hanzo_mcp/prompts/create_release.py,sha256=1Z8xSTtz5vAm0rWFnERpFu7wIYExT4iXhM6nGmQaM-s,1374
@@ -23,16 +25,17 @@ hanzo_mcp/prompts/project_system.py,sha256=FgWxRaX7rPQwDZT3n69yBwLkQv4uJ4jcUZjKz
23
25
  hanzo_mcp/prompts/project_todo_reminder.py,sha256=oN1EG0FR4XnxvFOXX_E5EFvX6L-8uYlX0hxFEiDRERc,3644
24
26
  hanzo_mcp/prompts/tool_explorer.py,sha256=6mI35V_EH8AA4pWIMAeG96qP1VPrU1HgnxwVyB0bg5A,16411
25
27
  hanzo_mcp/prompts/utils.py,sha256=IwxIhzZfYJ2anToPulbrpcc07u4Dozo9ok6VE3BC_4A,9963
26
- hanzo_mcp/tools/__init__.py,sha256=8ZDZ53mCSNNw6C8VDvRMN8jEgdPeNy0TvzKcmhMdZq0,18577
27
- hanzo_mcp/tools/agent/__init__.py,sha256=GHyg7Gvd9b49r5LJjlDpCoBKt9hsxzHWMAUTMPWEyuk,4228
28
+ hanzo_mcp/tools/__init__.py,sha256=BaouJ0V3KglQccnTeS2Rrdjf04V3gGYWenMq5e49AHc,18814
29
+ hanzo_mcp/tools/agent/__init__.py,sha256=UGDZ0Ehi8sVoE-Utq7jMI5SPkmHqsV6-RH55iMql4wg,4784
28
30
  hanzo_mcp/tools/agent/agent.py,sha256=bgVbLmeXHVlO2TDLmjDeKw0IzXy73mFisSLylj39XaM,13151
29
- hanzo_mcp/tools/agent/agent_tool.py,sha256=UNWz1uWJuKNSXpamYtBE6HYPbQfQO5E3Gv_wIYXVhqQ,16228
31
+ hanzo_mcp/tools/agent/agent_tool.py,sha256=DeK0TWz3dFOS-_KTtcog8kqb9RjI9bXWaGACoSFDNYw,16814
30
32
  hanzo_mcp/tools/agent/agent_tool_v1_deprecated.py,sha256=JWHhkHdfsbsVAA5bGtJdcmONWQrcCOIcnjr5BXbuNgw,26578
31
33
  hanzo_mcp/tools/agent/clarification_protocol.py,sha256=QYJTmDSJVRDyZMow80TxWmnJurxuLo1MaIFge8t_Yvk,8041
32
34
  hanzo_mcp/tools/agent/clarification_tool.py,sha256=up40UJLY5JrS6D3yBD1lW1vSrh79JNa3LoKrrNmAmwg,2449
33
35
  hanzo_mcp/tools/agent/claude_cli_tool.py,sha256=55Wc0LKgYCtDKQ02NXOYPMhx-sW7fL_NSCx0upsvvb4,3812
34
36
  hanzo_mcp/tools/agent/claude_desktop_auth.py,sha256=EoP-OWMg9QATsVjBGisyd0P_EV8fzLp284JIdqDwp7U,16203
35
37
  hanzo_mcp/tools/agent/cli_agent_base.py,sha256=FanJ-C9dzx7x1e-uSNQfIWrCMsPyCl34FyUgtnpfXG4,6494
38
+ hanzo_mcp/tools/agent/cli_tools.py,sha256=8nonHL5FnOMfJ83zj41KJOGaisoGw04ybz2zOZezrNA,16567
36
39
  hanzo_mcp/tools/agent/code_auth.py,sha256=G8ZHQYKm3DRSknmkwYdUoPtnQr5xcQePZ8VcBNqrMG0,13948
37
40
  hanzo_mcp/tools/agent/code_auth_tool.py,sha256=R5Cod5VTX30G_tQT5W-6qYQKi4Qr1LYXLZPq7ZT4zLM,6165
38
41
  hanzo_mcp/tools/agent/codex_cli_tool.py,sha256=9jyB4cTtdcK50g6oapk7Bo4n8C8bAO2B9RuHHLOtP54,3697
@@ -40,18 +43,19 @@ hanzo_mcp/tools/agent/critic_tool.py,sha256=GCjFnQy9jLVGfCcJf_wLuYvBQcnOMrxpDcjJ
40
43
  hanzo_mcp/tools/agent/gemini_cli_tool.py,sha256=4PE7qYGlFC6_u0T2_Yh3WfBqZjuZM4UY2rPBkKtwaEU,3927
41
44
  hanzo_mcp/tools/agent/grok_cli_tool.py,sha256=YH1qweHDWDm-Yo84gcw_bL2w_vIdhSc6f7LNJlAHSeQ,3761
42
45
  hanzo_mcp/tools/agent/iching_tool.py,sha256=CalCYCzsiDo1fdPp4sfCaEEvW281sHqE74VewM9u9v4,23602
43
- hanzo_mcp/tools/agent/network_tool.py,sha256=rnK40YcbqPILtB5hqijTjnylX3Xwe-xvEI59Z4T-K7o,9959
46
+ hanzo_mcp/tools/agent/network_tool.py,sha256=diDemnua7QZZfAmAWN2yWXAUYAdycRoWqi1jzqbDwhQ,8559
44
47
  hanzo_mcp/tools/agent/prompt.py,sha256=Z-kQrbg8Uivm-ki468s-jjdydzx8XrPPZuwSg_r6S6c,6814
45
48
  hanzo_mcp/tools/agent/review_tool.py,sha256=npwHTsJqojuuT_nLWqOtCdgaX3FKXfe9uSIlqIco_Tw,16828
46
49
  hanzo_mcp/tools/agent/swarm_alias.py,sha256=7LwyAV2enw9KGzGS1lhPU9ty4btXuEbMkeUYoLEWE1Y,2992
47
50
  hanzo_mcp/tools/agent/swarm_tool.py,sha256=o4J-7RGI9uRDmg3Cj-tLV2zxnaF8dV6vrchAPBPRa6A,22352
48
51
  hanzo_mcp/tools/agent/swarm_tool_v1_deprecated.py,sha256=Bbmz9TUhyaiqhekJPuOmfM9ZmRkG7e1f8aCCcX9jw0I,20792
49
52
  hanzo_mcp/tools/agent/tool_adapter.py,sha256=rLItgdKvvfzJL4chNIrNK_I5kSCm6ocmi83RQm93NgA,3191
53
+ hanzo_mcp/tools/agent/unified_cli_tools.py,sha256=a6a77eIHnX04umQ4Qj3ZNy3liobjvCOY4KrVNLuikPI,8398
50
54
  hanzo_mcp/tools/common/__init__.py,sha256=2gXIERXM7sALINWfDBbH_khzBRatvwQSWgpAvKlfy4o,1283
51
55
  hanzo_mcp/tools/common/base.py,sha256=W46BbEhaPZ4fD1fTBpSt59kYjhV4-ALnS_83KOO2yHA,5875
52
- hanzo_mcp/tools/common/batch_tool.py,sha256=Sx5crTn-q6OnPg09ykI_TQfTlMkEXayzD-LAPOmJ1-w,16050
56
+ hanzo_mcp/tools/common/batch_tool.py,sha256=OGqU9q-bTom13Qnstm2aTs3AIenvf24gQgRVgF5WEmM,16183
53
57
  hanzo_mcp/tools/common/config_tool.py,sha256=zflCiXBP9OmF85KhMQpM5kN6qZj5OHnWfqU7PiJyI7o,16128
54
- hanzo_mcp/tools/common/context.py,sha256=Xw7vr7QPQiUo--ZyxpdH7iYa_blbRvDCcfkV8UXtVhA,5120
58
+ hanzo_mcp/tools/common/context.py,sha256=y7Ct2g5VtXOOenvBQHiUElvTqSGnoT6UQBGT4X92KKk,5140
55
59
  hanzo_mcp/tools/common/context_fix.py,sha256=UNRpm_83x0iCsme7Y0D8NyvtJpyoS-7pcbXHaAnvp28,763
56
60
  hanzo_mcp/tools/common/critic_tool.py,sha256=gGeiZ8hiIP0-hfcKjUst6Tp_aE704ciOHRJDQT-RExw,6257
57
61
  hanzo_mcp/tools/common/decorators.py,sha256=9vGa1jkBn8U-qS4dDcDIoJJ5ro7It7IVlJop59E93NQ,6573
@@ -75,7 +79,7 @@ hanzo_mcp/tools/common/tool_list.py,sha256=qmP-N-SF03teplA0IB-yoTz-AZ7TsToHy2LO-
75
79
  hanzo_mcp/tools/common/truncate.py,sha256=D_RSTh0ZaEuuY-mwvgv46OEA9FtQRbJYcIOk_eVG4HM,3110
76
80
  hanzo_mcp/tools/common/validation.py,sha256=cBA4sqDapIAXUj9mVQVzM3lS_KovDrI5Ct66muxy538,1693
77
81
  hanzo_mcp/tools/config/__init__.py,sha256=Elxh2EV-SZ43XJGFBkMmE1Kb-ANZWTDnBTQyNOq8baA,313
78
- hanzo_mcp/tools/config/config_tool.py,sha256=qGstBEJMIcQr04lNpnDTkzxivd1QkBkJagCF3P-OHxQ,6788
82
+ hanzo_mcp/tools/config/config_tool.py,sha256=f32DunOPJ3wQ-8xD5u2vwmLkSDwO6fBpx7wvy3_Wy0E,12341
79
83
  hanzo_mcp/tools/config/index_config.py,sha256=DXCFyxA2JxogA36FBqXwfHmjHk_uE1kdtxB5cNh0GBM,6205
80
84
  hanzo_mcp/tools/config/mode_tool.py,sha256=yKNNvQTgLtyA5OCcxkB5zwkqkbkjl5phZdl0wlEI0k8,10969
81
85
  hanzo_mcp/tools/database/__init__.py,sha256=UJEQWCeqUmyWu1npfy2T2dYT1rI7RawXqHwVhrmVhE8,2145
@@ -94,7 +98,7 @@ hanzo_mcp/tools/editor/__init__.py,sha256=UfwWP23OUFmd6dYRwm2fKfaYDlignQ2gfi32yR
94
98
  hanzo_mcp/tools/editor/neovim_command.py,sha256=or_Fi84ETsiIRkFHTCKYq9eX30mlrtwBKpiKvBcQ3D0,8056
95
99
  hanzo_mcp/tools/editor/neovim_edit.py,sha256=AQjdxmAAAdZ4vA6C5FuMgLAqE-R29F8o3K0o1N5DTRI,8590
96
100
  hanzo_mcp/tools/editor/neovim_session.py,sha256=wdQBLf9hctaaN6qybdQo7vQ7jlYBP9wFJEVDa46Rbfc,11715
97
- hanzo_mcp/tools/filesystem/__init__.py,sha256=yUFqSJbFMa76X5KSA55H1mwkgMhi_fjuH8FEpTQ6GHY,7765
101
+ hanzo_mcp/tools/filesystem/__init__.py,sha256=8Uy8mCW9EXEtRLa0Tr0j9eA87diV0FNldKLJxPuPs1Q,8537
98
102
  hanzo_mcp/tools/filesystem/ast_multi_edit.py,sha256=2a3WQj8mwyqoE5GhkDTfTCUaRlFcovZNNtosQzvTzkA,22574
99
103
  hanzo_mcp/tools/filesystem/ast_tool.py,sha256=w_jk1K4TilYsm8tM5M0EQN7KBP_myd5B5NmZjdlEtjM,7286
100
104
  hanzo_mcp/tools/filesystem/base.py,sha256=BZ7Puzg2xFiypjUtgRXzEeFvM1mma1X6K7troCgGOZ4,3818
@@ -122,10 +126,11 @@ hanzo_mcp/tools/jupyter/base.py,sha256=IKJh4k1ywoZvVpEBELfVPHi5A0TQHGak59SeHZmrp
122
126
  hanzo_mcp/tools/jupyter/jupyter.py,sha256=O8-ctsmC8MfhWJ5YJ_-tBBhOWm1Bri3Kzd7gCdyyayU,14187
123
127
  hanzo_mcp/tools/jupyter/notebook_edit.py,sha256=p2tKYCwWQzBSIBQStJ-hrbNaL1s2TqY_gVaUkn2RDAU,11807
124
128
  hanzo_mcp/tools/jupyter/notebook_read.py,sha256=4cTiianHyW2upWnZhnvf643XIkrlIF0baZFsUo36e6A,5188
125
- hanzo_mcp/tools/llm/__init__.py,sha256=kkqvntkw85ArfnlNYiaB0Kxy7AOA5qNb2hjTOY6vPyc,653
129
+ hanzo_mcp/tools/llm/__init__.py,sha256=4j8X6wqwchBEur0KYqsmPebRw8ZthDj9StpC41csk0M,1524
126
130
  hanzo_mcp/tools/llm/consensus_tool.py,sha256=7BAdTp8sVASF71CYpdgpg_Bt3EFwGBfZomrCo4BMJwM,11537
127
131
  hanzo_mcp/tools/llm/llm_manage.py,sha256=XEVPevHDcI5k7IgaFkmhaEHlDS8qEZKizVXKpJFs-9w,16006
128
- hanzo_mcp/tools/llm/llm_tool.py,sha256=q1dBMhtcITdABL4VSODP9bDKVOiAfqamVTtJQvo1cyo,29475
132
+ hanzo_mcp/tools/llm/llm_tool.py,sha256=wmbs3fvoS8NY2ux63ZjwBVJzsx0EkvnItTGeUXQPH0Y,30223
133
+ hanzo_mcp/tools/llm/llm_unified.py,sha256=HxVnD4X5ZtZCeFnqGsvXaxsLcqvOMtSq-LP8VLLsLvs,29481
129
134
  hanzo_mcp/tools/llm/provider_tools.py,sha256=wAQvkWZ8-HlUVwRYhy9RhbhR-JGDKi0bUZjhE8x3JLA,11403
130
135
  hanzo_mcp/tools/lsp/__init__.py,sha256=2Z1edOMrLV6gi1dyGgUyN3lN4HOWynf73Eye_eBk2Xo,150
131
136
  hanzo_mcp/tools/lsp/lsp_tool.py,sha256=kSfXe0G9vHLmfFEgPA99p9JPSAAM0SUrIriNwuh8NeY,19409
@@ -140,13 +145,13 @@ hanzo_mcp/tools/memory/memory_tools.py,sha256=5LtzxgRww_BXmXY0YxZZ_UQ9AXffWiFmx8
140
145
  hanzo_mcp/tools/search/__init__.py,sha256=7z0GUOmKrJyI7MCbLIvO5zbWHknaNf6kCowi2CtoNNw,292
141
146
  hanzo_mcp/tools/search/find_tool.py,sha256=Kv4rFyZetNjf9yutsy34jC7UTHWV8Z4BAdge7p3a3sA,23607
142
147
  hanzo_mcp/tools/search/unified_search.py,sha256=ki5KN5jxBo7wC6JbM1j8rShRsYoAGp4v9DY6TX0IS_U,35958
143
- hanzo_mcp/tools/shell/__init__.py,sha256=PVBMmzR5qCewoXsJ4fkBpjnvSmU0xcZUPO6Yyi-nGK8,1990
144
- hanzo_mcp/tools/shell/auto_background.py,sha256=STior0YG-znS4UxUEplckW2s3nDpapn3AUPzzX81Qtg,7417
148
+ hanzo_mcp/tools/shell/__init__.py,sha256=l1gdigiyhwB5AzUSVcejObwtaS3cPY65KeBuHMoVIVA,2346
149
+ hanzo_mcp/tools/shell/auto_background.py,sha256=6-ggSvZlTwG_IedSipI-vE3tFyLPqD5wcgx88qz0IqY,8263
145
150
  hanzo_mcp/tools/shell/base.py,sha256=g6xPSoOsGfdDJeJtclbgkwbP3bwumlqXKxJT0s-QSi0,5826
146
151
  hanzo_mcp/tools/shell/base_process.py,sha256=SE12tv53zDFl-53YE-oeDVZuLiJSUDNDaYXb5VJgLYs,10457
147
152
  hanzo_mcp/tools/shell/bash_session.py,sha256=1BAsZepgqCUxpAsOQ5R4yE-LvUNbLUAv6ygV5nKy5LU,27274
148
153
  hanzo_mcp/tools/shell/bash_session_executor.py,sha256=RgcTcvO7WhSGnYqWwO7msshaZSBHQ0Kg8Mu-NvTE8OI,10874
149
- hanzo_mcp/tools/shell/bash_tool.py,sha256=nSGQVIy00fivXvOn-Ai992vCt6m55bEQ6LaF6X4A-9U,4248
154
+ hanzo_mcp/tools/shell/bash_tool.py,sha256=Ivkt388VD_y-sR4YBJIbArDz91Et3gvYCD93jmZBGCY,3745
150
155
  hanzo_mcp/tools/shell/command_executor.py,sha256=hNkoB-ryZrguA095RLcfmc23gC1W_hwmaJ7LBGAGXog,36404
151
156
  hanzo_mcp/tools/shell/logs.py,sha256=8ZRf6O_s9SPPaOfbY5SCrtLaP8JTC0T7sneU1VXtMD0,8452
152
157
  hanzo_mcp/tools/shell/npx.py,sha256=7kqj4kdSu5yHHHSts4Wx_bT7lh7SiKR6VF-sHUuXYBI,5059
@@ -165,6 +170,7 @@ hanzo_mcp/tools/shell/streaming_command.py,sha256=hIG0vo8YRY_a37Shw3_Hv7vQ5O732a
165
170
  hanzo_mcp/tools/shell/uvx.py,sha256=0xlLFc-HyxyxIfDEmEbpzZ7TpaygJUKEAS2aGgmjZv0,6594
166
171
  hanzo_mcp/tools/shell/uvx_background.py,sha256=2Oppj8RObj-X1QYSDA4piFl6JWnqW_qHyvmc5x-kyO8,8676
167
172
  hanzo_mcp/tools/shell/uvx_tool.py,sha256=vD3yN1kEenLnj0V2kBoW10JR3IF957XFiM9L-bg7-xk,2936
173
+ hanzo_mcp/tools/shell/zsh_tool.py,sha256=lXV8-MnKczRG4Xv3qUgNQX5kHb9x2CZo8PzZcZcVjkw,8234
168
174
  hanzo_mcp/tools/todo/__init__.py,sha256=4rXjfj95vB7KJFTdt3g2WOffiyzgixUnf1UckyTizGY,1579
169
175
  hanzo_mcp/tools/todo/base.py,sha256=k0CFZy59YlLAJBVzVA4tr-qGkQ1l5yF04kcmziwQWec,10666
170
176
  hanzo_mcp/tools/todo/todo.py,sha256=NCwtl_iwEsYQ3OxLTtbpBKbGJcQ40nWfkJah9jO8aUM,8794
@@ -180,8 +186,8 @@ hanzo_mcp/tools/vector/project_manager.py,sha256=b69kr84qoteFkx7feeC_XHsNteTyVEf
180
186
  hanzo_mcp/tools/vector/vector.py,sha256=IzJJlWAuhXNmm41NyXEyQsknLNugoRRciDTypYfof9w,9947
181
187
  hanzo_mcp/tools/vector/vector_index.py,sha256=EgxOveWt0R60WYcO-CLmEh8HbGXGmX4_xpqQXTtgQJQ,4188
182
188
  hanzo_mcp/tools/vector/vector_search.py,sha256=anavkfz_pPtfgVZUW4trj5q5GT6Naxw5ItjK9hUY9wU,9677
183
- hanzo_mcp-0.8.2.dist-info/METADATA,sha256=4t9z7aantY2K6wxLNR_uATlm3CLkPpurz-5y_YAxxy4,16471
184
- hanzo_mcp-0.8.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
185
- hanzo_mcp-0.8.2.dist-info/entry_points.txt,sha256=ML30pedHV5wjthfztzMMz3uYhNdR_6inzYY5pSqNME4,142
186
- hanzo_mcp-0.8.2.dist-info/top_level.txt,sha256=eGFANatA0MHWiVlpS56fTYRIShtibrSom1uXI6XU0GU,10
187
- hanzo_mcp-0.8.2.dist-info/RECORD,,
189
+ hanzo_mcp-0.8.4.dist-info/METADATA,sha256=W0DS7Dp4ZvrJW2n_FBhVhRwwMU2j_CvkS0IzFxRG9wY,8973
190
+ hanzo_mcp-0.8.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
191
+ hanzo_mcp-0.8.4.dist-info/entry_points.txt,sha256=ML30pedHV5wjthfztzMMz3uYhNdR_6inzYY5pSqNME4,142
192
+ hanzo_mcp-0.8.4.dist-info/top_level.txt,sha256=eGFANatA0MHWiVlpS56fTYRIShtibrSom1uXI6XU0GU,10
193
+ hanzo_mcp-0.8.4.dist-info/RECORD,,