hanzo-mcp 0.6.13__tar.gz → 0.7.1__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.

Files changed (221) hide show
  1. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/PKG-INFO +229 -71
  2. hanzo_mcp-0.7.1/README.md +456 -0
  3. hanzo_mcp-0.7.1/hanzo_mcp/analytics/__init__.py +5 -0
  4. hanzo_mcp-0.7.1/hanzo_mcp/analytics/posthog_analytics.py +364 -0
  5. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/cli.py +3 -3
  6. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/cli_enhanced.py +3 -3
  7. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/config/settings.py +1 -1
  8. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/config/tool_config.py +18 -4
  9. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/server.py +34 -1
  10. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/__init__.py +65 -2
  11. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/__init__.py +137 -0
  12. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/agent/agent_tool.py +102 -4
  13. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/agent_tool_v2.py +492 -0
  14. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/clarification_protocol.py +220 -0
  15. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/clarification_tool.py +68 -0
  16. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/claude_cli_tool.py +125 -0
  17. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/claude_desktop_auth.py +508 -0
  18. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/cli_agent_base.py +191 -0
  19. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/code_auth.py +436 -0
  20. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/code_auth_tool.py +194 -0
  21. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/codex_cli_tool.py +123 -0
  22. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/critic_tool.py +376 -0
  23. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/gemini_cli_tool.py +128 -0
  24. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/grok_cli_tool.py +128 -0
  25. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/iching_tool.py +380 -0
  26. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/network_tool.py +273 -0
  27. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/agent/prompt.py +62 -20
  28. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/review_tool.py +433 -0
  29. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/swarm_tool.py +535 -0
  30. hanzo_mcp-0.7.1/hanzo_mcp/tools/agent/swarm_tool_v2.py +654 -0
  31. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/base.py +1 -0
  32. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/batch_tool.py +102 -10
  33. hanzo_mcp-0.7.1/hanzo_mcp/tools/common/fastmcp_pagination.py +369 -0
  34. hanzo_mcp-0.7.1/hanzo_mcp/tools/common/forgiving_edit.py +243 -0
  35. hanzo_mcp-0.7.1/hanzo_mcp/tools/common/paginated_base.py +230 -0
  36. hanzo_mcp-0.7.1/hanzo_mcp/tools/common/paginated_response.py +307 -0
  37. hanzo_mcp-0.7.1/hanzo_mcp/tools/common/pagination.py +226 -0
  38. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/tool_list.py +3 -0
  39. hanzo_mcp-0.7.1/hanzo_mcp/tools/common/truncate.py +101 -0
  40. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/__init__.py +29 -0
  41. hanzo_mcp-0.7.1/hanzo_mcp/tools/filesystem/ast_multi_edit.py +562 -0
  42. hanzo_mcp-0.7.1/hanzo_mcp/tools/filesystem/directory_tree_paginated.py +338 -0
  43. hanzo_mcp-0.7.1/hanzo_mcp/tools/lsp/__init__.py +5 -0
  44. hanzo_mcp-0.7.1/hanzo_mcp/tools/lsp/lsp_tool.py +512 -0
  45. hanzo_mcp-0.7.1/hanzo_mcp/tools/memory/__init__.py +76 -0
  46. hanzo_mcp-0.7.1/hanzo_mcp/tools/memory/knowledge_tools.py +518 -0
  47. hanzo_mcp-0.7.1/hanzo_mcp/tools/memory/memory_tools.py +456 -0
  48. hanzo_mcp-0.7.1/hanzo_mcp/tools/search/__init__.py +6 -0
  49. hanzo_mcp-0.7.1/hanzo_mcp/tools/search/find_tool.py +581 -0
  50. hanzo_mcp-0.7.1/hanzo_mcp/tools/search/unified_search.py +953 -0
  51. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/__init__.py +5 -0
  52. hanzo_mcp-0.7.1/hanzo_mcp/tools/shell/auto_background.py +203 -0
  53. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/base_process.py +53 -27
  54. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/bash_tool.py +17 -33
  55. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/npx_tool.py +15 -32
  56. hanzo_mcp-0.7.1/hanzo_mcp/tools/shell/streaming_command.py +594 -0
  57. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/uvx_tool.py +15 -32
  58. hanzo_mcp-0.7.1/hanzo_mcp/types.py +23 -0
  59. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp.egg-info/PKG-INFO +229 -71
  60. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp.egg-info/SOURCES.txt +58 -3
  61. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp.egg-info/requires.txt +4 -0
  62. hanzo_mcp-0.7.1/hanzo_mcp.egg-info/top_level.txt +1 -0
  63. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/pyproject.toml +3 -1
  64. hanzo_mcp-0.7.1/tests/test_batch_tool_edge_cases.py +259 -0
  65. hanzo_mcp-0.7.1/tests/test_cli_agents.py +233 -0
  66. hanzo_mcp-0.7.1/tests/test_failure_cases.py +215 -0
  67. hanzo_mcp-0.7.1/tests/test_hanzo_mcp_integration.py +371 -0
  68. hanzo_mcp-0.7.1/tests/test_hanzo_mcp_local.py +288 -0
  69. hanzo_mcp-0.7.1/tests/test_hanzo_mcp_simple.py +204 -0
  70. hanzo_mcp-0.7.1/tests/test_hanzo_network_integration.py +566 -0
  71. hanzo_mcp-0.7.1/tests/test_integration.py +514 -0
  72. hanzo_mcp-0.7.1/tests/test_lsp_tool.py +176 -0
  73. hanzo_mcp-0.7.1/tests/test_memory_edge_cases.py +454 -0
  74. hanzo_mcp-0.7.1/tests/test_memory_tools.py +197 -0
  75. hanzo_mcp-0.7.1/tests/test_memory_tools_comprehensive.py +618 -0
  76. hanzo_mcp-0.7.1/tests/test_performance.py +401 -0
  77. hanzo_mcp-0.7.1/tests/test_shell_features.py +308 -0
  78. hanzo_mcp-0.7.1/tests/test_streaming_command.py +302 -0
  79. hanzo_mcp-0.7.1/tests/test_swarm_simple.py +264 -0
  80. hanzo_mcp-0.7.1/tests/test_tools_suite.py +473 -0
  81. hanzo_mcp-0.7.1/tests/test_unified_search.py +237 -0
  82. hanzo_mcp-0.7.1/tests/test_web3_integration.py +409 -0
  83. hanzo_mcp-0.6.13/LICENSE +0 -21
  84. hanzo_mcp-0.6.13/README.md +0 -299
  85. hanzo_mcp-0.6.13/hanzo_mcp/tools/agent/__init__.py +0 -56
  86. hanzo_mcp-0.6.13/hanzo_mcp.egg-info/top_level.txt +0 -2
  87. hanzo_mcp-0.6.13/setup.py +0 -51
  88. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/__init__.py +0 -0
  89. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/__main__.py +0 -0
  90. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/cli_plugin.py +0 -0
  91. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/config/__init__.py +0 -0
  92. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/dev_server.py +0 -0
  93. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/prompts/__init__.py +0 -0
  94. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/prompts/compact_conversation.py +0 -0
  95. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/prompts/create_release.py +0 -0
  96. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/prompts/project_system.py +0 -0
  97. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/prompts/project_todo_reminder.py +0 -0
  98. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/prompts/utils.py +0 -0
  99. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/server_enhanced.py +0 -0
  100. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/agent/agent.py +0 -0
  101. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/agent/tool_adapter.py +0 -0
  102. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/__init__.py +0 -0
  103. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/config_tool.py +0 -0
  104. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/context.py +0 -0
  105. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/context_fix.py +0 -0
  106. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/critic_tool.py +0 -0
  107. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/decorators.py +0 -0
  108. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/enhanced_base.py +0 -0
  109. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/mode.py +0 -0
  110. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/mode_loader.py +0 -0
  111. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/permissions.py +0 -0
  112. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/personality.py +0 -0
  113. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/plugin_loader.py +0 -0
  114. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/stats.py +0 -0
  115. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/thinking_tool.py +0 -0
  116. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/tool_disable.py +0 -0
  117. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/tool_enable.py +0 -0
  118. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/common/validation.py +0 -0
  119. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/config/__init__.py +0 -0
  120. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/config/config_tool.py +0 -0
  121. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/config/index_config.py +0 -0
  122. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/config/mode_tool.py +0 -0
  123. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/__init__.py +0 -0
  124. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/database_manager.py +0 -0
  125. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/graph.py +0 -0
  126. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/graph_add.py +0 -0
  127. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/graph_query.py +0 -0
  128. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/graph_remove.py +0 -0
  129. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/graph_search.py +0 -0
  130. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/graph_stats.py +0 -0
  131. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/sql.py +0 -0
  132. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/sql_query.py +0 -0
  133. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/sql_search.py +0 -0
  134. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/database/sql_stats.py +0 -0
  135. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/editor/__init__.py +0 -0
  136. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/editor/neovim_command.py +0 -0
  137. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/editor/neovim_edit.py +0 -0
  138. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/editor/neovim_session.py +0 -0
  139. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/base.py +0 -0
  140. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/batch_search.py +0 -0
  141. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/content_replace.py +0 -0
  142. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/diff.py +0 -0
  143. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/directory_tree.py +0 -0
  144. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/edit.py +0 -0
  145. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/find.py +0 -0
  146. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/find_files.py +0 -0
  147. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/git_search.py +0 -0
  148. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/grep.py +0 -0
  149. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/multi_edit.py +0 -0
  150. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/read.py +0 -0
  151. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/rules_tool.py +0 -0
  152. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/search_tool.py +0 -0
  153. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/symbols.py +0 -0
  154. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/symbols_tool.py +0 -0
  155. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/tree.py +0 -0
  156. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/unix_aliases.py +0 -0
  157. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/watch.py +0 -0
  158. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/filesystem/write.py +0 -0
  159. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/jupyter/__init__.py +0 -0
  160. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/jupyter/base.py +0 -0
  161. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/jupyter/jupyter.py +0 -0
  162. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/jupyter/notebook_edit.py +0 -0
  163. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/jupyter/notebook_read.py +0 -0
  164. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/llm/__init__.py +0 -0
  165. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/llm/consensus_tool.py +0 -0
  166. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/llm/llm_manage.py +0 -0
  167. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/llm/llm_tool.py +0 -0
  168. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/llm/provider_tools.py +0 -0
  169. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/mcp/__init__.py +0 -0
  170. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/mcp/mcp_add.py +0 -0
  171. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/mcp/mcp_remove.py +0 -0
  172. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/mcp/mcp_stats.py +0 -0
  173. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/mcp/mcp_tool.py +0 -0
  174. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/base.py +0 -0
  175. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/bash_session.py +0 -0
  176. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/bash_session_executor.py +0 -0
  177. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/command_executor.py +0 -0
  178. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/logs.py +0 -0
  179. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/npx.py +0 -0
  180. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/npx_background.py +0 -0
  181. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/open.py +0 -0
  182. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/pkill.py +0 -0
  183. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/process_tool.py +0 -0
  184. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/processes.py +0 -0
  185. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/run_background.py +0 -0
  186. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/run_command.py +0 -0
  187. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/run_command_windows.py +0 -0
  188. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/session_manager.py +0 -0
  189. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/session_storage.py +0 -0
  190. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/uvx.py +0 -0
  191. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/shell/uvx_background.py +0 -0
  192. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/todo/__init__.py +0 -0
  193. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/todo/base.py +0 -0
  194. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/todo/todo.py +0 -0
  195. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/todo/todo_read.py +0 -0
  196. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/todo/todo_write.py +0 -0
  197. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/__init__.py +0 -0
  198. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/ast_analyzer.py +0 -0
  199. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/git_ingester.py +0 -0
  200. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/index_tool.py +0 -0
  201. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/infinity_store.py +0 -0
  202. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/mock_infinity.py +0 -0
  203. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/project_manager.py +0 -0
  204. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/vector.py +0 -0
  205. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/vector_index.py +0 -0
  206. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp/tools/vector/vector_search.py +0 -0
  207. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp.egg-info/dependency_links.txt +0 -0
  208. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/hanzo_mcp.egg-info/entry_points.txt +0 -0
  209. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/setup.cfg +0 -0
  210. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_async_support.py +0 -0
  211. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_cli.py +0 -0
  212. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_git_ingestion.py +0 -0
  213. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_litellm_warnings.py +0 -0
  214. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_manual.py +0 -0
  215. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_new_tools.py +0 -0
  216. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_search.py +0 -0
  217. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_search_quality.py +0 -0
  218. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_simple.py +0 -0
  219. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_stdio_protocol.py +0 -0
  220. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/tests/test_stdio_simple.py +0 -0
  221. {hanzo_mcp-0.6.13 → hanzo_mcp-0.7.1}/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.13
3
+ Version: 0.7.1
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
@@ -13,7 +13,6 @@ Classifier: License :: OSI Approved :: MIT License
13
13
  Classifier: Operating System :: OS Independent
14
14
  Requires-Python: >=3.12
15
15
  Description-Content-Type: text/markdown
16
- License-File: LICENSE
17
16
  Requires-Dist: mcp>=1.9.4
18
17
  Requires-Dist: fastmcp>=2.9.2
19
18
  Requires-Dist: httpx>=0.28.1
@@ -30,6 +29,7 @@ Requires-Dist: pydantic>=2.11.1
30
29
  Requires-Dist: pydantic-settings>=2.7.0
31
30
  Requires-Dist: typing-extensions>=4.13.0
32
31
  Requires-Dist: watchdog>=6.0.0
32
+ Requires-Dist: keyring>=24.0.0
33
33
  Provides-Extra: dev
34
34
  Requires-Dist: pytest>=7.0.0; extra == "dev"
35
35
  Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
@@ -44,6 +44,8 @@ Requires-Dist: sphinx>=8.0.0; extra == "docs"
44
44
  Requires-Dist: sphinx-rtd-theme>=3.0.0; extra == "docs"
45
45
  Requires-Dist: myst-parser>=4.0.0; extra == "docs"
46
46
  Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
47
+ Provides-Extra: analytics
48
+ Requires-Dist: posthog>=3.0.0; extra == "analytics"
47
49
  Provides-Extra: test
48
50
  Requires-Dist: pytest>=7.0.0; extra == "test"
49
51
  Requires-Dist: pytest-cov>=4.1.0; extra == "test"
@@ -56,7 +58,6 @@ Requires-Dist: orjson>=3.9.0; extra == "performance"
56
58
  Provides-Extra: publish
57
59
  Requires-Dist: twine>=4.0.2; extra == "publish"
58
60
  Requires-Dist: build>=1.0.3; extra == "publish"
59
- Dynamic: license-file
60
61
 
61
62
  # Hanzo AI - The Zen of Model Context Protocol
62
63
 
@@ -66,11 +67,11 @@ Dynamic: license-file
66
67
  [![License](https://img.shields.io/github/license/hanzoai/mcp?style=for-the-badge)](https://github.com/hanzoai/mcp/blob/main/LICENSE)
67
68
  [![Join our Discord](https://img.shields.io/discord/YOUR_DISCORD_ID?style=for-the-badge&logo=discord)](https://discord.gg/hanzoai)
68
69
 
69
- ## 🥷 One MCP to Rule Them All
70
+ ## 🥷 The Complete AI Development Ecosystem via MCP
70
71
 
71
- **Start here. Add other MCPs later. Control everything through one opinionated interface.**
72
+ **One unified interface to orchestrate your entire development workflow.**
72
73
 
73
- Hanzo AI 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.
74
+ Hanzo AI is more than an MCP server—it's a comprehensive ecosystem of interconnected development tools designed for the AI era. From interactive notebooks with multi-language support to advanced debugging, from intelligent code search to multi-agent workflows, everything works together seamlessly through the Model Context Protocol.
74
75
 
75
76
  ```bash
76
77
  # Install and rule your development world
@@ -82,23 +83,110 @@ uvx hanzo-mcp
82
83
 
83
84
  > **Note on Installation**: If uvx is not installed, Hanzo will automatically install it for you in your home directory. No manual setup required!
84
85
 
85
- ## 🎯 Why Hanzo AI?
86
+ ## 🌐 The Hanzo Ecosystem
87
+
88
+ ### Integrated Development Environment
89
+ ```mermaid
90
+ graph LR
91
+ A[Hanzo MCP] --> B[Interactive Notebooks]
92
+ A --> C[Code Intelligence]
93
+ A --> D[Multi-Agent System]
94
+ A --> E[Project Management]
95
+
96
+ B --> B1[Multi-Language REPL]
97
+ B --> B2[SoS Kernels]
98
+ B --> B3[Live Debugging]
99
+
100
+ C --> C1[LSP Integration]
101
+ C --> C2[AST Analysis]
102
+ C --> C3[Semantic Search]
103
+
104
+ D --> D1[Agent Networks]
105
+ D --> D2[Tool Orchestration]
106
+ D --> D3[Consensus Systems]
107
+
108
+ E --> E1[Git Integration]
109
+ E --> E2[Task Management]
110
+ E --> E3[Quality Control]
111
+ ```
112
+
113
+ ### 🎯 Why Hanzo AI?
114
+
115
+ **The Problem with Fragmented Tools**
116
+ - Install 10 different tools that don't talk to each other
117
+ - Context switching between interfaces kills productivity
118
+ - No unified way to orchestrate complex workflows
119
+ - Missing the power of tool composition
86
120
 
87
- ### The Problem with Other MCPs
88
- - **Fragmented Experience**: Install 10 different MCPs for 10 different tasks
89
- - **Inconsistent Interfaces**: Each MCP has its own conventions and quirks
90
- - **Limited Scope**: Most MCPs do one thing, leaving you to juggle multiple servers
91
- - **No Orchestration**: No way to coordinate between different MCP servers
92
- - **Missing Quality Control**: No built-in code review or quality assurance
121
+ **The Hanzo Solution**
122
+ - **Unified Ecosystem**: 70+ tools that work together seamlessly
123
+ - **Intelligent Orchestration**: Tools that understand context and collaborate
124
+ - **Interactive Development**: From REPL to debugging in one interface
125
+ - **Quality Built-in**: Automated review, testing, and best practices
126
+ - **Extensible Platform**: Add any MCP server or custom tool
93
127
 
94
- ### The Hanzo Way
95
- - **One Installation**: 70+ professional tools out of the box
96
- - **Consistent Philosophy**: Unix-inspired principles with modern AI capabilities
97
- - **MCP Orchestration**: Install and control other MCP servers through Hanzo
98
- - **Built-in Quality**: Critic tool ensures high standards automatically
99
- - **Smart Defaults**: Auto-installs dependencies, reads project rules, just works
128
+ ## 🚀 Core Capabilities
100
129
 
101
- ## 🚀 Modern AI-Powered Features
130
+ ### 📓 Interactive Development Environment
131
+
132
+ #### Multi-Language Notebooks with SoS
133
+ ```python
134
+ # Work with multiple languages in one notebook
135
+ notebook(
136
+ action="create",
137
+ path="analysis.ipynb",
138
+ kernels=["python3", "R", "javascript", "bash"]
139
+ )
140
+
141
+ # Write and execute code interactively
142
+ notebook(
143
+ action="write",
144
+ cell_type="code",
145
+ content="""
146
+ # Python cell
147
+ data = load_dataset()
148
+ processed = clean_data(data)
149
+ """,
150
+ kernel="python3"
151
+ )
152
+
153
+ # Step through execution line by line
154
+ notebook(
155
+ action="step",
156
+ cell_id="cell_123",
157
+ lines=[1, 2, 3] # Execute specific lines
158
+ )
159
+
160
+ # Read results and outputs
161
+ result = notebook(
162
+ action="read",
163
+ cell_id="cell_123",
164
+ include_outputs=True
165
+ )
166
+
167
+ # Launch debugger for interactive debugging
168
+ debugger(
169
+ notebook="analysis.ipynb",
170
+ cell_id="cell_123",
171
+ breakpoint=15
172
+ )
173
+ ```
174
+
175
+ #### Interactive REPL Sessions
176
+ ```python
177
+ # Start multi-language REPL
178
+ repl(
179
+ languages=["python", "javascript", "go"],
180
+ project_dir="/path/to/project",
181
+ share_context=True # Share variables between languages
182
+ )
183
+
184
+ # Execute code with full project context
185
+ repl.execute("""
186
+ import project_module
187
+ result = project_module.process()
188
+ """, language="python")
189
+ ```
102
190
 
103
191
  ### 🧠 Advanced AI Tools
104
192
 
@@ -154,27 +242,50 @@ todo --action update --id abc123 --status in_progress
154
242
  todo --action list --filter pending
155
243
  ```
156
244
 
157
- ### 🔍 Next-Gen Search
245
+ ### 🔍 Intelligent Code Intelligence
158
246
 
159
247
  #### Unified Search Engine
160
248
  ```python
161
- # One search to rule them all - automatically runs:
162
- # - Grep for patterns
249
+ # One search to rule them all - automatically runs in parallel:
250
+ # - Text search with ripgrep
163
251
  # - AST analysis for code structure
164
252
  # - Vector search for semantic meaning
165
- # - Git history search
166
- # - Symbol search for definitions
253
+ # - Git history search (integrated into git tool)
254
+ # - Symbol search with LSP
255
+ # - Memory search for past discussions
167
256
  search("authentication flow")
168
257
  ```
169
258
 
170
- #### AST-Powered Code Navigation
259
+ #### Language Server Protocol (LSP) Integration
260
+ ```python
261
+ # Full LSP support with jupyter-lsp integration
262
+ lsp(
263
+ action="initialize",
264
+ language="python",
265
+ project_dir="/path/to/project"
266
+ )
267
+
268
+ # Go to definition, find references, rename symbols
269
+ lsp.goto_definition("UserService.authenticate")
270
+ lsp.find_references("API_KEY")
271
+ lsp.rename_symbol("oldFunction", "newFunction")
272
+
273
+ # Get diagnostics and hover information
274
+ diagnostics = lsp.get_diagnostics("main.py")
275
+ info = lsp.hover("mysterious_function", line=42, col=15)
276
+ ```
277
+
278
+ #### Git Integration (with built-in search)
171
279
  ```python
172
- # Find code with structural understanding
173
- symbols --action grep_ast --pattern "TODO" --path ./src
174
- # Shows TODO comments with full code context:
175
- # - What function they're in
176
- # - What class they belong to
177
- # - Related code structure
280
+ # All git operations in one tool
281
+ git("status")
282
+ git("diff", "--cached")
283
+ git("log", "--oneline", "-10")
284
+
285
+ # Git search is now part of the git tool
286
+ git("search", pattern="TODO", history=True)
287
+ git("blame", file="src/auth.py", line=42)
288
+ git("show", commit="abc123:src/main.py")
178
289
  ```
179
290
 
180
291
  ### 🎨 Palette System - Opinions Are Just Configurations
@@ -205,42 +316,51 @@ their_tool(action="whatever", params=...)
205
316
  mcp --action remove --alias "their"
206
317
  ```
207
318
 
208
- ## 🛠️ Complete Tool Suite
319
+ ## 🛠️ Comprehensive Tool Ecosystem
320
+
321
+ ### 📝 Interactive Development
322
+ - **notebook** - Multi-language notebooks with SoS (read/write/step/debug)
323
+ - **repl** - Interactive multi-language REPL with shared context
324
+ - **debugger** - Full debugging support with breakpoints and stepping
325
+ - **lsp** - Language Server Protocol with jupyter-lsp integration
209
326
 
210
- ### Core Development (Always Available)
327
+ ### 🔍 Code Intelligence
328
+ - **search** - Unified multi-modal search (text/AST/vector/git/memory)
329
+ - **symbols** - AST-aware navigation with tree-sitter
330
+ - **find** - Fast file/directory discovery
331
+ - **grep** - Pattern matching with ripgrep
332
+ - **ast** - Code structure analysis
333
+
334
+ ### 📁 File Operations
211
335
  - **read/write/edit/multi_edit** - Intelligent file operations
212
- - **search** - Multi-modal parallel search
213
- - **symbols** - AST-aware code navigation with grep_ast
214
336
  - **tree** - Visual directory structures
215
- - **grep** - Fast pattern matching
216
- - **rules** - Read project preferences
217
-
218
- ### AI & Automation
219
- - **agent** - Delegate complex multi-step tasks
220
- - **consensus** - Multi-LLM agreement
221
- - **think** - Structured reasoning
222
- - **critic** - Code review and quality enforcement
337
+ - **watch** - File monitoring with notifications
338
+ - **diff** - Visual comparisons
339
+
340
+ ### 🤖 AI & Automation
341
+ - **agent** - Multi-agent task delegation
342
+ - **consensus** - Multi-LLM agreement and validation
343
+ - **think** - Structured reasoning workspace
344
+ - **critic** - Automated code review and quality
223
345
  - **batch** - Parallel tool execution
224
346
 
225
- ### Process & System
226
- - **bash** - Secure command execution
347
+ ### 🖥️ System & Process
348
+ - **bash** - Command execution with session management
227
349
  - **npx/uvx** - Package runners with auto-install
228
350
  - **process** - Background process management
229
- - **watch** - File monitoring
230
- - **diff** - Visual comparisons
351
+ - **git** - Complete git integration with search
231
352
 
232
- ### Data & Analytics
233
- - **vector_index/vector_search** - Semantic search
234
- - **sql_query/sql_search** - Database operations
235
- - **graph_add/graph_query** - Graph database
236
- - **jupyter** - Notebook integration
237
- - **stats** - Performance analytics
353
+ ### 📊 Data & Analytics
354
+ - **vector** - Semantic search and indexing
355
+ - **sql** - Database operations and queries
356
+ - **graph** - Graph database operations
357
+ - **stats** - Performance and usage analytics
238
358
 
239
- ### Collaboration
359
+ ### 🎯 Project Management
240
360
  - **todo** - Unified task management
241
- - **palette** - Tool configuration sets
242
- - **mcp** - Server orchestration
243
- - **git_search** - Repository mining
361
+ - **rules** - Project preferences discovery
362
+ - **palette** - Tool configuration presets
363
+ - **mcp** - Dynamic MCP server orchestration
244
364
 
245
365
  ## 🚀 Quick Start
246
366
 
@@ -276,25 +396,62 @@ curl -LsSf https://pypi.org/simple/hanzo-mcp | python3
276
396
  }
277
397
  ```
278
398
 
399
+ ## 🔗 Ecosystem Integration
400
+
401
+ ### Everything Works Together
402
+ ```python
403
+ # Example: AI-assisted debugging workflow
404
+ # 1. Find the bug
405
+ search("null pointer exception")
406
+
407
+ # 2. Open in notebook for investigation
408
+ notebook(
409
+ action="create",
410
+ path="debug_session.ipynb",
411
+ import_code="src/auth.py:42-58"
412
+ )
413
+
414
+ # 3. Set breakpoints and debug
415
+ debugger(
416
+ notebook="debug_session.ipynb",
417
+ breakpoints=[45, 52]
418
+ )
419
+
420
+ # 4. Get AI analysis
421
+ critic("Analyze this exception and suggest fixes")
422
+
423
+ # 5. Apply the fix
424
+ edit("src/auth.py", old="user.name", new="user?.name")
425
+
426
+ # 6. Verify with tests
427
+ bash("pytest tests/test_auth.py -v")
428
+ ```
429
+
430
+ ### Tool Composition Power
431
+ - **Search → Notebook → Debug** - Investigate issues interactively
432
+ - **Agent → Critic → Test** - Automated quality workflows
433
+ - **LSP → AST → Edit** - Intelligent refactoring
434
+ - **Git → Search → Todo** - Project management workflows
435
+
279
436
  ## 🏆 Why Developers Love Hanzo
280
437
 
281
438
  ### Smart Defaults
282
- - **Auto-installs** missing dependencies (uvx, uv, etc.)
439
+ - **Auto-installs** missing dependencies and language servers
283
440
  - **Discovers** project rules and preferences automatically
284
- - **Parallel** operations by default
441
+ - **Parallel** operations by default for speed
285
442
  - **Intelligent** fallbacks when tools aren't available
286
443
 
287
444
  ### Quality First
288
- - **Built-in critic** for code review
289
- - **Test enforcement** in workflows
445
+ - **Built-in critic** for automated code review
446
+ - **Test enforcement** in all workflows
290
447
  - **Security scanning** in operations
291
- - **Best practices** baked in
448
+ - **Best practices** enforced by default
292
449
 
293
- ### Extensible
450
+ ### Truly Extensible
294
451
  - **Palette system** for instant context switching
295
- - **MCP orchestration** to add any capability
452
+ - **MCP orchestration** to add any server dynamically
296
453
  - **Plugin architecture** for custom tools
297
- - **API-first** design
454
+ - **Everything is an API** for maximum flexibility
298
455
 
299
456
  ## 📊 Performance
300
457
 
@@ -331,11 +488,12 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
331
488
 
332
489
  ## 📈 Project Status
333
490
 
334
- - **Version**: 0.6.x (Stable)
335
- - **Tools**: 70+ and growing
336
- - **Palettes**: 10 built-in, unlimited custom
337
- - **Community**: Active and helpful
338
- - **Updates**: Weekly improvements
491
+ - **Version**: 0.7.x (Production Ready)
492
+ - **Tools**: 70+ interconnected tools
493
+ - **Ecosystems**: Interactive notebooks, debugging, LSP, multi-agent
494
+ - **Languages**: Python, JavaScript, Go, R, Julia, Bash, and more via SoS
495
+ - **Community**: Active and growing
496
+ - **Updates**: Continuous improvements
339
497
 
340
498
  ## 🛡️ Security
341
499