hanzo-mcp 0.7.2__tar.gz → 0.7.6__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.
Files changed (231) hide show
  1. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/PKG-INFO +8 -1
  2. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/cli.py +10 -0
  3. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/prompts/__init__.py +43 -0
  4. hanzo_mcp-0.7.6/hanzo_mcp/prompts/example_custom_prompt.py +40 -0
  5. hanzo_mcp-0.7.6/hanzo_mcp/prompts/tool_explorer.py +603 -0
  6. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/__init__.py +52 -51
  7. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/__init__.py +3 -16
  8. hanzo_mcp-0.7.2/hanzo_mcp/tools/agent/agent_tool_v2.py → hanzo_mcp-0.7.6/hanzo_mcp/tools/agent/agent_tool.py +3 -14
  9. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/network_tool.py +3 -5
  10. hanzo_mcp-0.7.2/hanzo_mcp/tools/agent/swarm_tool_v2.py → hanzo_mcp-0.7.6/hanzo_mcp/tools/agent/swarm_tool.py +61 -82
  11. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/tool_adapter.py +21 -2
  12. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/forgiving_edit.py +24 -14
  13. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/permissions.py +8 -0
  14. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/__init__.py +5 -5
  15. hanzo_mcp-0.7.2/hanzo_mcp/tools/filesystem/symbols.py → hanzo_mcp-0.7.6/hanzo_mcp/tools/filesystem/ast_tool.py +8 -8
  16. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/batch_search.py +2 -2
  17. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/directory_tree.py +8 -1
  18. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/find.py +1 -0
  19. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/grep.py +11 -2
  20. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/read.py +8 -1
  21. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/search_tool.py +1 -1
  22. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/jupyter/__init__.py +5 -1
  23. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/jupyter/base.py +2 -2
  24. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/jupyter/jupyter.py +89 -18
  25. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/search/find_tool.py +49 -8
  26. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/base_process.py +7 -1
  27. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/streaming_command.py +34 -1
  28. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp.egg-info/PKG-INFO +8 -1
  29. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp.egg-info/SOURCES.txt +13 -4
  30. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp.egg-info/requires.txt +8 -0
  31. hanzo_mcp-0.7.6/pyproject.toml +170 -0
  32. hanzo_mcp-0.7.6/tests/test_batch_tool_edge_cases.py +258 -0
  33. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_cli.py +14 -1
  34. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_cli_agents.py +22 -17
  35. hanzo_mcp-0.7.6/tests/test_find_tool_ffind.py +349 -0
  36. hanzo_mcp-0.7.6/tests/test_find_tool_integration.py +374 -0
  37. hanzo_mcp-0.7.6/tests/test_find_tool_registration.py +121 -0
  38. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_git_ingestion.py +6 -6
  39. hanzo_mcp-0.7.6/tests/test_hanzo_agents_integration.py +98 -0
  40. hanzo_mcp-0.7.6/tests/test_hanzo_mcp_integration.py +433 -0
  41. hanzo_mcp-0.7.6/tests/test_hanzo_mcp_local.py +334 -0
  42. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_hanzo_mcp_simple.py +1 -1
  43. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_hanzo_network_integration.py +12 -12
  44. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_manual.py +3 -9
  45. hanzo_mcp-0.7.6/tests/test_memory_basic.py +61 -0
  46. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_memory_edge_cases.py +52 -34
  47. hanzo_mcp-0.7.6/tests/test_memory_simple.py +49 -0
  48. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_memory_tools.py +47 -23
  49. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_memory_tools_comprehensive.py +48 -47
  50. hanzo_mcp-0.7.6/tests/test_memory_utils.py +24 -0
  51. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_new_tools.py +75 -57
  52. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_performance.py +24 -14
  53. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_search.py +14 -14
  54. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_search_quality.py +5 -6
  55. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_shell_features.py +26 -25
  56. hanzo_mcp-0.7.6/tests/test_stdio_simple.py +100 -0
  57. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_streaming_command.py +24 -23
  58. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_tools_suite.py +47 -41
  59. hanzo_mcp-0.7.6/tests/test_utils.py +325 -0
  60. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_vector_store.py +13 -13
  61. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_web3_integration.py +5 -8
  62. hanzo_mcp-0.7.2/pyproject.toml +0 -82
  63. hanzo_mcp-0.7.2/tests/test_batch_tool_edge_cases.py +0 -259
  64. hanzo_mcp-0.7.2/tests/test_hanzo_mcp_integration.py +0 -371
  65. hanzo_mcp-0.7.2/tests/test_hanzo_mcp_local.py +0 -288
  66. hanzo_mcp-0.7.2/tests/test_integration.py +0 -514
  67. hanzo_mcp-0.7.2/tests/test_stdio_simple.py +0 -92
  68. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/README.md +0 -0
  69. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/__init__.py +0 -0
  70. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/__main__.py +0 -0
  71. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/analytics/__init__.py +0 -0
  72. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/analytics/posthog_analytics.py +0 -0
  73. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/cli_enhanced.py +0 -0
  74. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/cli_plugin.py +0 -0
  75. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/config/__init__.py +0 -0
  76. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/config/settings.py +0 -0
  77. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/config/tool_config.py +0 -0
  78. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/dev_server.py +0 -0
  79. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/prompts/compact_conversation.py +0 -0
  80. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/prompts/create_release.py +0 -0
  81. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/prompts/project_system.py +0 -0
  82. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/prompts/project_todo_reminder.py +0 -0
  83. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/prompts/utils.py +0 -0
  84. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/server.py +0 -0
  85. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/server_enhanced.py +0 -0
  86. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/agent.py +0 -0
  87. /hanzo_mcp-0.7.2/hanzo_mcp/tools/agent/agent_tool.py → /hanzo_mcp-0.7.6/hanzo_mcp/tools/agent/agent_tool_v1_deprecated.py +0 -0
  88. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/clarification_protocol.py +0 -0
  89. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/clarification_tool.py +0 -0
  90. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/claude_cli_tool.py +0 -0
  91. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/claude_desktop_auth.py +0 -0
  92. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/cli_agent_base.py +0 -0
  93. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/code_auth.py +0 -0
  94. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/code_auth_tool.py +0 -0
  95. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/codex_cli_tool.py +0 -0
  96. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/critic_tool.py +0 -0
  97. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/gemini_cli_tool.py +0 -0
  98. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/grok_cli_tool.py +0 -0
  99. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/iching_tool.py +0 -0
  100. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/prompt.py +0 -0
  101. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/agent/review_tool.py +0 -0
  102. /hanzo_mcp-0.7.2/hanzo_mcp/tools/agent/swarm_tool.py → /hanzo_mcp-0.7.6/hanzo_mcp/tools/agent/swarm_tool_v1_deprecated.py +0 -0
  103. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/__init__.py +0 -0
  104. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/base.py +0 -0
  105. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/batch_tool.py +0 -0
  106. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/config_tool.py +0 -0
  107. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/context.py +0 -0
  108. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/context_fix.py +0 -0
  109. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/critic_tool.py +0 -0
  110. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/decorators.py +0 -0
  111. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/enhanced_base.py +0 -0
  112. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/fastmcp_pagination.py +0 -0
  113. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/mode.py +0 -0
  114. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/mode_loader.py +0 -0
  115. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/paginated_base.py +0 -0
  116. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/paginated_response.py +0 -0
  117. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/pagination.py +0 -0
  118. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/personality.py +0 -0
  119. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/plugin_loader.py +0 -0
  120. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/stats.py +0 -0
  121. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/thinking_tool.py +0 -0
  122. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/tool_disable.py +0 -0
  123. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/tool_enable.py +0 -0
  124. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/tool_list.py +0 -0
  125. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/truncate.py +0 -0
  126. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/common/validation.py +0 -0
  127. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/config/__init__.py +0 -0
  128. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/config/config_tool.py +0 -0
  129. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/config/index_config.py +0 -0
  130. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/config/mode_tool.py +0 -0
  131. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/__init__.py +0 -0
  132. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/database_manager.py +0 -0
  133. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/graph.py +0 -0
  134. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/graph_add.py +0 -0
  135. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/graph_query.py +0 -0
  136. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/graph_remove.py +0 -0
  137. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/graph_search.py +0 -0
  138. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/graph_stats.py +0 -0
  139. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/sql.py +0 -0
  140. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/sql_query.py +0 -0
  141. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/sql_search.py +0 -0
  142. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/database/sql_stats.py +0 -0
  143. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/editor/__init__.py +0 -0
  144. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/editor/neovim_command.py +0 -0
  145. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/editor/neovim_edit.py +0 -0
  146. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/editor/neovim_session.py +0 -0
  147. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/ast_multi_edit.py +0 -0
  148. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/base.py +0 -0
  149. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/content_replace.py +0 -0
  150. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/diff.py +0 -0
  151. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/directory_tree_paginated.py +0 -0
  152. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/edit.py +0 -0
  153. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/find_files.py +0 -0
  154. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/git_search.py +0 -0
  155. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/multi_edit.py +0 -0
  156. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/rules_tool.py +0 -0
  157. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/symbols_tool.py +0 -0
  158. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/tree.py +0 -0
  159. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/unix_aliases.py +0 -0
  160. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/watch.py +0 -0
  161. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/filesystem/write.py +0 -0
  162. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/jupyter/notebook_edit.py +0 -0
  163. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/jupyter/notebook_read.py +0 -0
  164. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/llm/__init__.py +0 -0
  165. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/llm/consensus_tool.py +0 -0
  166. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/llm/llm_manage.py +0 -0
  167. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/llm/llm_tool.py +0 -0
  168. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/llm/provider_tools.py +0 -0
  169. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/lsp/__init__.py +0 -0
  170. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/lsp/lsp_tool.py +0 -0
  171. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/mcp/__init__.py +0 -0
  172. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/mcp/mcp_add.py +0 -0
  173. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/mcp/mcp_remove.py +0 -0
  174. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/mcp/mcp_stats.py +0 -0
  175. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/mcp/mcp_tool.py +0 -0
  176. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/memory/__init__.py +0 -0
  177. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/memory/knowledge_tools.py +0 -0
  178. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/memory/memory_tools.py +0 -0
  179. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/search/__init__.py +0 -0
  180. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/search/unified_search.py +0 -0
  181. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/__init__.py +0 -0
  182. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/auto_background.py +0 -0
  183. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/base.py +0 -0
  184. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/bash_session.py +0 -0
  185. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/bash_session_executor.py +0 -0
  186. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/bash_tool.py +0 -0
  187. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/command_executor.py +0 -0
  188. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/logs.py +0 -0
  189. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/npx.py +0 -0
  190. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/npx_background.py +0 -0
  191. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/npx_tool.py +0 -0
  192. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/open.py +0 -0
  193. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/pkill.py +0 -0
  194. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/process_tool.py +0 -0
  195. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/processes.py +0 -0
  196. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/run_background.py +0 -0
  197. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/run_command.py +0 -0
  198. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/run_command_windows.py +0 -0
  199. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/session_manager.py +0 -0
  200. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/session_storage.py +0 -0
  201. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/uvx.py +0 -0
  202. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/uvx_background.py +0 -0
  203. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/shell/uvx_tool.py +0 -0
  204. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/todo/__init__.py +0 -0
  205. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/todo/base.py +0 -0
  206. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/todo/todo.py +0 -0
  207. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/todo/todo_read.py +0 -0
  208. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/todo/todo_write.py +0 -0
  209. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/__init__.py +0 -0
  210. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/ast_analyzer.py +0 -0
  211. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/git_ingester.py +0 -0
  212. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/index_tool.py +0 -0
  213. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/infinity_store.py +0 -0
  214. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/mock_infinity.py +0 -0
  215. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/project_manager.py +0 -0
  216. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/vector.py +0 -0
  217. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/vector_index.py +0 -0
  218. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/tools/vector/vector_search.py +0 -0
  219. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp/types.py +0 -0
  220. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp.egg-info/dependency_links.txt +0 -0
  221. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp.egg-info/entry_points.txt +0 -0
  222. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/hanzo_mcp.egg-info/top_level.txt +0 -0
  223. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/setup.cfg +0 -0
  224. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_async_support.py +0 -0
  225. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_failure_cases.py +0 -0
  226. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_litellm_warnings.py +0 -0
  227. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_lsp_tool.py +0 -0
  228. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_simple.py +0 -0
  229. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_stdio_protocol.py +0 -0
  230. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_swarm_simple.py +0 -0
  231. {hanzo_mcp-0.7.2 → hanzo_mcp-0.7.6}/tests/test_unified_search.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hanzo-mcp
3
- Version: 0.7.2
3
+ Version: 0.7.6
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
@@ -30,6 +30,7 @@ Requires-Dist: pydantic-settings>=2.7.0
30
30
  Requires-Dist: typing-extensions>=4.13.0
31
31
  Requires-Dist: watchdog>=6.0.0
32
32
  Requires-Dist: keyring>=24.0.0
33
+ Requires-Dist: ffind>=1.3.0
33
34
  Provides-Extra: dev
34
35
  Requires-Dist: pytest>=7.0.0; extra == "dev"
35
36
  Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
@@ -39,6 +40,10 @@ Requires-Dist: sphinx>=8.0.0; extra == "dev"
39
40
  Requires-Dist: sphinx-rtd-theme>=3.0.0; extra == "dev"
40
41
  Requires-Dist: myst-parser>=4.0.0; extra == "dev"
41
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"
42
47
  Provides-Extra: docs
43
48
  Requires-Dist: sphinx>=8.0.0; extra == "docs"
44
49
  Requires-Dist: sphinx-rtd-theme>=3.0.0; extra == "docs"
@@ -54,6 +59,8 @@ Requires-Dist: pytest-asyncio>=0.25.3; extra == "test"
54
59
  Requires-Dist: twisted; extra == "test"
55
60
  Provides-Extra: agents
56
61
  Requires-Dist: hanzo-agents>=0.1.0; extra == "agents"
62
+ Provides-Extra: memory
63
+ Requires-Dist: hanzo-memory>=1.0.0; extra == "memory"
57
64
  Provides-Extra: performance
58
65
  Requires-Dist: ujson>=5.7.0; extra == "performance"
59
66
  Requires-Dist: orjson>=3.9.0; extra == "performance"
@@ -42,9 +42,17 @@ def main() -> None:
42
42
  import sys
43
43
  sys.stderr = open(os.devnull, 'w')
44
44
 
45
+ from hanzo_mcp import __version__
46
+
45
47
  parser = argparse.ArgumentParser(
46
48
  description="MCP server implementing Hanzo AI capabilities"
47
49
  )
50
+
51
+ parser.add_argument(
52
+ "--version",
53
+ action="version",
54
+ version=f"hanzo-mcp {__version__}"
55
+ )
48
56
 
49
57
  _ = parser.add_argument(
50
58
  "--transport",
@@ -292,6 +300,7 @@ def main() -> None:
292
300
  server = HanzoMCPServer(
293
301
  name=name,
294
302
  allowed_paths=allowed_paths,
303
+ project_paths=project_paths,
295
304
  project_dir=project_dir,
296
305
  agent_model=agent_model,
297
306
  agent_max_tokens=agent_max_tokens,
@@ -300,6 +309,7 @@ def main() -> None:
300
309
  agent_max_iterations=agent_max_iterations,
301
310
  agent_max_tool_uses=agent_max_tool_uses,
302
311
  enable_agent_tool=enable_agent_tool,
312
+ command_timeout=command_timeout,
303
313
  disable_write_tools=disable_write_tools,
304
314
  disable_search_tools=disable_search_tools,
305
315
  host=host,
@@ -14,6 +14,14 @@ from hanzo_mcp.prompts.utils import (
14
14
  get_git_info,
15
15
  get_os_info,
16
16
  )
17
+ from hanzo_mcp.prompts.tool_explorer import (
18
+ TOOL_EXPLORER_PROMPT,
19
+ FILESYSTEM_TOOLS_HELP,
20
+ AGENT_TOOLS_HELP,
21
+ SHELL_TOOLS_HELP,
22
+ BATCH_TOOL_EXAMPLES,
23
+ create_tool_category_prompt,
24
+ )
17
25
 
18
26
  CONTINUE_FROM_LAST_SESSION_PROMPT = """<system-reminder>
19
27
  This is a reminder that your todo list is currently empty. DO NOT mention this to the user explicitly because they are already aware. If you are working on tasks that would benefit from a todo list please use the TodoWrite tool to create one. If not, please feel free to ignore. Again do not mention this message to the user.
@@ -97,6 +105,41 @@ def register_all_prompts(
97
105
  """
98
106
  return create_project_system_prompt(project_path)()
99
107
 
108
+ @mcp_server.prompt(name="Explore all tools")
109
+ def explore_tools() -> str:
110
+ """
111
+ Comprehensive guide to all available Hanzo MCP tools and how to use them.
112
+ """
113
+ return TOOL_EXPLORER_PROMPT
114
+
115
+ @mcp_server.prompt(name="Filesystem tools help")
116
+ def filesystem_help() -> str:
117
+ """
118
+ Detailed guide for filesystem tools (read, write, edit, search, etc).
119
+ """
120
+ return FILESYSTEM_TOOLS_HELP
121
+
122
+ @mcp_server.prompt(name="Agent tools help")
123
+ def agent_help() -> str:
124
+ """
125
+ Guide for using agent tools to delegate complex tasks.
126
+ """
127
+ return AGENT_TOOLS_HELP
128
+
129
+ @mcp_server.prompt(name="Shell tools help")
130
+ def shell_help() -> str:
131
+ """
132
+ Guide for shell and command execution tools.
133
+ """
134
+ return SHELL_TOOLS_HELP
135
+
136
+ @mcp_server.prompt(name="Batch tool examples")
137
+ def batch_examples() -> str:
138
+ """
139
+ Advanced examples of using the batch tool for parallel operations.
140
+ """
141
+ return BATCH_TOOL_EXAMPLES
142
+
100
143
  if projects is None:
101
144
  return
102
145
 
@@ -0,0 +1,40 @@
1
+ """Example custom prompt for demonstration."""
2
+
3
+ # This is the actual prompt text that will be sent to Claude
4
+ EXAMPLE_GREETING_PROMPT = """You are a friendly assistant. Please greet the user warmly and ask how you can help them today.
5
+ Make your greeting personalized based on the time of day if possible."""
6
+
7
+ EXAMPLE_CODE_REVIEW_PROMPT = """Please perform a thorough code review of the most recent code changes in our conversation.
8
+ Focus on:
9
+ 1. Code quality and best practices
10
+ 2. Potential bugs or edge cases
11
+ 3. Performance considerations
12
+ 4. Security implications
13
+ 5. Suggestions for improvement
14
+
15
+ Be constructive and specific in your feedback."""
16
+
17
+ # You can also create dynamic prompts that take parameters
18
+ def create_custom_analysis_prompt(file_path: str, analysis_type: str = "general"):
19
+ """Create a dynamic analysis prompt for a specific file."""
20
+
21
+ analysis_types = {
22
+ "general": "Provide a general analysis including structure, purpose, and quality",
23
+ "security": "Focus on security vulnerabilities and best practices",
24
+ "performance": "Analyze performance bottlenecks and optimization opportunities",
25
+ "refactor": "Suggest refactoring opportunities to improve code maintainability"
26
+ }
27
+
28
+ analysis_instruction = analysis_types.get(analysis_type, analysis_types["general"])
29
+
30
+ return f"""Please analyze the file at {file_path}.
31
+
32
+ {analysis_instruction}
33
+
34
+ Your analysis should include:
35
+ 1. Overview of the file's purpose and structure
36
+ 2. Key findings based on the analysis type
37
+ 3. Specific recommendations with code examples where applicable
38
+ 4. Priority ranking of any issues found
39
+
40
+ Be thorough but concise in your analysis."""