hanzo-mcp 0.5.2__py3-none-any.whl → 0.6.2__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.

Files changed (114) hide show
  1. hanzo_mcp/__init__.py +1 -1
  2. hanzo_mcp/cli.py +32 -0
  3. hanzo_mcp/dev_server.py +246 -0
  4. hanzo_mcp/prompts/__init__.py +1 -1
  5. hanzo_mcp/prompts/project_system.py +43 -7
  6. hanzo_mcp/server.py +5 -1
  7. hanzo_mcp/tools/__init__.py +66 -35
  8. hanzo_mcp/tools/agent/__init__.py +1 -1
  9. hanzo_mcp/tools/agent/agent.py +401 -0
  10. hanzo_mcp/tools/agent/agent_tool.py +3 -4
  11. hanzo_mcp/tools/common/__init__.py +1 -1
  12. hanzo_mcp/tools/common/base.py +2 -2
  13. hanzo_mcp/tools/common/batch_tool.py +3 -5
  14. hanzo_mcp/tools/common/config_tool.py +1 -1
  15. hanzo_mcp/tools/common/context.py +1 -1
  16. hanzo_mcp/tools/common/palette.py +344 -0
  17. hanzo_mcp/tools/common/palette_loader.py +108 -0
  18. hanzo_mcp/tools/common/stats.py +1 -1
  19. hanzo_mcp/tools/common/thinking_tool.py +3 -5
  20. hanzo_mcp/tools/common/tool_disable.py +1 -1
  21. hanzo_mcp/tools/common/tool_enable.py +1 -1
  22. hanzo_mcp/tools/common/tool_list.py +49 -52
  23. hanzo_mcp/tools/config/__init__.py +10 -0
  24. hanzo_mcp/tools/config/config_tool.py +212 -0
  25. hanzo_mcp/tools/config/index_config.py +176 -0
  26. hanzo_mcp/tools/config/palette_tool.py +166 -0
  27. hanzo_mcp/tools/database/__init__.py +1 -1
  28. hanzo_mcp/tools/database/graph.py +482 -0
  29. hanzo_mcp/tools/database/graph_add.py +1 -1
  30. hanzo_mcp/tools/database/graph_query.py +1 -1
  31. hanzo_mcp/tools/database/graph_remove.py +1 -1
  32. hanzo_mcp/tools/database/graph_search.py +1 -1
  33. hanzo_mcp/tools/database/graph_stats.py +1 -1
  34. hanzo_mcp/tools/database/sql.py +411 -0
  35. hanzo_mcp/tools/database/sql_query.py +1 -1
  36. hanzo_mcp/tools/database/sql_search.py +1 -1
  37. hanzo_mcp/tools/database/sql_stats.py +1 -1
  38. hanzo_mcp/tools/editor/neovim_command.py +1 -1
  39. hanzo_mcp/tools/editor/neovim_edit.py +1 -1
  40. hanzo_mcp/tools/editor/neovim_session.py +1 -1
  41. hanzo_mcp/tools/filesystem/__init__.py +42 -13
  42. hanzo_mcp/tools/filesystem/base.py +1 -1
  43. hanzo_mcp/tools/filesystem/batch_search.py +4 -4
  44. hanzo_mcp/tools/filesystem/content_replace.py +3 -5
  45. hanzo_mcp/tools/filesystem/diff.py +193 -0
  46. hanzo_mcp/tools/filesystem/directory_tree.py +3 -5
  47. hanzo_mcp/tools/filesystem/edit.py +3 -5
  48. hanzo_mcp/tools/filesystem/find.py +443 -0
  49. hanzo_mcp/tools/filesystem/find_files.py +1 -1
  50. hanzo_mcp/tools/filesystem/git_search.py +1 -1
  51. hanzo_mcp/tools/filesystem/grep.py +2 -2
  52. hanzo_mcp/tools/filesystem/multi_edit.py +3 -5
  53. hanzo_mcp/tools/filesystem/read.py +17 -5
  54. hanzo_mcp/tools/filesystem/{grep_ast_tool.py → symbols.py} +17 -27
  55. hanzo_mcp/tools/filesystem/symbols_unified.py +376 -0
  56. hanzo_mcp/tools/filesystem/tree.py +268 -0
  57. hanzo_mcp/tools/filesystem/unified_search.py +711 -0
  58. hanzo_mcp/tools/filesystem/unix_aliases.py +99 -0
  59. hanzo_mcp/tools/filesystem/watch.py +174 -0
  60. hanzo_mcp/tools/filesystem/write.py +3 -5
  61. hanzo_mcp/tools/jupyter/__init__.py +9 -12
  62. hanzo_mcp/tools/jupyter/base.py +1 -1
  63. hanzo_mcp/tools/jupyter/jupyter.py +326 -0
  64. hanzo_mcp/tools/jupyter/notebook_edit.py +3 -4
  65. hanzo_mcp/tools/jupyter/notebook_read.py +3 -5
  66. hanzo_mcp/tools/llm/__init__.py +4 -0
  67. hanzo_mcp/tools/llm/consensus_tool.py +1 -1
  68. hanzo_mcp/tools/llm/llm_manage.py +1 -1
  69. hanzo_mcp/tools/llm/llm_tool.py +1 -1
  70. hanzo_mcp/tools/llm/llm_unified.py +851 -0
  71. hanzo_mcp/tools/llm/provider_tools.py +1 -1
  72. hanzo_mcp/tools/mcp/__init__.py +4 -0
  73. hanzo_mcp/tools/mcp/mcp_add.py +1 -1
  74. hanzo_mcp/tools/mcp/mcp_remove.py +1 -1
  75. hanzo_mcp/tools/mcp/mcp_stats.py +1 -1
  76. hanzo_mcp/tools/mcp/mcp_unified.py +503 -0
  77. hanzo_mcp/tools/shell/__init__.py +20 -42
  78. hanzo_mcp/tools/shell/base.py +1 -1
  79. hanzo_mcp/tools/shell/base_process.py +303 -0
  80. hanzo_mcp/tools/shell/bash_unified.py +134 -0
  81. hanzo_mcp/tools/shell/logs.py +1 -1
  82. hanzo_mcp/tools/shell/npx.py +1 -1
  83. hanzo_mcp/tools/shell/npx_background.py +1 -1
  84. hanzo_mcp/tools/shell/npx_unified.py +101 -0
  85. hanzo_mcp/tools/shell/open.py +107 -0
  86. hanzo_mcp/tools/shell/pkill.py +1 -1
  87. hanzo_mcp/tools/shell/process_unified.py +131 -0
  88. hanzo_mcp/tools/shell/processes.py +1 -1
  89. hanzo_mcp/tools/shell/run_background.py +1 -1
  90. hanzo_mcp/tools/shell/run_command.py +3 -4
  91. hanzo_mcp/tools/shell/run_command_windows.py +3 -4
  92. hanzo_mcp/tools/shell/uvx.py +1 -1
  93. hanzo_mcp/tools/shell/uvx_background.py +1 -1
  94. hanzo_mcp/tools/shell/uvx_unified.py +101 -0
  95. hanzo_mcp/tools/todo/__init__.py +1 -1
  96. hanzo_mcp/tools/todo/base.py +1 -1
  97. hanzo_mcp/tools/todo/todo.py +265 -0
  98. hanzo_mcp/tools/todo/todo_read.py +3 -5
  99. hanzo_mcp/tools/todo/todo_write.py +3 -5
  100. hanzo_mcp/tools/vector/__init__.py +1 -1
  101. hanzo_mcp/tools/vector/index_tool.py +1 -1
  102. hanzo_mcp/tools/vector/project_manager.py +27 -5
  103. hanzo_mcp/tools/vector/vector.py +311 -0
  104. hanzo_mcp/tools/vector/vector_index.py +1 -1
  105. hanzo_mcp/tools/vector/vector_search.py +1 -1
  106. hanzo_mcp-0.6.2.dist-info/METADATA +336 -0
  107. hanzo_mcp-0.6.2.dist-info/RECORD +134 -0
  108. hanzo_mcp-0.6.2.dist-info/entry_points.txt +3 -0
  109. hanzo_mcp-0.5.2.dist-info/METADATA +0 -276
  110. hanzo_mcp-0.5.2.dist-info/RECORD +0 -106
  111. hanzo_mcp-0.5.2.dist-info/entry_points.txt +0 -2
  112. {hanzo_mcp-0.5.2.dist-info → hanzo_mcp-0.6.2.dist-info}/WHEEL +0 -0
  113. {hanzo_mcp-0.5.2.dist-info → hanzo_mcp-0.6.2.dist-info}/licenses/LICENSE +0 -0
  114. {hanzo_mcp-0.5.2.dist-info → hanzo_mcp-0.6.2.dist-info}/top_level.txt +0 -0
@@ -7,9 +7,8 @@ import json
7
7
  from pathlib import Path
8
8
  from typing import Annotated, Any, Literal, TypedDict, Unpack, final, override
9
9
 
10
- from fastmcp import Context as MCPContext
11
- from fastmcp import FastMCP
12
- from fastmcp.server.dependencies import get_context
10
+ from mcp.server.fastmcp import Context as MCPContext
11
+ from mcp.server import FastMCP
13
12
  from pydantic import Field
14
13
 
15
14
  from hanzo_mcp.tools.jupyter.base import JupyterBaseTool
@@ -306,8 +305,8 @@ class NoteBookEditTool(JupyterBaseTool):
306
305
  new_source: NewSource,
307
306
  cell_type: CellType,
308
307
  edit_mode: EditMode,
308
+ ctx: MCPContext
309
309
  ) -> str:
310
- ctx = get_context()
311
310
  return await tool_self.call(
312
311
  ctx,
313
312
  notebook_path=notebook_path,
@@ -7,9 +7,8 @@ import json
7
7
  from pathlib import Path
8
8
  from typing import Annotated, TypedDict, Unpack, final, override
9
9
 
10
- from fastmcp import Context as MCPContext
11
- from fastmcp import FastMCP
12
- from fastmcp.server.dependencies import get_context
10
+ from mcp.server.fastmcp import Context as MCPContext
11
+ from mcp.server import FastMCP
13
12
  from pydantic import Field
14
13
 
15
14
  from hanzo_mcp.tools.jupyter.base import JupyterBaseTool
@@ -145,8 +144,7 @@ class NotebookReadTool(JupyterBaseTool):
145
144
 
146
145
  @mcp_server.tool(name=self.name, description=self.description)
147
146
  async def notebook_read(
148
- ctx: MCPContext,
149
147
  notebook_path: NotebookPath,
148
+ ctx: MCPContext
150
149
  ) -> str:
151
- ctx = get_context()
152
150
  return await tool_self.call(ctx, notebook_path=notebook_path)
@@ -1,5 +1,8 @@
1
1
  """LLM tools for Hanzo MCP."""
2
2
 
3
+ from hanzo_mcp.tools.llm.llm_unified import UnifiedLLMTool
4
+
5
+ # Legacy imports for backwards compatibility
3
6
  from hanzo_mcp.tools.llm.llm_tool import LLMTool
4
7
  from hanzo_mcp.tools.llm.consensus_tool import ConsensusTool
5
8
  from hanzo_mcp.tools.llm.llm_manage import LLMManageTool
@@ -14,6 +17,7 @@ from hanzo_mcp.tools.llm.provider_tools import (
14
17
  )
15
18
 
16
19
  __all__ = [
20
+ "UnifiedLLMTool",
17
21
  "LLMTool",
18
22
  "ConsensusTool",
19
23
  "LLMManageTool",
@@ -5,7 +5,7 @@ import json
5
5
  from typing import Annotated, Optional, TypedDict, Unpack, final, override, List, Dict, Any
6
6
  from datetime import datetime
7
7
 
8
- from fastmcp import Context as MCPContext
8
+ from mcp.server.fastmcp import Context as MCPContext
9
9
  from pydantic import Field
10
10
 
11
11
  from hanzo_mcp.tools.common.base import BaseTool
@@ -5,7 +5,7 @@ import json
5
5
  from typing import Annotated, Optional, TypedDict, Unpack, final, override
6
6
  from pathlib import Path
7
7
 
8
- from fastmcp import Context as MCPContext
8
+ from mcp.server.fastmcp import Context as MCPContext
9
9
  from pydantic import Field
10
10
 
11
11
  from hanzo_mcp.tools.common.base import BaseTool
@@ -5,7 +5,7 @@ import json
5
5
  from typing import Annotated, Optional, TypedDict, Unpack, final, override, List, Dict, Any
6
6
  import asyncio
7
7
 
8
- from fastmcp import Context as MCPContext
8
+ from mcp.server.fastmcp import Context as MCPContext
9
9
  from pydantic import Field
10
10
 
11
11
  from hanzo_mcp.tools.common.base import BaseTool