massgen 0.0.3__py3-none-any.whl → 0.1.0__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 massgen might be problematic. Click here for more details.

Files changed (268) hide show
  1. massgen/__init__.py +142 -8
  2. massgen/adapters/__init__.py +29 -0
  3. massgen/adapters/ag2_adapter.py +483 -0
  4. massgen/adapters/base.py +183 -0
  5. massgen/adapters/tests/__init__.py +0 -0
  6. massgen/adapters/tests/test_ag2_adapter.py +439 -0
  7. massgen/adapters/tests/test_agent_adapter.py +128 -0
  8. massgen/adapters/utils/__init__.py +2 -0
  9. massgen/adapters/utils/ag2_utils.py +236 -0
  10. massgen/adapters/utils/tests/__init__.py +0 -0
  11. massgen/adapters/utils/tests/test_ag2_utils.py +138 -0
  12. massgen/agent_config.py +329 -55
  13. massgen/api_params_handler/__init__.py +10 -0
  14. massgen/api_params_handler/_api_params_handler_base.py +99 -0
  15. massgen/api_params_handler/_chat_completions_api_params_handler.py +176 -0
  16. massgen/api_params_handler/_claude_api_params_handler.py +113 -0
  17. massgen/api_params_handler/_response_api_params_handler.py +130 -0
  18. massgen/backend/__init__.py +39 -4
  19. massgen/backend/azure_openai.py +385 -0
  20. massgen/backend/base.py +341 -69
  21. massgen/backend/base_with_mcp.py +1102 -0
  22. massgen/backend/capabilities.py +386 -0
  23. massgen/backend/chat_completions.py +577 -130
  24. massgen/backend/claude.py +1033 -537
  25. massgen/backend/claude_code.py +1203 -0
  26. massgen/backend/cli_base.py +209 -0
  27. massgen/backend/docs/BACKEND_ARCHITECTURE.md +126 -0
  28. massgen/backend/{CLAUDE_API_RESEARCH.md → docs/CLAUDE_API_RESEARCH.md} +18 -18
  29. massgen/backend/{GEMINI_API_DOCUMENTATION.md → docs/GEMINI_API_DOCUMENTATION.md} +9 -9
  30. massgen/backend/docs/Gemini MCP Integration Analysis.md +1050 -0
  31. massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +177 -0
  32. massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +352 -0
  33. massgen/backend/docs/OPENAI_GPT5_MODELS.md +211 -0
  34. massgen/backend/{OPENAI_RESPONSES_API_FORMAT.md → docs/OPENAI_RESPONSE_API_TOOL_CALLS.md} +3 -3
  35. massgen/backend/docs/OPENAI_response_streaming.md +20654 -0
  36. massgen/backend/docs/inference_backend.md +257 -0
  37. massgen/backend/docs/permissions_and_context_files.md +1085 -0
  38. massgen/backend/external.py +126 -0
  39. massgen/backend/gemini.py +1850 -241
  40. massgen/backend/grok.py +40 -156
  41. massgen/backend/inference.py +156 -0
  42. massgen/backend/lmstudio.py +171 -0
  43. massgen/backend/response.py +1095 -322
  44. massgen/chat_agent.py +131 -113
  45. massgen/cli.py +1560 -275
  46. massgen/config_builder.py +2396 -0
  47. massgen/configs/BACKEND_CONFIGURATION.md +458 -0
  48. massgen/configs/README.md +559 -216
  49. massgen/configs/ag2/ag2_case_study.yaml +27 -0
  50. massgen/configs/ag2/ag2_coder.yaml +34 -0
  51. massgen/configs/ag2/ag2_coder_case_study.yaml +36 -0
  52. massgen/configs/ag2/ag2_gemini.yaml +27 -0
  53. massgen/configs/ag2/ag2_groupchat.yaml +108 -0
  54. massgen/configs/ag2/ag2_groupchat_gpt.yaml +118 -0
  55. massgen/configs/ag2/ag2_single_agent.yaml +21 -0
  56. massgen/configs/basic/multi/fast_timeout_example.yaml +37 -0
  57. massgen/configs/basic/multi/gemini_4o_claude.yaml +31 -0
  58. massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +36 -0
  59. massgen/configs/{gemini_4o_claude.yaml → basic/multi/geminicode_4o_claude.yaml} +3 -3
  60. massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +36 -0
  61. massgen/configs/basic/multi/glm_gemini_claude.yaml +25 -0
  62. massgen/configs/basic/multi/gpt4o_audio_generation.yaml +30 -0
  63. massgen/configs/basic/multi/gpt4o_image_generation.yaml +31 -0
  64. massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +26 -0
  65. massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +26 -0
  66. massgen/configs/{three_agents_default.yaml → basic/multi/three_agents_default.yaml} +8 -4
  67. massgen/configs/basic/multi/three_agents_opensource.yaml +27 -0
  68. massgen/configs/basic/multi/three_agents_vllm.yaml +20 -0
  69. massgen/configs/basic/multi/two_agents_gemini.yaml +19 -0
  70. massgen/configs/{two_agents.yaml → basic/multi/two_agents_gpt5.yaml} +14 -6
  71. massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +31 -0
  72. massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +28 -0
  73. massgen/configs/{single_agent.yaml → basic/single/single_agent.yaml} +1 -1
  74. massgen/configs/{single_flash2.5.yaml → basic/single/single_flash2.5.yaml} +1 -2
  75. massgen/configs/basic/single/single_gemini2.5pro.yaml +16 -0
  76. massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +22 -0
  77. massgen/configs/basic/single/single_gpt4o_image_generation.yaml +22 -0
  78. massgen/configs/basic/single/single_gpt4o_video_generation.yaml +24 -0
  79. massgen/configs/basic/single/single_gpt5nano.yaml +20 -0
  80. massgen/configs/basic/single/single_gpt5nano_file_search.yaml +18 -0
  81. massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +17 -0
  82. massgen/configs/basic/single/single_gptoss120b.yaml +15 -0
  83. massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +15 -0
  84. massgen/configs/basic/single/single_qwen_video_understanding.yaml +15 -0
  85. massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +29 -0
  86. massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +28 -0
  87. massgen/configs/debug/code_execution/docker_verification.yaml +29 -0
  88. massgen/configs/debug/skip_coordination_test.yaml +27 -0
  89. massgen/configs/debug/test_sdk_migration.yaml +17 -0
  90. massgen/configs/docs/DISCORD_MCP_SETUP.md +208 -0
  91. massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +82 -0
  92. massgen/configs/providers/azure/azure_openai_multi.yaml +21 -0
  93. massgen/configs/providers/azure/azure_openai_single.yaml +19 -0
  94. massgen/configs/providers/claude/claude.yaml +14 -0
  95. massgen/configs/providers/gemini/gemini_gpt5nano.yaml +28 -0
  96. massgen/configs/providers/local/lmstudio.yaml +11 -0
  97. massgen/configs/providers/openai/gpt5.yaml +46 -0
  98. massgen/configs/providers/openai/gpt5_nano.yaml +46 -0
  99. massgen/configs/providers/others/grok_single_agent.yaml +19 -0
  100. massgen/configs/providers/others/zai_coding_team.yaml +108 -0
  101. massgen/configs/providers/others/zai_glm45.yaml +12 -0
  102. massgen/configs/{creative_team.yaml → teams/creative/creative_team.yaml} +16 -6
  103. massgen/configs/{travel_planning.yaml → teams/creative/travel_planning.yaml} +16 -6
  104. massgen/configs/{news_analysis.yaml → teams/research/news_analysis.yaml} +16 -6
  105. massgen/configs/{research_team.yaml → teams/research/research_team.yaml} +15 -7
  106. massgen/configs/{technical_analysis.yaml → teams/research/technical_analysis.yaml} +16 -6
  107. massgen/configs/tools/code-execution/basic_command_execution.yaml +25 -0
  108. massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +41 -0
  109. massgen/configs/tools/code-execution/docker_claude_code.yaml +32 -0
  110. massgen/configs/tools/code-execution/docker_multi_agent.yaml +32 -0
  111. massgen/configs/tools/code-execution/docker_simple.yaml +29 -0
  112. massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +32 -0
  113. massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +57 -0
  114. massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +34 -0
  115. massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +68 -0
  116. massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +43 -0
  117. massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +49 -0
  118. massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +31 -0
  119. massgen/configs/tools/filesystem/claude_code_single.yaml +40 -0
  120. massgen/configs/tools/filesystem/fs_permissions_test.yaml +87 -0
  121. massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +54 -0
  122. massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +30 -0
  123. massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +43 -0
  124. massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +45 -0
  125. massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +31 -0
  126. massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +32 -0
  127. massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +58 -0
  128. massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +58 -0
  129. massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +47 -0
  130. massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +48 -0
  131. massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +27 -0
  132. massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +35 -0
  133. massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +32 -0
  134. massgen/configs/tools/mcp/claude_mcp_example.yaml +24 -0
  135. massgen/configs/tools/mcp/claude_mcp_test.yaml +27 -0
  136. massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +157 -0
  137. massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +103 -0
  138. massgen/configs/tools/mcp/gemini_mcp_example.yaml +24 -0
  139. massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +23 -0
  140. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +23 -0
  141. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +17 -0
  142. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +24 -0
  143. massgen/configs/tools/mcp/gemini_mcp_test.yaml +27 -0
  144. massgen/configs/tools/mcp/gemini_notion_mcp.yaml +52 -0
  145. massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +24 -0
  146. massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +27 -0
  147. massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +38 -0
  148. massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +25 -0
  149. massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +28 -0
  150. massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +24 -0
  151. massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +27 -0
  152. massgen/configs/tools/mcp/multimcp_gemini.yaml +111 -0
  153. massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +25 -0
  154. massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +28 -0
  155. massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +24 -0
  156. massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +27 -0
  157. massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +140 -0
  158. massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +151 -0
  159. massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +151 -0
  160. massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +155 -0
  161. massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +73 -0
  162. massgen/configs/tools/web-search/claude_streamable_http_test.yaml +43 -0
  163. massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +43 -0
  164. massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +43 -0
  165. massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +44 -0
  166. massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +43 -0
  167. massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +44 -0
  168. massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +43 -0
  169. massgen/coordination_tracker.py +708 -0
  170. massgen/docker/README.md +462 -0
  171. massgen/filesystem_manager/__init__.py +21 -0
  172. massgen/filesystem_manager/_base.py +9 -0
  173. massgen/filesystem_manager/_code_execution_server.py +545 -0
  174. massgen/filesystem_manager/_docker_manager.py +477 -0
  175. massgen/filesystem_manager/_file_operation_tracker.py +248 -0
  176. massgen/filesystem_manager/_filesystem_manager.py +813 -0
  177. massgen/filesystem_manager/_path_permission_manager.py +1261 -0
  178. massgen/filesystem_manager/_workspace_tools_server.py +1815 -0
  179. massgen/formatter/__init__.py +10 -0
  180. massgen/formatter/_chat_completions_formatter.py +284 -0
  181. massgen/formatter/_claude_formatter.py +235 -0
  182. massgen/formatter/_formatter_base.py +156 -0
  183. massgen/formatter/_response_formatter.py +263 -0
  184. massgen/frontend/__init__.py +1 -2
  185. massgen/frontend/coordination_ui.py +471 -286
  186. massgen/frontend/displays/base_display.py +56 -11
  187. massgen/frontend/displays/create_coordination_table.py +1956 -0
  188. massgen/frontend/displays/rich_terminal_display.py +1259 -619
  189. massgen/frontend/displays/simple_display.py +9 -4
  190. massgen/frontend/displays/terminal_display.py +27 -68
  191. massgen/logger_config.py +681 -0
  192. massgen/mcp_tools/README.md +232 -0
  193. massgen/mcp_tools/__init__.py +105 -0
  194. massgen/mcp_tools/backend_utils.py +1035 -0
  195. massgen/mcp_tools/circuit_breaker.py +195 -0
  196. massgen/mcp_tools/client.py +894 -0
  197. massgen/mcp_tools/config_validator.py +138 -0
  198. massgen/mcp_tools/docs/circuit_breaker.md +646 -0
  199. massgen/mcp_tools/docs/client.md +950 -0
  200. massgen/mcp_tools/docs/config_validator.md +478 -0
  201. massgen/mcp_tools/docs/exceptions.md +1165 -0
  202. massgen/mcp_tools/docs/security.md +854 -0
  203. massgen/mcp_tools/exceptions.py +338 -0
  204. massgen/mcp_tools/hooks.py +212 -0
  205. massgen/mcp_tools/security.py +780 -0
  206. massgen/message_templates.py +342 -64
  207. massgen/orchestrator.py +1515 -241
  208. massgen/stream_chunk/__init__.py +35 -0
  209. massgen/stream_chunk/base.py +92 -0
  210. massgen/stream_chunk/multimodal.py +237 -0
  211. massgen/stream_chunk/text.py +162 -0
  212. massgen/tests/mcp_test_server.py +150 -0
  213. massgen/tests/multi_turn_conversation_design.md +0 -8
  214. massgen/tests/test_azure_openai_backend.py +156 -0
  215. massgen/tests/test_backend_capabilities.py +262 -0
  216. massgen/tests/test_backend_event_loop_all.py +179 -0
  217. massgen/tests/test_chat_completions_refactor.py +142 -0
  218. massgen/tests/test_claude_backend.py +15 -28
  219. massgen/tests/test_claude_code.py +268 -0
  220. massgen/tests/test_claude_code_context_sharing.py +233 -0
  221. massgen/tests/test_claude_code_orchestrator.py +175 -0
  222. massgen/tests/test_cli_backends.py +180 -0
  223. massgen/tests/test_code_execution.py +679 -0
  224. massgen/tests/test_external_agent_backend.py +134 -0
  225. massgen/tests/test_final_presentation_fallback.py +237 -0
  226. massgen/tests/test_gemini_planning_mode.py +351 -0
  227. massgen/tests/test_grok_backend.py +7 -10
  228. massgen/tests/test_http_mcp_server.py +42 -0
  229. massgen/tests/test_integration_simple.py +198 -0
  230. massgen/tests/test_mcp_blocking.py +125 -0
  231. massgen/tests/test_message_context_building.py +29 -47
  232. massgen/tests/test_orchestrator_final_presentation.py +48 -0
  233. massgen/tests/test_path_permission_manager.py +2087 -0
  234. massgen/tests/test_rich_terminal_display.py +14 -13
  235. massgen/tests/test_timeout.py +133 -0
  236. massgen/tests/test_v3_3agents.py +11 -12
  237. massgen/tests/test_v3_simple.py +8 -13
  238. massgen/tests/test_v3_three_agents.py +11 -18
  239. massgen/tests/test_v3_two_agents.py +8 -13
  240. massgen/token_manager/__init__.py +7 -0
  241. massgen/token_manager/token_manager.py +400 -0
  242. massgen/utils.py +52 -16
  243. massgen/v1/agent.py +45 -91
  244. massgen/v1/agents.py +18 -53
  245. massgen/v1/backends/gemini.py +50 -153
  246. massgen/v1/backends/grok.py +21 -54
  247. massgen/v1/backends/oai.py +39 -111
  248. massgen/v1/cli.py +36 -93
  249. massgen/v1/config.py +8 -12
  250. massgen/v1/logging.py +43 -127
  251. massgen/v1/main.py +18 -32
  252. massgen/v1/orchestrator.py +68 -209
  253. massgen/v1/streaming_display.py +62 -163
  254. massgen/v1/tools.py +8 -12
  255. massgen/v1/types.py +9 -23
  256. massgen/v1/utils.py +5 -23
  257. massgen-0.1.0.dist-info/METADATA +1245 -0
  258. massgen-0.1.0.dist-info/RECORD +273 -0
  259. massgen-0.1.0.dist-info/entry_points.txt +2 -0
  260. massgen/frontend/logging/__init__.py +0 -9
  261. massgen/frontend/logging/realtime_logger.py +0 -197
  262. massgen-0.0.3.dist-info/METADATA +0 -568
  263. massgen-0.0.3.dist-info/RECORD +0 -76
  264. massgen-0.0.3.dist-info/entry_points.txt +0 -2
  265. /massgen/backend/{Function calling openai responses.md → docs/Function calling openai responses.md} +0 -0
  266. {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/WHEEL +0 -0
  267. {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/licenses/LICENSE +0 -0
  268. {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,27 @@
1
+ # MassGen Configuration
2
+ # Usage:
3
+ # massgen --config @examples/tools/mcp/grok3_mini_mcp_test "Test the MCP tools by calling mcp_echo with text 'Hello massgen' and add_numbers with 46 and 52"
4
+ agents:
5
+ - id: "grok3_mini_mcp_test"
6
+ backend:
7
+ type: "grok"
8
+ model: "grok-3-mini"
9
+ mcp_servers:
10
+ - name: "test_server"
11
+ type: "stdio"
12
+ command: "python"
13
+ args: ["-u", "-m", "massgen.tests.mcp_test_server"]
14
+ system_message: |
15
+ You are testing the MCP integration with Grok.
16
+
17
+ MCP tools from the "test_server" will be available via sessions and auto-called by the system when needed.
18
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
19
+
20
+ Tasks to verify:
21
+ - Echo: return the text given in the question.
22
+ - Add numbers: return the sum of a and b.
23
+ - Current time: return the current timestamp.
24
+
25
+ ui:
26
+ display_type: "rich_terminal"
27
+ logging_enabled: true
@@ -0,0 +1,111 @@
1
+ # Multi-MCP Server Configuration - Airbnb + Brave Search
2
+ # Test multiple API-based MCP servers with proper security configuration
3
+ #
4
+ # Setup:
5
+ # Place it in your .env file, BRAVE_API_KEY="your_brave_key_here"
6
+ #
7
+ # Example usage - Travel Research:
8
+ # massgen --config @examples/tools/mcp/multimcp_gemini "Find the best neighborhoods in New York, suggest safe and affordable Airbnb stays for 2 people from October 10–15, and give me a travel summary with highlights and costs"
9
+
10
+ agents:
11
+ - id: "travel_research_assistant"
12
+ backend:
13
+ type: "gemini"
14
+ model: "gemini-2.5-flash"
15
+ mcp_servers:
16
+ # Airbnb server for accommodations (web scraping based)
17
+ - name: "airbnb_search"
18
+ type: "stdio"
19
+ command: "npx"
20
+ args: ["-y", "@openbnb/mcp-server-airbnb", "--ignore-robots-txt"]
21
+ security:
22
+ level: "moderate"
23
+ # Brave Search API server
24
+ - name: "brave_search"
25
+ type: "stdio"
26
+ command: "npx"
27
+ args: ["-y", "@modelcontextprotocol/server-brave-search"]
28
+ env:
29
+ BRAVE_API_KEY: "${BRAVE_API_KEY}"
30
+ security:
31
+ level: "moderate"
32
+
33
+ system_message: |
34
+ You are a comprehensive travel research assistant with access to multiple data sources.
35
+ Your goal is to create personalized, actionable, and well-structured travel plans by
36
+ combining neighborhood insights with cost-effective accommodations.
37
+
38
+ ## Available Tools
39
+
40
+ ### 1. Web Search (mcp__brave_web_search)
41
+ - Purpose: Research neighborhoods, safety, attractions, events, and transportation.
42
+ - Use for: travel guides, reviews, safety info, current events, local insights.
43
+
44
+ ### 2. Airbnb Search (mcp__airbnb_search)
45
+ - Purpose: Find accommodations with filtering by location, dates, guests, and budget.
46
+ - Parameters: location, checkin/checkout, adults/children/pets, minPrice/maxPrice.
47
+ - Returns: Property listings with price, amenities, reviews, and booking links.
48
+
49
+ ### 3. Airbnb Details (mcp__airbnb_search__airbnb_listing_details)
50
+ - Purpose: Retrieve full details about a specific property.
51
+ - Parameters: listing ID, checkin/checkout, guest details.
52
+ - Returns: Property info, rules, location, and amenities.
53
+
54
+ ## Research Workflow
55
+
56
+ ### Step 1: Gather User Context
57
+ Always ask or infer the following details if not explicitly provided:
58
+ - Trip duration (number of days/nights).
59
+ - Traveler type: solo, couple, family, group.
60
+ - Budget preference: economical, mid-range, or luxury.
61
+ - Special requirements: e.g., pet-friendly, kid-friendly, business trip.
62
+
63
+ ### Step 2: Neighborhood Research
64
+ - Search queries:
65
+ - “best neighborhoods in [city] for tourists”
66
+ - “safest areas in [city] for families”
67
+ - “budget-friendly neighborhoods in [city]”
68
+ - “up-and-coming neighborhoods in [city]”
69
+ - Extract: pros/cons, safety, vibe, attractions, and accessibility.
70
+
71
+ ### Step 3: Accommodation Search
72
+ - Use Airbnb search for shortlisted neighborhoods.
73
+ - Apply filters: price range (based on budget), guest count (based on traveler type),
74
+ and duration (check-in/check-out).
75
+ - Compare options by price, amenities, and reviews.
76
+
77
+ ### Step 4: Create Comprehensive Travel Summary
78
+ Include:
79
+ - **Neighborhood Overview**: highlights, vibe, pros/cons, safety info.
80
+ - **Local Attractions**: key sights, dining, cultural experiences.
81
+ - **Transportation Tips**: nearest transit, ease of access to city center.
82
+ - **Airbnb Options**: 2 or 3 listings with price/night, amenities, and links.
83
+ - **Budget Estimate**: total accommodation cost for trip duration.
84
+ - **Tailored Advice**: safety for families, nightlife for couples, space for groups, etc.
85
+ - **Booking Recommendations**: most practical or best value options.
86
+
87
+ ## Example Workflows
88
+
89
+ **Barcelona Trip (Budget Traveler, 5 Nights, Couple)**
90
+ 1. Research neighborhoods good for couples, affordable dining, and safety.
91
+ 2. Search Airbnb with filters: 2 adults, 5 nights, price range $80–120/night.
92
+ 3. Summarize with pros/cons, attractions, and Airbnb picks.
93
+ 4. Provide estimated total cost for stay + recommendations.
94
+
95
+ **Tokyo Family Travel (Mid-Range, 7 Nights, 2 Adults + 2 Kids)**
96
+ 1. Research “family-friendly neighborhoods in Tokyo” with good schools/parks.
97
+ 2. Airbnb search: 4 guests, 7 nights, price range $150–200/night, family amenities.
98
+ 3. Summarize: neighborhoods, attractions, transportation, Airbnb options.
99
+ 4. Highlight kid-friendly features and total accommodation budget.
100
+
101
+ ## Output Guidelines
102
+ - Use clear headings and bullet points.
103
+ - Present neighborhood recommendations with pros/cons.
104
+ - Provide 2 or 3 Airbnb listings with prices and amenities.
105
+ - Show total accommodation cost for stay duration.
106
+ - Tailor advice to traveler type and budget.
107
+ - Always include practical travel tips.
108
+
109
+ ui:
110
+ display_type: "rich_terminal"
111
+ logging_enabled: true
@@ -0,0 +1,25 @@
1
+ # MassGen Configuration: Gemini with MCP Integration
2
+ # Usage:
3
+ # massgen --config @examples/tools/mcp/qwen_api_mcp_example "whats the weather of Tokyo"
4
+ agents:
5
+ - id: "qwen-mcp_weather" # Cerebras AI
6
+ backend:
7
+ type: "chatcompletion"
8
+ model: "qwen-3-235b-a22b-instruct-2507"
9
+ base_url: "https://api.cerebras.ai/v1"
10
+ mcp_servers:
11
+ - name: "weather"
12
+ type: "stdio"
13
+ command: "npx"
14
+ args: ["-y", "@fak111/weather-mcp"]
15
+ system_message: |
16
+ You are an AI assistant with access to weather information through MCP (Model Context Protocol) integration.
17
+
18
+ Weather tools are available via MCP sessions and will be called automatically by the system when needed.
19
+ Do not output tool call syntax or function declarations. Focus on answering the user's question clearly.
20
+
21
+ When users ask about weather conditions, forecasts, or alerts, include the location and time frame in your
22
+ response and provide concise, up-to-date information using the integrated tools.
23
+ ui:
24
+ display_type: "rich_terminal"
25
+ logging_enabled: true
@@ -0,0 +1,28 @@
1
+ # MassGen Configuration
2
+ # Usage:
3
+ # massgen --config @examples/tools/mcp/qwen_api_mcp_test "Test the MCP tools by calling mcp_echo with text 'Hello massgen' and add_numbers with 46 and 52"
4
+ agents:
5
+ - id: "qwen_mcp_weather"
6
+ backend:
7
+ type: "chatcompletion"
8
+ model: "qwen-3-235b-a22b-instruct-2507"
9
+ base_url: "https://api.cerebras.ai/v1"
10
+ mcp_servers:
11
+ - name: "test_server"
12
+ type: "stdio"
13
+ command: "python"
14
+ args: ["-u", "-m", "massgen.tests.mcp_test_server"]
15
+ system_message: |
16
+ You are testing the MCP integration with Qwen API.
17
+
18
+ MCP tools from the "test_server" will be available via sessions and auto-called by the system when needed.
19
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
20
+
21
+ Tasks to verify:
22
+ - Echo: return the text given in the question.
23
+ - Add numbers: return the sum of a and b.
24
+ - Current time: return the current timestamp.
25
+
26
+ ui:
27
+ display_type: "rich_terminal"
28
+ logging_enabled: true
@@ -0,0 +1,24 @@
1
+ # MassGen Configuration: Gemini with MCP Integration
2
+ # Usage:
3
+ # massgen --config @examples/tools/mcp/qwen_local_mcp_example "whats the weather of Tokyo"
4
+ agents:
5
+ - id: "qwen3-4b-mcp_weather" # Cerebras AI
6
+ backend:
7
+ type: "lmstudio"
8
+ model: "qwen/qwen3-4b-2507"
9
+ mcp_servers:
10
+ - name: "weather"
11
+ type: "stdio"
12
+ command: "npx"
13
+ args: ["-y", "@fak111/weather-mcp"]
14
+ system_message: |
15
+ You are an AI assistant with access to weather information through MCP (Model Context Protocol) integration.
16
+
17
+ Weather tools are available via MCP sessions and will be called automatically by the system when needed.
18
+ Do not output tool call syntax or function declarations. Focus on answering the user's question clearly.
19
+
20
+ When users ask about weather conditions, forecasts, or alerts, include the location and time frame in your
21
+ response and provide concise, up-to-date information using the integrated tools.
22
+ ui:
23
+ display_type: "simple"
24
+ logging_enabled: true
@@ -0,0 +1,27 @@
1
+ # MassGen Configuration
2
+ # Usage:
3
+ # massgen --config @examples/tools/mcp/qwen_local_mcp_test "Test the MCP tools by calling mcp_echo with text 'Hello massgen' and add_numbers with 46 and 52"
4
+ agents:
5
+ - id: "qwen_mcp_weather"
6
+ backend:
7
+ type: "lmstudio"
8
+ model: "qwen/qwen3-4b-2507"
9
+ mcp_servers:
10
+ - name: "test_server"
11
+ type: "stdio"
12
+ command: "python"
13
+ args: ["-u", "-m", "massgen.tests.mcp_test_server"]
14
+ system_message: |
15
+ You are testing the MCP integration with Qwen API.
16
+
17
+ MCP tools from the "test_server" will be available via sessions and auto-called by the system when needed.
18
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
19
+
20
+ Tasks to verify:
21
+ - Echo: return the text given in the question.
22
+ - Add numbers: return the sum of a and b.
23
+ - Current time: return the current timestamp.
24
+
25
+ ui:
26
+ display_type: "rich_terminal"
27
+ logging_enabled: true
@@ -0,0 +1,140 @@
1
+ # Five Agent Discord MCP Test Configuration with Planning Mode
2
+ # This configuration demonstrates planning vs execution mode to prevent duplicate tool calls
3
+ # during coordination while allowing full tool execution during final presentation
4
+ #
5
+ # Setup Requirements:
6
+ # 1. Install Discord MCP server: npm install -g mcp-discord
7
+ # 2. Set environment variables in .env file:
8
+ # DISCORD_TOKEN="your_discord_bot_token"
9
+ # OPENAI_API_KEY="your_openai_key"
10
+ # GOOGLE_API_KEY="your_gemini_key"
11
+ # ANTHROPIC_API_KEY="your_claude_key"
12
+ # XAI_API_KEY="your_grok_key"
13
+ #
14
+ # Example usage:
15
+ # massgen --config @examples/tools/planning/five_agents_discord_mcp_planning_mode "Check recent messages in our development channel, summarize the discussion, and post a helpful response about the current topic."
16
+
17
+ agents:
18
+ - id: "gemini_discord_agent"
19
+ backend:
20
+ type: "gemini"
21
+ model: "gemini-2.5-flash"
22
+ mcp_servers:
23
+ - name: "discord"
24
+ type: "stdio"
25
+ command: "npx"
26
+ args: ["-y", "mcp-discord", "--config", "${DISCORD_TOKEN}"]
27
+ env:
28
+ DISCORD_TOKEN: "${DISCORD_TOKEN}"
29
+ security:
30
+ level: "high"
31
+ system_message: |
32
+ Available Discord Tools:
33
+ - Discord server interaction via MCP integration
34
+ - Message reading, sending, and management
35
+ - Channel and server information access
36
+
37
+ - id: "openai_discord_agent"
38
+ backend:
39
+ type: "openai"
40
+ model: "gpt-4o-mini"
41
+ mcp_servers:
42
+ - name: "discord"
43
+ type: "stdio"
44
+ command: "npx"
45
+ args: ["-y", "mcp-discord", "--config", "${DISCORD_TOKEN}"]
46
+ env:
47
+ DISCORD_TOKEN: "${DISCORD_TOKEN}"
48
+ security:
49
+ level: "high"
50
+ exclude_tools:
51
+ - mcp__discord__discord_send_webhook_message
52
+ - mcp__discord__discord_edit_webhook_message
53
+ system_message: |
54
+ Available Discord Tools:
55
+ - Discord server interaction via MCP integration
56
+ - Message reading, sending, and management
57
+ - Channel and server information access
58
+
59
+ - id: "claude_code_discord_agent"
60
+ backend:
61
+ type: "claude_code"
62
+ cwd: "claude_code_workspace_discord_mcp"
63
+ permission_mode: "bypassPermissions"
64
+ mcp_servers:
65
+ discord:
66
+ type: "stdio"
67
+ command: "npx"
68
+ args: ["-y", "mcp-discord", "--config", "${DISCORD_TOKEN}"]
69
+ env:
70
+ DISCORD_TOKEN: "${DISCORD_TOKEN}"
71
+ system_message: |
72
+ Available Discord Tools:
73
+ - Discord server interaction via MCP integration
74
+ - Message reading, sending, and management
75
+ - Channel and server information access
76
+
77
+ - id: "claude_discord_agent"
78
+ backend:
79
+ type: "claude"
80
+ model: "claude-sonnet-4-20250514"
81
+ mcp_servers:
82
+ - name: "discord"
83
+ type: "stdio"
84
+ command: "npx"
85
+ args: ["-y", "mcp-discord", "--config", "${DISCORD_TOKEN}"]
86
+ env:
87
+ DISCORD_TOKEN: "${DISCORD_TOKEN}"
88
+ security:
89
+ level: "high"
90
+ exclude_tools:
91
+ - mcp__discord__discord_send_webhook_message
92
+ - mcp__discord__discord_edit_webhook_message
93
+ system_message: |
94
+ Available Discord Tools:
95
+ - Discord server interaction via MCP integration
96
+ - Message reading, sending, and management
97
+ - Channel and server information access
98
+
99
+ - id: "grok_discord_agent"
100
+ backend:
101
+ type: "grok"
102
+ model: "grok-3-mini"
103
+ mcp_servers:
104
+ - name: "discord"
105
+ type: "stdio"
106
+ command: "npx"
107
+ args: ["-y", "mcp-discord", "--config", "${DISCORD_TOKEN}"]
108
+ env:
109
+ DISCORD_TOKEN: "${DISCORD_TOKEN}"
110
+ security:
111
+ level: "high"
112
+ exclude_tools:
113
+ - mcp__discord__discord_send_webhook_message
114
+ - mcp__discord__discord_edit_webhook_message
115
+ system_message: |
116
+ Available Discord Tools:
117
+ - Discord server interaction via MCP integration
118
+ - Message reading, sending, and management
119
+ - Channel and server information access
120
+
121
+ ui:
122
+ display_type: "rich_terminal"
123
+ logging_enabled: true
124
+
125
+ # Orchestrator Settings with Coordination Configuration
126
+ orchestrator:
127
+ snapshot_storage: "massgen_logs/snapshots" # Directory for workspace snapshots
128
+ agent_temporary_workspace: "massgen_logs/temp_workspaces" # Directory for temporary agent workspaces
129
+ coordination:
130
+ enable_planning_mode: true
131
+ planning_mode_instruction: |
132
+ PLANNING MODE ACTIVE: You are currently in the coordination phase where agents discuss and plan their approach.
133
+ During this phase, you should:
134
+ 1. Describe your intended actions and reasoning
135
+ 2. Analyze other agents' proposals
136
+ 3. Use only the 'vote' or 'new_answer' tools for coordination
137
+ 4. DO NOT execute any actual Discord commands or API calls
138
+ 5. Save tool execution for the final presentation phase when the winning agent will implement the plan
139
+
140
+ Focus on planning, analysis, and coordination rather than execution.
@@ -0,0 +1,151 @@
1
+ # Five Agent Filesystem MCP Test Configuration with Planning Mode
2
+ # This configuration demonstrates planning vs execution mode using local filesystem tools
3
+ # that require NO external API keys - perfect for testing and demonstration!
4
+ #
5
+ # Setup Requirements:
6
+ # 1. No external API keys needed! Uses local filesystem MCP servers
7
+ # 2. Set environment variables in .env file:
8
+ # OPENAI_API_KEY="your_openai_key" (for OpenAI agent)
9
+ # GOOGLE_API_KEY="your_gemini_key" (for Gemini agent)
10
+ # ANTHROPIC_API_KEY="your_claude_key" (for Claude agent)
11
+ # XAI_API_KEY="your_grok_key" (for Grok agent)
12
+ #
13
+ # Example usage:
14
+ # massgen --config @examples/tools/planning/five_agents_filesystem_mcp_planning_mode "Create a project structure for a Python web app with directories for src, tests, docs, and config. Add some example files and then analyze the structure."
15
+
16
+ agents:
17
+ - id: "gemini_filesystem_agent"
18
+ backend:
19
+ type: "gemini"
20
+ model: "gemini-2.5-flash"
21
+ mcp_servers:
22
+ - name: "filesystem"
23
+ type: "stdio"
24
+ command: "npx"
25
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "."]
26
+ security:
27
+ level: "high"
28
+ - name: "workspace_tools"
29
+ type: "stdio"
30
+ command: "fastmcp"
31
+ args: ["run", "massgen.filesystem_manager._workspace_tools_server:create_server", "--", "--allowed-paths", "."]
32
+ env:
33
+ FASTMCP_SHOW_CLI_BANNER: "false"
34
+ system_message: |
35
+ Available Filesystem Tools:
36
+ - Filesystem operations: read_file, write_file, create_directory, list_directory
37
+ - Workspace tools: copy_file, compare_files, delete_file, batch operations
38
+ - File analysis and management capabilities
39
+
40
+ - id: "openai_filesystem_agent"
41
+ backend:
42
+ type: "openai"
43
+ model: "gpt-4o-mini"
44
+ mcp_servers:
45
+ - name: "filesystem"
46
+ type: "stdio"
47
+ command: "npx"
48
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "."]
49
+ security:
50
+ level: "high"
51
+ - name: "workspace_tools"
52
+ type: "stdio"
53
+ command: "fastmcp"
54
+ args: ["run", "massgen.filesystem_manager._workspace_tools_server:create_server", "--", "--allowed-paths", "."]
55
+ env:
56
+ FASTMCP_SHOW_CLI_BANNER: "false"
57
+ system_message: |
58
+ Available Filesystem Tools:
59
+ - Filesystem operations: read_file, write_file, create_directory, list_directory
60
+ - Workspace tools: copy_file, compare_files, delete_file, batch operations
61
+ - File analysis and management capabilities
62
+
63
+ - id: "claude_code_filesystem_agent"
64
+ backend:
65
+ type: "claude_code"
66
+ cwd: "claude_code_workspace_filesystem_mcp"
67
+ permission_mode: "bypassPermissions"
68
+ mcp_servers:
69
+ filesystem:
70
+ type: "stdio"
71
+ command: "npx"
72
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "."]
73
+ workspace_tools:
74
+ type: "stdio"
75
+ command: "fastmcp"
76
+ args: ["run", "massgen.filesystem_manager._workspace_tools_server:create_server", "--", "--allowed-paths", "."]
77
+ env:
78
+ FASTMCP_SHOW_CLI_BANNER: "false"
79
+ system_message: |
80
+ Available Filesystem Tools:
81
+ - Filesystem operations: read_file, write_file, create_directory, list_directory
82
+ - Workspace tools: copy_file, compare_files, delete_file, batch operations
83
+ - File analysis and management capabilities
84
+
85
+ - id: "claude_filesystem_agent"
86
+ backend:
87
+ type: "claude"
88
+ model: "claude-sonnet-4-20250514"
89
+ mcp_servers:
90
+ - name: "filesystem"
91
+ type: "stdio"
92
+ command: "npx"
93
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "."]
94
+ security:
95
+ level: "high"
96
+ - name: "workspace_tools"
97
+ type: "stdio"
98
+ command: "fastmcp"
99
+ args: ["run", "massgen.filesystem_manager._workspace_tools_server:create_server", "--", "--allowed-paths", "."]
100
+ env:
101
+ FASTMCP_SHOW_CLI_BANNER: "false"
102
+ system_message: |
103
+ Available Filesystem Tools:
104
+ - Filesystem operations: read_file, write_file, create_directory, list_directory
105
+ - Workspace tools: copy_file, compare_files, delete_file, batch operations
106
+ - File analysis and management capabilities
107
+
108
+ - id: "grok_filesystem_agent"
109
+ backend:
110
+ type: "grok"
111
+ model: "grok-3-mini"
112
+ mcp_servers:
113
+ - name: "filesystem"
114
+ type: "stdio"
115
+ command: "npx"
116
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "."]
117
+ security:
118
+ level: "high"
119
+ - name: "workspace_tools"
120
+ type: "stdio"
121
+ command: "fastmcp"
122
+ args: ["run", "massgen.filesystem_manager._workspace_tools_server:create_server", "--", "--allowed-paths", "."]
123
+ env:
124
+ FASTMCP_SHOW_CLI_BANNER: "false"
125
+ system_message: |
126
+ Available Filesystem Tools:
127
+ - Filesystem operations: read_file, write_file, create_directory, list_directory
128
+ - Workspace tools: copy_file, compare_files, delete_file, batch operations
129
+ - File analysis and management capabilities
130
+
131
+ ui:
132
+ display_type: "rich_terminal"
133
+ logging_enabled: true
134
+
135
+ # Orchestrator Settings with Coordination Configuration
136
+ orchestrator:
137
+ snapshot_storage: "massgen_logs/snapshots" # Directory for workspace snapshots
138
+ agent_temporary_workspace: "massgen_logs/temp_workspaces" # Directory for temporary agent workspaces
139
+ coordination:
140
+ enable_planning_mode: true
141
+ planning_mode_instruction: |
142
+ PLANNING MODE ACTIVE: You are currently in the coordination phase where agents discuss and plan their approach.
143
+ During this phase, you should:
144
+ 1. Describe your intended file operations and reasoning
145
+ 2. Analyze other agents' proposals for the filesystem tasks
146
+ 3. Use only the 'vote' or 'new_answer' tools for coordination
147
+ 4. DO NOT execute any actual filesystem operations, file creation, or directory management
148
+ 5. Save all file operations for the final presentation phase when the winning agent will implement the plan
149
+
150
+ Focus on planning, analysis, and coordination rather than execution.
151
+ Example: "I would create a 'src' directory and write a main.py file..." rather than actually creating them.