hanzo-mcp 0.5.2__py3-none-any.whl → 0.6.1__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.
- hanzo_mcp/__init__.py +1 -1
- hanzo_mcp/cli.py +32 -0
- hanzo_mcp/dev_server.py +246 -0
- hanzo_mcp/prompts/__init__.py +1 -1
- hanzo_mcp/prompts/project_system.py +43 -7
- hanzo_mcp/server.py +5 -1
- hanzo_mcp/tools/__init__.py +66 -35
- hanzo_mcp/tools/agent/__init__.py +1 -1
- hanzo_mcp/tools/agent/agent.py +401 -0
- hanzo_mcp/tools/agent/agent_tool.py +3 -4
- hanzo_mcp/tools/common/__init__.py +1 -1
- hanzo_mcp/tools/common/base.py +2 -2
- hanzo_mcp/tools/common/batch_tool.py +3 -5
- hanzo_mcp/tools/common/config_tool.py +1 -1
- hanzo_mcp/tools/common/context.py +1 -1
- hanzo_mcp/tools/common/palette.py +344 -0
- hanzo_mcp/tools/common/palette_loader.py +108 -0
- hanzo_mcp/tools/common/stats.py +1 -1
- hanzo_mcp/tools/common/thinking_tool.py +3 -5
- hanzo_mcp/tools/common/tool_disable.py +1 -1
- hanzo_mcp/tools/common/tool_enable.py +1 -1
- hanzo_mcp/tools/common/tool_list.py +49 -52
- hanzo_mcp/tools/config/__init__.py +10 -0
- hanzo_mcp/tools/config/config_tool.py +212 -0
- hanzo_mcp/tools/config/index_config.py +176 -0
- hanzo_mcp/tools/config/palette_tool.py +166 -0
- hanzo_mcp/tools/database/__init__.py +1 -1
- hanzo_mcp/tools/database/graph.py +482 -0
- hanzo_mcp/tools/database/graph_add.py +1 -1
- hanzo_mcp/tools/database/graph_query.py +1 -1
- hanzo_mcp/tools/database/graph_remove.py +1 -1
- hanzo_mcp/tools/database/graph_search.py +1 -1
- hanzo_mcp/tools/database/graph_stats.py +1 -1
- hanzo_mcp/tools/database/sql.py +411 -0
- hanzo_mcp/tools/database/sql_query.py +1 -1
- hanzo_mcp/tools/database/sql_search.py +1 -1
- hanzo_mcp/tools/database/sql_stats.py +1 -1
- hanzo_mcp/tools/editor/neovim_command.py +1 -1
- hanzo_mcp/tools/editor/neovim_edit.py +1 -1
- hanzo_mcp/tools/editor/neovim_session.py +1 -1
- hanzo_mcp/tools/filesystem/__init__.py +42 -13
- hanzo_mcp/tools/filesystem/base.py +1 -1
- hanzo_mcp/tools/filesystem/batch_search.py +4 -4
- hanzo_mcp/tools/filesystem/content_replace.py +3 -5
- hanzo_mcp/tools/filesystem/diff.py +193 -0
- hanzo_mcp/tools/filesystem/directory_tree.py +3 -5
- hanzo_mcp/tools/filesystem/edit.py +3 -5
- hanzo_mcp/tools/filesystem/find.py +443 -0
- hanzo_mcp/tools/filesystem/find_files.py +1 -1
- hanzo_mcp/tools/filesystem/git_search.py +1 -1
- hanzo_mcp/tools/filesystem/grep.py +2 -2
- hanzo_mcp/tools/filesystem/multi_edit.py +3 -5
- hanzo_mcp/tools/filesystem/read.py +17 -5
- hanzo_mcp/tools/filesystem/{grep_ast_tool.py → symbols.py} +17 -27
- hanzo_mcp/tools/filesystem/symbols_unified.py +376 -0
- hanzo_mcp/tools/filesystem/tree.py +268 -0
- hanzo_mcp/tools/filesystem/unified_search.py +711 -0
- hanzo_mcp/tools/filesystem/unix_aliases.py +99 -0
- hanzo_mcp/tools/filesystem/watch.py +174 -0
- hanzo_mcp/tools/filesystem/write.py +3 -5
- hanzo_mcp/tools/jupyter/__init__.py +9 -12
- hanzo_mcp/tools/jupyter/base.py +1 -1
- hanzo_mcp/tools/jupyter/jupyter.py +326 -0
- hanzo_mcp/tools/jupyter/notebook_edit.py +3 -4
- hanzo_mcp/tools/jupyter/notebook_read.py +3 -5
- hanzo_mcp/tools/llm/__init__.py +4 -0
- hanzo_mcp/tools/llm/consensus_tool.py +1 -1
- hanzo_mcp/tools/llm/llm_manage.py +1 -1
- hanzo_mcp/tools/llm/llm_tool.py +1 -1
- hanzo_mcp/tools/llm/llm_unified.py +851 -0
- hanzo_mcp/tools/llm/provider_tools.py +1 -1
- hanzo_mcp/tools/mcp/__init__.py +4 -0
- hanzo_mcp/tools/mcp/mcp_add.py +1 -1
- hanzo_mcp/tools/mcp/mcp_remove.py +1 -1
- hanzo_mcp/tools/mcp/mcp_stats.py +1 -1
- hanzo_mcp/tools/mcp/mcp_unified.py +503 -0
- hanzo_mcp/tools/shell/__init__.py +20 -42
- hanzo_mcp/tools/shell/base.py +1 -1
- hanzo_mcp/tools/shell/base_process.py +303 -0
- hanzo_mcp/tools/shell/bash_unified.py +134 -0
- hanzo_mcp/tools/shell/logs.py +1 -1
- hanzo_mcp/tools/shell/npx.py +1 -1
- hanzo_mcp/tools/shell/npx_background.py +1 -1
- hanzo_mcp/tools/shell/npx_unified.py +101 -0
- hanzo_mcp/tools/shell/open.py +107 -0
- hanzo_mcp/tools/shell/pkill.py +1 -1
- hanzo_mcp/tools/shell/process_unified.py +131 -0
- hanzo_mcp/tools/shell/processes.py +1 -1
- hanzo_mcp/tools/shell/run_background.py +1 -1
- hanzo_mcp/tools/shell/run_command.py +3 -4
- hanzo_mcp/tools/shell/run_command_windows.py +3 -4
- hanzo_mcp/tools/shell/uvx.py +1 -1
- hanzo_mcp/tools/shell/uvx_background.py +1 -1
- hanzo_mcp/tools/shell/uvx_unified.py +101 -0
- hanzo_mcp/tools/todo/__init__.py +1 -1
- hanzo_mcp/tools/todo/base.py +1 -1
- hanzo_mcp/tools/todo/todo.py +265 -0
- hanzo_mcp/tools/todo/todo_read.py +3 -5
- hanzo_mcp/tools/todo/todo_write.py +3 -5
- hanzo_mcp/tools/vector/__init__.py +1 -1
- hanzo_mcp/tools/vector/index_tool.py +1 -1
- hanzo_mcp/tools/vector/project_manager.py +27 -5
- hanzo_mcp/tools/vector/vector.py +311 -0
- hanzo_mcp/tools/vector/vector_index.py +1 -1
- hanzo_mcp/tools/vector/vector_search.py +1 -1
- hanzo_mcp-0.6.1.dist-info/METADATA +336 -0
- hanzo_mcp-0.6.1.dist-info/RECORD +134 -0
- hanzo_mcp-0.6.1.dist-info/entry_points.txt +3 -0
- hanzo_mcp-0.5.2.dist-info/METADATA +0 -276
- hanzo_mcp-0.5.2.dist-info/RECORD +0 -106
- hanzo_mcp-0.5.2.dist-info/entry_points.txt +0 -2
- {hanzo_mcp-0.5.2.dist-info → hanzo_mcp-0.6.1.dist-info}/WHEEL +0 -0
- {hanzo_mcp-0.5.2.dist-info → hanzo_mcp-0.6.1.dist-info}/licenses/LICENSE +0 -0
- {hanzo_mcp-0.5.2.dist-info → hanzo_mcp-0.6.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hanzo-mcp
|
|
3
|
+
Version: 0.6.1
|
|
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
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: mcp>=1.6.0
|
|
18
|
+
Requires-Dist: fastmcp>=2.8.0
|
|
19
|
+
Requires-Dist: httpx>=0.27.0
|
|
20
|
+
Requires-Dist: uvicorn>=0.23.1
|
|
21
|
+
Requires-Dist: openai>=1.50.0
|
|
22
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
23
|
+
Requires-Dist: litellm>=1.40.14
|
|
24
|
+
Requires-Dist: grep-ast>=0.8.1
|
|
25
|
+
Requires-Dist: bashlex>=0.18
|
|
26
|
+
Requires-Dist: libtmux>=0.39.0
|
|
27
|
+
Requires-Dist: nbformat>=5.10.4
|
|
28
|
+
Requires-Dist: psutil>=6.1.0
|
|
29
|
+
Requires-Dist: pydantic>=2.10.0
|
|
30
|
+
Requires-Dist: typing-extensions>=4.12.2
|
|
31
|
+
Requires-Dist: watchdog>=3.0.0
|
|
32
|
+
Provides-Extra: dev
|
|
33
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
34
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
|
35
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
36
|
+
Requires-Dist: black>=23.3.0; extra == "dev"
|
|
37
|
+
Requires-Dist: sphinx>=8.0.0; extra == "dev"
|
|
38
|
+
Requires-Dist: sphinx-rtd-theme>=3.0.0; extra == "dev"
|
|
39
|
+
Requires-Dist: myst-parser>=4.0.0; extra == "dev"
|
|
40
|
+
Requires-Dist: sphinx-copybutton>=0.5.0; extra == "dev"
|
|
41
|
+
Provides-Extra: docs
|
|
42
|
+
Requires-Dist: sphinx>=8.0.0; extra == "docs"
|
|
43
|
+
Requires-Dist: sphinx-rtd-theme>=3.0.0; extra == "docs"
|
|
44
|
+
Requires-Dist: myst-parser>=4.0.0; extra == "docs"
|
|
45
|
+
Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
|
|
46
|
+
Provides-Extra: test
|
|
47
|
+
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
48
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == "test"
|
|
49
|
+
Requires-Dist: pytest-mock>=3.10.0; extra == "test"
|
|
50
|
+
Requires-Dist: pytest-asyncio>=0.25.3; extra == "test"
|
|
51
|
+
Requires-Dist: twisted; extra == "test"
|
|
52
|
+
Provides-Extra: performance
|
|
53
|
+
Requires-Dist: ujson>=5.7.0; extra == "performance"
|
|
54
|
+
Requires-Dist: orjson>=3.9.0; extra == "performance"
|
|
55
|
+
Provides-Extra: publish
|
|
56
|
+
Requires-Dist: twine>=4.0.2; extra == "publish"
|
|
57
|
+
Requires-Dist: build>=1.0.3; extra == "publish"
|
|
58
|
+
Dynamic: license-file
|
|
59
|
+
|
|
60
|
+
# Hanzo MCP - The Zen of Model Context Protocol
|
|
61
|
+
|
|
62
|
+
[](https://mcp.hanzo.ai)
|
|
63
|
+
[](https://pypi.org/project/hanzo-mcp/)
|
|
64
|
+
[](https://github.com/hanzoai/mcp/blob/main/LICENSE)
|
|
65
|
+
[](https://discord.gg/hanzoai)
|
|
66
|
+
|
|
67
|
+
## 🥷 One MCP to Rule Them All
|
|
68
|
+
|
|
69
|
+
**Start here. Add other MCPs later. Control everything through one opinionated interface.**
|
|
70
|
+
|
|
71
|
+
Hanzo MCP isn't just another Model Context Protocol server—it's **THE** MCP server. While others give you fragments, we give you the complete toolkit. One server that orchestrates all others, with the power to add, remove, and control any MCP server dynamically.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Install and rule your development world
|
|
75
|
+
uvx hanzo-mcp
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## 🎯 Why Hanzo MCP?
|
|
79
|
+
|
|
80
|
+
### The Problem with Other MCPs
|
|
81
|
+
- **Fragmented Experience**: Install 10 different MCPs for 10 different tasks
|
|
82
|
+
- **Inconsistent Interfaces**: Each MCP has its own conventions and quirks
|
|
83
|
+
- **Limited Scope**: Most MCPs do one thing, leaving you to juggle multiple servers
|
|
84
|
+
- **No Orchestration**: No way to coordinate between different MCP servers
|
|
85
|
+
|
|
86
|
+
### The Hanzo Way
|
|
87
|
+
- **One Installation**: 65+ professional tools out of the box
|
|
88
|
+
- **Unified Philosophy**: Consistent, opinionated interface following Unix principles
|
|
89
|
+
- **MCP Orchestration**: Install and control other MCP servers through Hanzo
|
|
90
|
+
- **Swappable Opinions**: Don't like our way? Load a different palette and change everything
|
|
91
|
+
|
|
92
|
+
## 🚀 Features That Set Us Apart
|
|
93
|
+
|
|
94
|
+
### 🎨 Palette System - Opinions Are Just Configurations
|
|
95
|
+
```python
|
|
96
|
+
# Don't like our shell tools? Swap the palette
|
|
97
|
+
palette_load(palette="minimal") # Just the essentials
|
|
98
|
+
palette_load(palette="pentesting") # Security focused tools
|
|
99
|
+
palette_load(palette="data-science") # Jupyter, pandas, numpy focused
|
|
100
|
+
palette_load(palette="your-custom") # Your tools, your way
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 🔌 MCP Server Orchestration
|
|
104
|
+
```python
|
|
105
|
+
# Add any MCP server dynamically
|
|
106
|
+
mcp_add(url="github.com/someone/their-mcp", alias="their")
|
|
107
|
+
|
|
108
|
+
# Use their tools through our unified interface
|
|
109
|
+
their_tool(action="whatever", params=...)
|
|
110
|
+
|
|
111
|
+
# Remove when done
|
|
112
|
+
mcp_remove(alias="their")
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### 🛠️ 65+ Battle-Tested Tools
|
|
116
|
+
|
|
117
|
+
#### Intelligent Multi-Modal Search
|
|
118
|
+
- **search**: Combines grep, AST analysis, vector embeddings, and git history
|
|
119
|
+
- **symbols**: Find any code symbol across languages instantly
|
|
120
|
+
- **git_search**: Search through git history, branches, and commits
|
|
121
|
+
|
|
122
|
+
#### Advanced Development
|
|
123
|
+
- **agent**: Delegate complex tasks to specialized AI agents
|
|
124
|
+
- **llm**: Query multiple LLM providers with consensus
|
|
125
|
+
- **jupyter**: Full Jupyter notebook support
|
|
126
|
+
- **neovim**: Integrated Neovim for power users
|
|
127
|
+
|
|
128
|
+
#### File Operations That Just Work
|
|
129
|
+
- **edit/multi_edit**: Intelligent pattern-based editing
|
|
130
|
+
- **read/write**: Automatic encoding detection
|
|
131
|
+
- **tree**: Visual directory structures
|
|
132
|
+
- **watch**: Monitor file changes in real-time
|
|
133
|
+
|
|
134
|
+
#### Process & System Control
|
|
135
|
+
- **run_command**: Secure command execution with timeout
|
|
136
|
+
- **processes**: Monitor and manage system processes
|
|
137
|
+
- **npx/uvx**: Package runners with background support
|
|
138
|
+
|
|
139
|
+
#### And So Much More
|
|
140
|
+
- Database tools (SQL, Graph)
|
|
141
|
+
- Vector search and indexing
|
|
142
|
+
- Todo management
|
|
143
|
+
- Configuration management
|
|
144
|
+
- MCP server management
|
|
145
|
+
- Statistical analysis
|
|
146
|
+
- Batch operations
|
|
147
|
+
|
|
148
|
+
## 🎯 The Zen of Hanzo
|
|
149
|
+
|
|
150
|
+
1. **One Tool, One Purpose** - Each tool does one thing exceptionally well
|
|
151
|
+
2. **Actions Over Tools** - Complex tools support multiple actions, not multiple interfaces
|
|
152
|
+
3. **Parallel by Default** - Run multiple operations concurrently
|
|
153
|
+
4. **Smart Fallbacks** - Automatically choose the best available backend
|
|
154
|
+
5. **Secure by Design** - Fine-grained permissions and audit trails
|
|
155
|
+
6. **Opinionated but Flexible** - Strong defaults with palette customization
|
|
156
|
+
|
|
157
|
+
## 🚀 Quick Start
|
|
158
|
+
|
|
159
|
+
### Installation
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# Install globally with uvx (recommended)
|
|
163
|
+
uvx hanzo-mcp
|
|
164
|
+
|
|
165
|
+
# Or install with pip
|
|
166
|
+
pip install hanzo-mcp
|
|
167
|
+
|
|
168
|
+
# Or install from source for development
|
|
169
|
+
git clone https://github.com/hanzoai/mcp
|
|
170
|
+
cd mcp
|
|
171
|
+
make install
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Add to Claude Desktop
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# Automatic installation
|
|
178
|
+
make install-desktop
|
|
179
|
+
|
|
180
|
+
# Or manual configuration
|
|
181
|
+
cat >> ~/Library/Application\ Support/Claude/claude_desktop_config.json << 'EOF'
|
|
182
|
+
{
|
|
183
|
+
"mcpServers": {
|
|
184
|
+
"hanzo": {
|
|
185
|
+
"command": "uvx",
|
|
186
|
+
"args": ["hanzo-mcp"]
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
EOF
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Your First Session
|
|
194
|
+
|
|
195
|
+
1. Open Claude Desktop
|
|
196
|
+
2. Start with `search` to explore any codebase
|
|
197
|
+
3. Use `tree` to understand structure
|
|
198
|
+
4. Edit files with `edit` or `multi_edit`
|
|
199
|
+
5. Run commands with `run_command`
|
|
200
|
+
6. Add other MCP servers with `mcp_add`
|
|
201
|
+
|
|
202
|
+
## 🎨 Palette System
|
|
203
|
+
|
|
204
|
+
Palettes let you completely transform Hanzo MCP's behavior:
|
|
205
|
+
|
|
206
|
+
```python
|
|
207
|
+
# List available palettes
|
|
208
|
+
palette_list()
|
|
209
|
+
|
|
210
|
+
# Load a different personality
|
|
211
|
+
palette_load(palette="minimal") # Just core tools
|
|
212
|
+
palette_load(palette="academic") # Research and writing focused
|
|
213
|
+
palette_load(palette="devops") # Infrastructure and deployment
|
|
214
|
+
|
|
215
|
+
# Create your own
|
|
216
|
+
palette_create(
|
|
217
|
+
name="my-workflow",
|
|
218
|
+
tools=["read", "write", "edit", "search", "my-custom-tool"],
|
|
219
|
+
config={"editor": "vim", "search_backend": "ripgrep"}
|
|
220
|
+
)
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## 🔌 MCP Orchestration
|
|
224
|
+
|
|
225
|
+
Hanzo MCP can manage other MCP servers:
|
|
226
|
+
|
|
227
|
+
```python
|
|
228
|
+
# Add any MCP server
|
|
229
|
+
mcp_add(url="github.com/modelcontextprotocol/servers/tree/main/postgres")
|
|
230
|
+
|
|
231
|
+
# List installed servers
|
|
232
|
+
mcp_stats()
|
|
233
|
+
|
|
234
|
+
# Use tools from other servers seamlessly
|
|
235
|
+
postgres_query(query="SELECT * FROM users")
|
|
236
|
+
|
|
237
|
+
# Remove when done
|
|
238
|
+
mcp_remove(alias="postgres")
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## 📊 Advanced Features
|
|
242
|
+
|
|
243
|
+
### Intelligent Search
|
|
244
|
+
```python
|
|
245
|
+
# Multi-modal search across your codebase
|
|
246
|
+
results = search(
|
|
247
|
+
query="authentication",
|
|
248
|
+
include_git=True, # Search git history
|
|
249
|
+
include_vector=True, # Semantic search
|
|
250
|
+
include_ast=True, # AST symbol search
|
|
251
|
+
parallel=True # Search all modes concurrently
|
|
252
|
+
)
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Agent Orchestration
|
|
256
|
+
```python
|
|
257
|
+
# Delegate complex tasks to specialized agents
|
|
258
|
+
agent(
|
|
259
|
+
task="Refactor this codebase to use async/await",
|
|
260
|
+
files=["src/**/*.py"],
|
|
261
|
+
instructions="Maintain backwards compatibility"
|
|
262
|
+
)
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Consensus LLM Queries
|
|
266
|
+
```python
|
|
267
|
+
# Query multiple LLMs and get consensus
|
|
268
|
+
llm(
|
|
269
|
+
action="consensus",
|
|
270
|
+
prompt="Is this code secure?",
|
|
271
|
+
providers=["openai", "anthropic", "google"],
|
|
272
|
+
threshold=0.8
|
|
273
|
+
)
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## 🏗️ Architecture
|
|
277
|
+
|
|
278
|
+
Built on modern Python with:
|
|
279
|
+
- **FastMCP**: High-performance MCP framework
|
|
280
|
+
- **UV**: Lightning-fast Python package management
|
|
281
|
+
- **Parallel Execution**: Concurrent operations by default
|
|
282
|
+
- **Smart Backends**: Automatic selection of best available tools
|
|
283
|
+
- **Type Safety**: Full type hints and validation
|
|
284
|
+
|
|
285
|
+
## 🤝 Contributing
|
|
286
|
+
|
|
287
|
+
We welcome contributions! The codebase is designed for extensibility:
|
|
288
|
+
|
|
289
|
+
1. **Add a Tool**: Drop a file in `hanzo_mcp/tools/`
|
|
290
|
+
2. **Create a Palette**: Define tool collections and configurations
|
|
291
|
+
3. **Improve Existing Tools**: Each tool is independently testable
|
|
292
|
+
|
|
293
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
294
|
+
|
|
295
|
+
## 📚 Documentation
|
|
296
|
+
|
|
297
|
+
- **[Quick Start Guide](https://mcp.hanzo.ai/quickstart)** - Get running in 5 minutes
|
|
298
|
+
- **[Tool Reference](https://mcp.hanzo.ai/tools)** - Detailed documentation for all 65+ tools
|
|
299
|
+
- **[Palette System](https://mcp.hanzo.ai/palettes)** - Customize your experience
|
|
300
|
+
- **[MCP Orchestration](https://mcp.hanzo.ai/orchestration)** - Control other MCP servers
|
|
301
|
+
- **[Best Practices](https://mcp.hanzo.ai/best-practices)** - Tips from power users
|
|
302
|
+
|
|
303
|
+
## 🌟 Why Developers Choose Hanzo MCP
|
|
304
|
+
|
|
305
|
+
> "I replaced 12 different MCP servers with just Hanzo. The palette system means I can switch contexts instantly—from web dev to data science to DevOps." - *Power User*
|
|
306
|
+
|
|
307
|
+
> "The agent orchestration is incredible. I can delegate entire refactoring tasks and it just works." - *Sr. Engineer*
|
|
308
|
+
|
|
309
|
+
> "Finally, an MCP that thinks like a developer. Smart defaults, great errors, and everything is parallel." - *Tech Lead*
|
|
310
|
+
|
|
311
|
+
## 📈 Stats
|
|
312
|
+
|
|
313
|
+
- **65+** Professional Tools
|
|
314
|
+
- **10x** Faster than installing multiple MCPs
|
|
315
|
+
- **1** Unified interface to rule them all
|
|
316
|
+
- **∞** Possibilities with the palette system
|
|
317
|
+
|
|
318
|
+
## 📄 License
|
|
319
|
+
|
|
320
|
+
MIT - Use it, extend it, make it yours.
|
|
321
|
+
|
|
322
|
+
## 🔗 Links
|
|
323
|
+
|
|
324
|
+
- [GitHub](https://github.com/hanzoai/mcp)
|
|
325
|
+
- [Documentation](https://mcp.hanzo.ai)
|
|
326
|
+
- [PyPI](https://pypi.org/project/hanzo-mcp/)
|
|
327
|
+
- [Discord Community](https://discord.gg/hanzoai)
|
|
328
|
+
- [Report Issues](https://github.com/hanzoai/mcp/issues)
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
<p align="center">
|
|
333
|
+
<b>The Zen of Hanzo MCP</b><br>
|
|
334
|
+
<i>One server. All tools. Your way.</i><br><br>
|
|
335
|
+
<code>uvx hanzo-mcp</code>
|
|
336
|
+
</p>
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
hanzo_mcp/__init__.py,sha256=YJJb_nLjlIMpGqGQaWsjE_3ucmIAfrPit5mNZd9qfh8,89
|
|
2
|
+
hanzo_mcp/cli.py,sha256=lFKWnoV94MUgtfojNn4DR9RQg-NiFUpF3BIICjbFfLA,10838
|
|
3
|
+
hanzo_mcp/cli_enhanced.py,sha256=rqh9gqyjMuUznIlPTC5pcIGYZTKAScacMsDb1e68ReE,15819
|
|
4
|
+
hanzo_mcp/dev_server.py,sha256=_Ti0P7y8VNK5z4NiZ1BN5L_KdWhWYJ4IG2U6GZObzyM,7869
|
|
5
|
+
hanzo_mcp/server.py,sha256=pz0ZjzQdD00i54fslv7kntmLSiive2WwluCCTqHu_XQ,8209
|
|
6
|
+
hanzo_mcp/config/__init__.py,sha256=iZYGSJMsC1c97gRFqgyowfP4XW480BBVRAQq1r-Dp7g,506
|
|
7
|
+
hanzo_mcp/config/settings.py,sha256=F4ya4pHoxGACawPo4hd0bwfk6MwXvrTjH0WMBQpUN8I,16259
|
|
8
|
+
hanzo_mcp/config/tool_config.py,sha256=AT5eJRZAL8VTLu5DCdoC_MkDxtufVE_QOj7Yp_Fyi8k,6317
|
|
9
|
+
hanzo_mcp/prompts/__init__.py,sha256=Fp2Jr6SmUd6QmasOclgkTIb4qCzRSqtu3i-0d98XKEg,3992
|
|
10
|
+
hanzo_mcp/prompts/compact_conversation.py,sha256=nvD068KEesiMcevxxMBeIJh6AqT7YHOqyH6RepRFFfA,4206
|
|
11
|
+
hanzo_mcp/prompts/create_release.py,sha256=1Z8xSTtz5vAm0rWFnERpFu7wIYExT4iXhM6nGmQaM-s,1374
|
|
12
|
+
hanzo_mcp/prompts/project_system.py,sha256=-W-PN-h-wW2F41-FM_OnLkX__4i40JpvF6lvW-3rjoM,8231
|
|
13
|
+
hanzo_mcp/prompts/project_todo_reminder.py,sha256=otiBdmzxssBSb3MZZSQsjYDGLBqi1bM0HgraELP_Nf4,3645
|
|
14
|
+
hanzo_mcp/prompts/utils.py,sha256=IwxIhzZfYJ2anToPulbrpcc07u4Dozo9ok6VE3BC_4A,9963
|
|
15
|
+
hanzo_mcp/tools/__init__.py,sha256=cbsCiLlfsw69-dWMnv5sNUDcNcRAtyPI8PxRGAVe1QE,14236
|
|
16
|
+
hanzo_mcp/tools/agent/__init__.py,sha256=U4nchBrzKAnCn0ffbzOnN00zg-ZmXR6J8ZrdaBIWKQ8,1900
|
|
17
|
+
hanzo_mcp/tools/agent/agent.py,sha256=u3v3407O6mttAlqM8WIvEbkEHWSgzTgZokuiIQXDgEY,13391
|
|
18
|
+
hanzo_mcp/tools/agent/agent_tool.py,sha256=--ZTuXpfgg0CaDxISR6LKXvODGlpW4r9Ld4zht7uFKM,21226
|
|
19
|
+
hanzo_mcp/tools/agent/prompt.py,sha256=Wi9Z45hmQ92eUNZbOWzj9ZVCCr-fM1K9iyaRvTCAgrQ,4529
|
|
20
|
+
hanzo_mcp/tools/agent/tool_adapter.py,sha256=Od7VtD9qqDbgxhDHj0L-rohX4wOSMtYjZnU2BRuWSqI,2151
|
|
21
|
+
hanzo_mcp/tools/common/__init__.py,sha256=pnKbCbAl0HrwaLpy_f4NJaX5_O7rVCTxZhnyPYpoyFQ,924
|
|
22
|
+
hanzo_mcp/tools/common/base.py,sha256=o5_vIsQjmYD_wfJYofP7cLn1SY6hCVo3OAT23MFJOfQ,5888
|
|
23
|
+
hanzo_mcp/tools/common/batch_tool.py,sha256=RsypKEaKPf4NgOpWjiLe1_KAYid_oqPDMti3xMsOdoY,12002
|
|
24
|
+
hanzo_mcp/tools/common/config_tool.py,sha256=BgkXG5W2_g7lnrVbYWKkeCWA4cxUtdZTFzhFApmUT7c,16252
|
|
25
|
+
hanzo_mcp/tools/common/context.py,sha256=e6ZCiMRK4RFPW5oi5zqLdVt-hhQndTUtyinpf-nPOUo,5186
|
|
26
|
+
hanzo_mcp/tools/common/palette.py,sha256=I-DBp1tKzpQfHj1M5Bzj-mvOobz_3AlgKz25wvfv6oI,11251
|
|
27
|
+
hanzo_mcp/tools/common/palette_loader.py,sha256=wOFQpfw2TCIc78StibfdQksHZAE4g8vqZMAWhTYhqmY,3671
|
|
28
|
+
hanzo_mcp/tools/common/permissions.py,sha256=LR1tuQAPMoaKvqNtHPRaiB0ZUb0Tbsg3e9L6vvd4FLU,7562
|
|
29
|
+
hanzo_mcp/tools/common/stats.py,sha256=QqtEoz_kWC7sNM5EQxTMqCmOxHJwoPLKyNrGIDWDf2Y,9769
|
|
30
|
+
hanzo_mcp/tools/common/thinking_tool.py,sha256=-jNKGS9V9qkl2Y7Zl8QK6HJmJ4XE2EOWyeA-dg3Fg-o,5071
|
|
31
|
+
hanzo_mcp/tools/common/tool_disable.py,sha256=JFXQsA08WzCHYSuEETjmcUzk1RhABZljRD0d4N8PkSI,4257
|
|
32
|
+
hanzo_mcp/tools/common/tool_enable.py,sha256=CD9ioFVVcnAFtrhKKsuLuKhMh31qMBSVdLSldDbTBmE,5044
|
|
33
|
+
hanzo_mcp/tools/common/tool_list.py,sha256=QmFmBkEh4oP26X_4zCW-Xc4mFtv77nboPpO6cqw_5-I,9311
|
|
34
|
+
hanzo_mcp/tools/common/validation.py,sha256=VV3VbDvYlAYl2Bi98xE7gFo0xnmqHHUGJGNPswm97qo,1694
|
|
35
|
+
hanzo_mcp/tools/config/__init__.py,sha256=UfpEzxNmysTz4U8r0HS4xlaABDzf3H7DqFBxUwBd17w,242
|
|
36
|
+
hanzo_mcp/tools/config/config_tool.py,sha256=lWs4HVzZcsIfFn_G_7zUgngKPk1by3bHPvYTyDmAJ5U,6877
|
|
37
|
+
hanzo_mcp/tools/config/index_config.py,sha256=VNxCrFyBFLAjoial5pZlRNZgrF1iDVl5yy-_czEyfGo,6332
|
|
38
|
+
hanzo_mcp/tools/config/palette_tool.py,sha256=L_FToiQq72mIFXyKPDPFl1odJf1DzHO5M5s9qtcDnXs,6103
|
|
39
|
+
hanzo_mcp/tools/database/__init__.py,sha256=RXHXDyD79a8MbJ5AOuQOgCbCL7cO5yxVH2LbA3lEyGA,2167
|
|
40
|
+
hanzo_mcp/tools/database/database_manager.py,sha256=urbP3T4QpTPBOH7JKjgjRbgMZAZxGm5Q_skZnZ9aHXQ,8807
|
|
41
|
+
hanzo_mcp/tools/database/graph.py,sha256=i4yufKM8KNlb4NgsHkZSZ2kLICuJsQfl9m13sTfTZZ4,16964
|
|
42
|
+
hanzo_mcp/tools/database/graph_add.py,sha256=gxFG-OHkvJhLUUW-xQMvNiQ_iQDt7vJ1k9rWdBd7dEg,7741
|
|
43
|
+
hanzo_mcp/tools/database/graph_query.py,sha256=j7I0zhkiqLZqE2Btef4NMeqAuJiDXFoNYniphRSnzaY,19753
|
|
44
|
+
hanzo_mcp/tools/database/graph_remove.py,sha256=Ei0ezAKa1902ll1wLTKcVXjoFETGCPbH7EvcQ5ctTMM,8776
|
|
45
|
+
hanzo_mcp/tools/database/graph_search.py,sha256=ATZEe5U4wjHV4ocSQZko_QlN9Clrx-EZ_DSGzYaoSTs,12566
|
|
46
|
+
hanzo_mcp/tools/database/graph_stats.py,sha256=dcBpMwFgS9X5l57Kdi8RAfyeI2-YKrDNyW0BjRL3L2I,13024
|
|
47
|
+
hanzo_mcp/tools/database/sql.py,sha256=I7mDodvYwt5jqS0qMid2JcJatQ5Q0yabyTPi9X59Drw,16144
|
|
48
|
+
hanzo_mcp/tools/database/sql_query.py,sha256=MsZ9XQ-KIMOMeqIxUnbKpd4_CN8Nt6zIN6vB9V6xkik,7290
|
|
49
|
+
hanzo_mcp/tools/database/sql_search.py,sha256=KEG7DBcBvMy0CGRoxxanOYmwKL9GVN4vNPQvjxhlxkg,9831
|
|
50
|
+
hanzo_mcp/tools/database/sql_stats.py,sha256=9aumwENMo-9DOfcLBg8zQ6khIdxVIQLVh_kNYE4MbZA,9008
|
|
51
|
+
hanzo_mcp/tools/editor/__init__.py,sha256=RZKbXadNnh5fZ0-Wow-A5gAYCEfEuV_GapaR4mdjzW0,332
|
|
52
|
+
hanzo_mcp/tools/editor/neovim_command.py,sha256=R4OtUia7WKdzOK8AHDrNpHii5GDJmHWwZigFy9ATycs,8283
|
|
53
|
+
hanzo_mcp/tools/editor/neovim_edit.py,sha256=Hq10p1LIHBM_jGIyvjQYtJr8NR5pAeLRM6GfnGHFzTg,8816
|
|
54
|
+
hanzo_mcp/tools/editor/neovim_session.py,sha256=H1AhXBod9HzcYv4fQu4pOlBcyfwgjUo24lzenDZfqRU,11962
|
|
55
|
+
hanzo_mcp/tools/filesystem/__init__.py,sha256=wX3GTjevm-aON_RHs58WawgIn3LRxz4lN1AcqPHW6OI,6735
|
|
56
|
+
hanzo_mcp/tools/filesystem/base.py,sha256=0_6PBU1yqGRIQ8ggQNMEA2rB4DXTFg7sMJRAoocN9do,3818
|
|
57
|
+
hanzo_mcp/tools/filesystem/batch_search.py,sha256=1Z9HLnH-GxRn7CNw6G0vKZsyPg-Rj3c8Q0H9cEoozM8,34475
|
|
58
|
+
hanzo_mcp/tools/filesystem/content_replace.py,sha256=l3O7AozQmWGoDcn-kPbNJ96agAWslF_3smUl9Vef57k,9944
|
|
59
|
+
hanzo_mcp/tools/filesystem/diff.py,sha256=62_YtzGzeD8s6YlHvCoyza96mMtoJB3id3DScKMPkrM,6643
|
|
60
|
+
hanzo_mcp/tools/filesystem/directory_tree.py,sha256=VOCR0N_Agg78eHDg2Nu-tAuLOm4qFH-366tyoGVbvRU,10684
|
|
61
|
+
hanzo_mcp/tools/filesystem/edit.py,sha256=0frU8Bob_SypJ3KqKxxUpXHEPzJiGrr9HEmWFq8-Qb4,10628
|
|
62
|
+
hanzo_mcp/tools/filesystem/find.py,sha256=897Lnd2507979hBzkskU5gEj1XDJdr7Gr9hTZIAWkUU,15337
|
|
63
|
+
hanzo_mcp/tools/filesystem/find_files.py,sha256=BjmDzXvfXLV7_5NSZ7whhxXzJbM-vP1O0xq411PReSk,10959
|
|
64
|
+
hanzo_mcp/tools/filesystem/git_search.py,sha256=qOOIxuATu6UPdlWokJaifaKLphj1Y3uMREqCMD9weOk,16220
|
|
65
|
+
hanzo_mcp/tools/filesystem/grep.py,sha256=LDBGEpN2dj5xW1VvfgDxlkx4QqofWeztqwdyf_pSup0,16832
|
|
66
|
+
hanzo_mcp/tools/filesystem/multi_edit.py,sha256=p6_OJNBn9uzCxVcLJrL88gze_P4O8j2Lm0-DZAESwpY,14242
|
|
67
|
+
hanzo_mcp/tools/filesystem/read.py,sha256=-yuabqfZYENQ6-COuDNvQyjT-pdv5KFKe0BK-hZorFc,9331
|
|
68
|
+
hanzo_mcp/tools/filesystem/symbols.py,sha256=S-YCLz1mKll0o1drHubI9UU8C8UtkRd6_ew30SbErFI,7274
|
|
69
|
+
hanzo_mcp/tools/filesystem/symbols_unified.py,sha256=UETAT3ofVVTFRuyrgKLehigV937cL5CCEbGaysmwXhE,12258
|
|
70
|
+
hanzo_mcp/tools/filesystem/tree.py,sha256=MPBb3jHWa09DezDILP3FP7S_XCY2dJYQM-zUVYUloQQ,7497
|
|
71
|
+
hanzo_mcp/tools/filesystem/unified_search.py,sha256=hmLGNWPiLrap7sJdTxJv-UM7A93qoo_cutrFlD_SAHc,26675
|
|
72
|
+
hanzo_mcp/tools/filesystem/unix_aliases.py,sha256=jagrJbDo97Kpt3Zu3LQcuw_z28MQlADrNPbWgk6_cA0,3162
|
|
73
|
+
hanzo_mcp/tools/filesystem/watch.py,sha256=1w6vm0Z2YyZUEQDFowQ_JpOlm-M6UMZrp0caYlwLepQ,6218
|
|
74
|
+
hanzo_mcp/tools/filesystem/write.py,sha256=FwumcJX9RW_Xy8noKh-S3p95KRyOUG59Nl4w5lznV40,4762
|
|
75
|
+
hanzo_mcp/tools/jupyter/__init__.py,sha256=JVCoHVUkBMvkN_JmfOs63lF7q31bGyPLscHXfqknbOw,2425
|
|
76
|
+
hanzo_mcp/tools/jupyter/base.py,sha256=cK190wDExYyUFu7qrT-s5sHglPd9k6SrlpA60sLwFFE,10101
|
|
77
|
+
hanzo_mcp/tools/jupyter/jupyter.py,sha256=0mUNu_Q0jnmiQip9Y2naAF0tJ71hy4mMmUMoWnuCBYU,11757
|
|
78
|
+
hanzo_mcp/tools/jupyter/notebook_edit.py,sha256=MeaeUgvPnc5EmvgzbtJGIqKqFuUFt_8RE-XzBouYU4Q,11806
|
|
79
|
+
hanzo_mcp/tools/jupyter/notebook_read.py,sha256=Au6Ad3N1Z5cYq2yIbu5y9H4oF6SwOj6SdHQeBwP7Gus,5222
|
|
80
|
+
hanzo_mcp/tools/llm/__init__.py,sha256=kY8OJVsM8qRb0eVRjF7kuWJsrrlIxcUQntJS_FYXt8M,721
|
|
81
|
+
hanzo_mcp/tools/llm/consensus_tool.py,sha256=5Rjs9TS0jeNkSH12AQK3fSvy7yo6tJRdmfYZLrR6NgU,11622
|
|
82
|
+
hanzo_mcp/tools/llm/llm_manage.py,sha256=SCgmiO_cjQnCFdpsGzIPMluN1s8FA-Nj5-3AJZLvIUg,15666
|
|
83
|
+
hanzo_mcp/tools/llm/llm_tool.py,sha256=cEzZKORFzdu4KcYJ8KB105m_xHLaMGTz5owPjbjPx-8,11158
|
|
84
|
+
hanzo_mcp/tools/llm/llm_unified.py,sha256=BxSmXkJpD8QA-RQN_-L1G9zbZrP6gCQGuUegLtlafww,29804
|
|
85
|
+
hanzo_mcp/tools/llm/provider_tools.py,sha256=mtjGdAPX3XFc_22fMNYNQbeU49opduQPO9h7DoN5IQo,11546
|
|
86
|
+
hanzo_mcp/tools/mcp/__init__.py,sha256=0-7s3m51wXMt56X1hgUBEjadvLpu64OGcjjJWFOI058,365
|
|
87
|
+
hanzo_mcp/tools/mcp/mcp_add.py,sha256=e66tk-OoV8R5x020sDHWgmJw_QLncfA7_RAi2Mr3ZDc,7924
|
|
88
|
+
hanzo_mcp/tools/mcp/mcp_remove.py,sha256=cI_C6xjaHrQ0jnlqRZvrtjDi4CR6V0mTDLynOlrcAiA,3266
|
|
89
|
+
hanzo_mcp/tools/mcp/mcp_stats.py,sha256=nka8zAJEEfqlA3tO5IamuIwOnmIZzLDW52kOxPTCDZc,5478
|
|
90
|
+
hanzo_mcp/tools/mcp/mcp_unified.py,sha256=xZPKDqhBEMsUKFrKS9nRcl0n2YWZU_6DK3lvl2PYBQ4,16871
|
|
91
|
+
hanzo_mcp/tools/shell/__init__.py,sha256=d66Jo8BIA6Re__b3r9V_e8uGm8psplQ2SGf0XRSGBzM,1733
|
|
92
|
+
hanzo_mcp/tools/shell/base.py,sha256=Nx9rAE7CO9-Hr5k_qYKUtNFq4twI6Z-lOt0fpkS57i4,5832
|
|
93
|
+
hanzo_mcp/tools/shell/base_process.py,sha256=KgXA98hFsbU5Y9E6mGLTTwQZowgHGpk5HSALxRICqDI,9495
|
|
94
|
+
hanzo_mcp/tools/shell/bash_session.py,sha256=YPtdtC0pc6Q04RJqKUy0u0RPTbiT2IGtsvFqejK5Hu4,27271
|
|
95
|
+
hanzo_mcp/tools/shell/bash_session_executor.py,sha256=zRnrzj4sdQOxO22XXBENT6k2dXt3LDk5fxjWjUYyU_Q,10723
|
|
96
|
+
hanzo_mcp/tools/shell/bash_unified.py,sha256=HNkHykgaY5oiRdPPdje2lBECkKCh4TavYFtLY-v6dGg,4148
|
|
97
|
+
hanzo_mcp/tools/shell/command_executor.py,sha256=IuoRY48PMmpKHL5CFIExebjoiRRS5ZEl73UDzYTR3kU,36406
|
|
98
|
+
hanzo_mcp/tools/shell/logs.py,sha256=RahjkEHNwsKbnJ7cTAie70BSb9bV6T9Vf4JJluoZXYo,8468
|
|
99
|
+
hanzo_mcp/tools/shell/npx.py,sha256=Bs5tKpyJMm6Yfrmuph0btbvSQGbDczR_YToP2iRqhHY,5083
|
|
100
|
+
hanzo_mcp/tools/shell/npx_background.py,sha256=GNZOYV_jjA9pa7w-ZNy_oX7iSA_VfZRzVUr7dKunfjo,7120
|
|
101
|
+
hanzo_mcp/tools/shell/npx_unified.py,sha256=Uzxpc6zvDYMNTONUDHSCRrJqJktW0ccxDtgwbDsiqLI,2823
|
|
102
|
+
hanzo_mcp/tools/shell/open.py,sha256=6P13YDtj6FSx5nyPs-aNDKx87iGiPsZf2Q8Aeq5FsF4,3497
|
|
103
|
+
hanzo_mcp/tools/shell/pkill.py,sha256=PStKLEhuZhCZAXnn-Wwlut2xjV7GIc7PozuF8y8b7gI,8676
|
|
104
|
+
hanzo_mcp/tools/shell/process_unified.py,sha256=YAUws2zvUejtiudnExfwLJzbMnQ2GtNDGoWEgNaAb3I,4358
|
|
105
|
+
hanzo_mcp/tools/shell/processes.py,sha256=q2TCVpftV1HJaoEOEWzTOOUvyRemZiG0v8hK9VGM94A,9395
|
|
106
|
+
hanzo_mcp/tools/shell/run_background.py,sha256=K2SxCF9sDcVxcwzAA77plZMb3wjYTOoSqS6MVyuBFBE,9713
|
|
107
|
+
hanzo_mcp/tools/shell/run_command.py,sha256=AEH3waGpjbaSxBxSfmDW6hF7aL4pzwEwgUojOEsSNOY,16095
|
|
108
|
+
hanzo_mcp/tools/shell/run_command_windows.py,sha256=ccicQHYJVfqowKxyUIpXYDoIvZl6jpgJDubPuDUpC5A,15321
|
|
109
|
+
hanzo_mcp/tools/shell/session_manager.py,sha256=o8iS4PFCnq28vPqYtdtH9M8lfGyzyhtNL0hmNI13Uuc,6509
|
|
110
|
+
hanzo_mcp/tools/shell/session_storage.py,sha256=elnyFgn0FwsmVvoWAoJFAqiEeNaK4_yByT8-zXa6r-o,10141
|
|
111
|
+
hanzo_mcp/tools/shell/uvx.py,sha256=Y74SmbYHYlEoXXMzc9wh405-MD7zKAgFyWDBKastBHI,5034
|
|
112
|
+
hanzo_mcp/tools/shell/uvx_background.py,sha256=uXeSJ_hjbpWyo2Zm75KJTZI2h_ZV5nEb_rAF7Gl954U,7105
|
|
113
|
+
hanzo_mcp/tools/shell/uvx_unified.py,sha256=_m3D9iiWs7TBpt2LFCgOnefkSe45i3C9zof4auu24jw,2841
|
|
114
|
+
hanzo_mcp/tools/todo/__init__.py,sha256=p0flShq4Kw9saGQ5NXjTjwFa8BeukACaEJBTqG34H2M,1723
|
|
115
|
+
hanzo_mcp/tools/todo/base.py,sha256=k0CFZy59YlLAJBVzVA4tr-qGkQ1l5yF04kcmziwQWec,10666
|
|
116
|
+
hanzo_mcp/tools/todo/todo.py,sha256=y4LM8CIb94tK-lURnVer2WzctKPx_EWS0kEIM1Ut0Os,8218
|
|
117
|
+
hanzo_mcp/tools/todo/todo_read.py,sha256=EWqXOeQANGQOJXKyMv-0GeJdq-d0HnslRM__LW6Jydg,4688
|
|
118
|
+
hanzo_mcp/tools/todo/todo_write.py,sha256=nJG2By4FXHZm7NNreEfVYb3wPJbraVWjrdv_TqXqYFo,15394
|
|
119
|
+
hanzo_mcp/tools/vector/__init__.py,sha256=6LxU1yeauhv5pQ-lhQuPrBDTC9c7Y6gCbZBBo-4r9HI,3853
|
|
120
|
+
hanzo_mcp/tools/vector/ast_analyzer.py,sha256=2bUM9j9rCNARNXXF2cuFSp2ercwZAJWlAqeRIwn46Ck,15653
|
|
121
|
+
hanzo_mcp/tools/vector/git_ingester.py,sha256=pR4_HRMT7trGhr1kGHASvhgm7Vjwh6UY-UVdXCNj07s,16367
|
|
122
|
+
hanzo_mcp/tools/vector/index_tool.py,sha256=rMqv1WQMt18eikXdOzUNYyvWdR1gK_rIy4P769gGTak,12769
|
|
123
|
+
hanzo_mcp/tools/vector/infinity_store.py,sha256=E3YotdY798HTPs4X2IMv-SOjt-VjCC2XAFaWPeSVUQU,28382
|
|
124
|
+
hanzo_mcp/tools/vector/mock_infinity.py,sha256=QyU7FM2eTCP0BeuX8xhRe0En7hG9EFt-XzgDu-BefrI,4990
|
|
125
|
+
hanzo_mcp/tools/vector/project_manager.py,sha256=xrkRl7niWjJrtSNaEOppkPzDFDw9FaEeOIbPY8D4wJw,13534
|
|
126
|
+
hanzo_mcp/tools/vector/vector.py,sha256=EpKEDkRfSHsDfPewqRwNAulX0BndlK48p-sFSMtt3js,10179
|
|
127
|
+
hanzo_mcp/tools/vector/vector_index.py,sha256=IqXoEfEk6TOOEThXw4obePZqfvBRiYL_LCrx8z35-h8,4403
|
|
128
|
+
hanzo_mcp/tools/vector/vector_search.py,sha256=jwX1azf4V4seqJ2CIDloX3lJ5_hkUl7X5e2OOgGXQNk,9647
|
|
129
|
+
hanzo_mcp-0.6.1.dist-info/licenses/LICENSE,sha256=mf1qZGFsPGskoPgytp9B-RsahfKvXsBpmaAbTLGTt8Y,1063
|
|
130
|
+
hanzo_mcp-0.6.1.dist-info/METADATA,sha256=NBfs-6Mm0SpWtUmb893tNZOK-rgmbE-HRMtnhQ39h9Y,11027
|
|
131
|
+
hanzo_mcp-0.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
132
|
+
hanzo_mcp-0.6.1.dist-info/entry_points.txt,sha256=Q_g5SzWk47z2b_rE_RgonVqk4-d8VQ6pqwMveYiXJuU,101
|
|
133
|
+
hanzo_mcp-0.6.1.dist-info/top_level.txt,sha256=eGFANatA0MHWiVlpS56fTYRIShtibrSom1uXI6XU0GU,10
|
|
134
|
+
hanzo_mcp-0.6.1.dist-info/RECORD,,
|