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,151 @@
1
+ # Five Agent Notion 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 Notion MCP server: npm install -g @notionhq/notion-mcp-server
7
+ # 2. Create Notion integrations and get tokens (see detailed setup in original config)
8
+ # 3. Set environment variables in .env file:
9
+ # NOTION_TOKEN_ONE="your_first_notion_integration_token"
10
+ # NOTION_TOKEN_TWO="your_second_notion_integration_token"
11
+ # NOTION_TOKEN_THREE="your_third_notion_integration_token"
12
+ # NOTION_TOKEN_FOUR="your_fourth_notion_integration_token"
13
+ # NOTION_TOKEN_FIVE="your_fifth_notion_integration_token"
14
+ # OPENAI_API_KEY="your_openai_key"
15
+ # GOOGLE_API_KEY="your_gemini_key"
16
+ # ANTHROPIC_API_KEY="your_claude_key"
17
+ # XAI_API_KEY="your_grok_key"
18
+ #
19
+ # Example usage:
20
+ # massgen --config @examples/tools/planning/five_agents_notion_mcp_planning_mode "Create a comprehensive project management system in Notion with tasks, timelines, and progress tracking. Design the database structure, create initial pages, and set up automation workflows."
21
+
22
+ agents:
23
+ - id: "gemini_notion_agent"
24
+ backend:
25
+ type: "gemini"
26
+ model: "gemini-2.5-flash"
27
+ mcp_servers:
28
+ - name: "notionApi"
29
+ type: "stdio"
30
+ command: "npx"
31
+ args: ["-y", "@notionhq/notion-mcp-server"]
32
+ env:
33
+ NOTION_TOKEN: "${NOTION_TOKEN_ONE}"
34
+ security:
35
+ level: "moderate"
36
+ exclude_tools:
37
+ - post_search # Exclude problematic tools as noted in original config
38
+ system_message: |
39
+ Available Notion Tools:
40
+ - Notion workspace management via MCP integration
41
+ - Page creation, reading, and updating capabilities
42
+ - Database design and content management
43
+ - Property configuration and relationship setup
44
+
45
+ - id: "openai_notion_agent"
46
+ backend:
47
+ type: "openai"
48
+ model: "gpt-4o-mini"
49
+ mcp_servers:
50
+ - name: "notionApi"
51
+ type: "stdio"
52
+ command: "npx"
53
+ args: ["-y", "@notionhq/notion-mcp-server"]
54
+ env:
55
+ NOTION_TOKEN: "${NOTION_TOKEN_TWO}"
56
+ security:
57
+ level: "moderate"
58
+ exclude_tools:
59
+ - post_search
60
+ system_message: |
61
+ Available Notion Tools:
62
+ - Notion workspace management via MCP integration
63
+ - Page creation, reading, and updating capabilities
64
+ - Database design and content management
65
+ - Property configuration and relationship setup
66
+
67
+ - id: "claude_code_notion_agent"
68
+ backend:
69
+ type: "claude_code"
70
+ cwd: "claude_code_workspace_notion_mcp"
71
+ permission_mode: "bypassPermissions"
72
+ mcp_servers:
73
+ notionApi:
74
+ type: "stdio"
75
+ command: "npx"
76
+ args: ["-y", "@notionhq/notion-mcp-server"]
77
+ env:
78
+ NOTION_TOKEN: "${NOTION_TOKEN_THREE}"
79
+ exclude_tools:
80
+ - post_search
81
+ system_message: |
82
+ Available Notion Tools:
83
+ - Notion workspace management via MCP integration
84
+ - Page creation, reading, and updating capabilities
85
+ - Database design and content management
86
+ - Property configuration and relationship setup
87
+
88
+ - id: "claude_notion_agent"
89
+ backend:
90
+ type: "claude"
91
+ model: "claude-sonnet-4-20250514"
92
+ mcp_servers:
93
+ - name: "notionApi"
94
+ type: "stdio"
95
+ command: "npx"
96
+ args: ["-y", "@notionhq/notion-mcp-server"]
97
+ env:
98
+ NOTION_TOKEN: "${NOTION_TOKEN_FOUR}"
99
+ security:
100
+ level: "moderate"
101
+ exclude_tools:
102
+ - post_search
103
+ system_message: |
104
+ Available Notion Tools:
105
+ - Notion workspace management via MCP integration
106
+ - Page creation, reading, and updating capabilities
107
+ - Database design and content management
108
+ - Property configuration and relationship setup
109
+
110
+ - id: "grok_notion_agent"
111
+ backend:
112
+ type: "grok"
113
+ model: "grok-3-mini"
114
+ mcp_servers:
115
+ - name: "notionApi"
116
+ type: "stdio"
117
+ command: "npx"
118
+ args: ["-y", "@notionhq/notion-mcp-server"]
119
+ env:
120
+ NOTION_TOKEN: "${NOTION_TOKEN_FIVE}"
121
+ security:
122
+ level: "moderate"
123
+ exclude_tools:
124
+ - post_search
125
+ system_message: |
126
+ Available Notion Tools:
127
+ - Notion workspace management via MCP integration
128
+ - Page creation, reading, and updating capabilities
129
+ - Database design and content management
130
+ - Property configuration and relationship setup
131
+
132
+ ui:
133
+ display_type: "rich_terminal"
134
+ logging_enabled: true
135
+
136
+ # Orchestrator Settings with Coordination Configuration
137
+ orchestrator:
138
+ snapshot_storage: "massgen_logs/snapshots" # Directory for workspace snapshots
139
+ agent_temporary_workspace: "massgen_logs/temp_workspaces" # Directory for temporary agent workspaces
140
+ coordination:
141
+ enable_planning_mode: true
142
+ planning_mode_instruction: |
143
+ PLANNING MODE ACTIVE: You are currently in the coordination phase where agents discuss and plan their approach.
144
+ During this phase, you should:
145
+ 1. Describe your intended actions and reasoning
146
+ 2. Analyze other agents' proposals
147
+ 3. Use only the 'vote' or 'new_answer' tools for coordination
148
+ 4. DO NOT execute any actual Notion commands or API calls
149
+ 5. Save tool execution for the final presentation phase when the winning agent will implement the plan
150
+
151
+ Focus on planning, analysis, and coordination rather than execution.
@@ -0,0 +1,155 @@
1
+ # Five Agent Twitter 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 Twitter MCP server: npm install -g @enescinar/twitter-mcp
7
+ # 2. Set environment variables in .env file:
8
+ # OPENAI_API_KEY="your_openai_key"
9
+ # GOOGLE_API_KEY="your_gemini_key"
10
+ # ANTHROPIC_API_KEY="your_claude_key"
11
+ # XAI_API_KEY="your_grok_key"
12
+ #
13
+ # Example usage:
14
+ # massgen --config @examples/tools/planning/five_agents_twitter_mcp_planning_mode "Research the latest trends in AI development, draft an engaging tweet about it with relevant hashtags, and post it to Twitter"
15
+
16
+ agents:
17
+ - id: "gemini_twitter_agent"
18
+ backend:
19
+ type: "gemini"
20
+ model: "gemini-2.5-flash"
21
+ mcp_servers:
22
+ - name: "twitter_mcp"
23
+ type: "stdio"
24
+ command: "npx"
25
+ args: ["@enescinar/twitter-mcp"]
26
+ env:
27
+ API_KEY: "${API_KEY}"
28
+ API_SECRET_KEY: "${API_SECRET_KEY}"
29
+ ACCESS_TOKEN: "${ACCESS_TOKEN}"
30
+ ACCESS_TOKEN_SECRET: "${ACCESS_TOKEN_SECRET}"
31
+ security:
32
+ level: "high"
33
+ system_message: |
34
+ Available Twitter Tools:
35
+ - Twitter content creation and posting via MCP integration
36
+ - Tweet searching and analysis capabilities
37
+ - User timeline and engagement monitoring
38
+
39
+ IMPORTANT: During coordination phase, you are in PLANNING MODE - describe your intended actions without executing them. Only execute tools during final presentation phase.
40
+
41
+ - id: "openai_twitter_agent"
42
+ backend:
43
+ type: "openai"
44
+ model: "gpt-4o-mini"
45
+ mcp_servers:
46
+ - name: "twitter_mcp"
47
+ type: "stdio"
48
+ command: "npx"
49
+ args: ["@enescinar/twitter-mcp"]
50
+ env:
51
+ API_KEY: "${API_KEY}"
52
+ API_SECRET_KEY: "${API_SECRET_KEY}"
53
+ ACCESS_TOKEN: "${ACCESS_TOKEN}"
54
+ ACCESS_TOKEN_SECRET: "${ACCESS_TOKEN_SECRET}"
55
+ security:
56
+ level: "high"
57
+ system_message: |
58
+ Available Twitter Tools:
59
+ - Twitter content creation and posting via MCP integration
60
+ - Tweet searching and analysis capabilities
61
+ - User timeline and engagement monitoring
62
+
63
+ IMPORTANT: During coordination phase, you are in PLANNING MODE - describe your intended actions without executing them. Only execute tools during final presentation phase.
64
+
65
+ - id: "claude_code_twitter_agent"
66
+ backend:
67
+ type: "claude_code"
68
+ cwd: "claude_code_workspace_twitter_mcp"
69
+ permission_mode: "bypassPermissions"
70
+ mcp_servers:
71
+ twitter:
72
+ type: "stdio"
73
+ command: "npx"
74
+ args: ["-y", "@enescinar/twitter-mcp"]
75
+ env:
76
+ API_KEY: "${API_KEY}"
77
+ API_SECRET_KEY: "${API_SECRET_KEY}"
78
+ ACCESS_TOKEN: "${ACCESS_TOKEN}"
79
+ ACCESS_TOKEN_SECRET: "${ACCESS_TOKEN_SECRET}"
80
+ system_message: |
81
+ Available Twitter Tools:
82
+ - Twitter content creation and posting via MCP integration
83
+ - Tweet searching and analysis capabilities
84
+ - User timeline and engagement monitoring
85
+
86
+ IMPORTANT: During coordination phase, you are in PLANNING MODE - describe your intended actions without executing them. Only execute tools during final presentation phase.
87
+
88
+ - id: "claude_twitter_agent"
89
+ backend:
90
+ type: "claude"
91
+ model: "claude-sonnet-4-20250514"
92
+ mcp_servers:
93
+ - name: "twitter_mcp"
94
+ type: "stdio"
95
+ command: "npx"
96
+ args: ["@enescinar/twitter-mcp"]
97
+ env:
98
+ API_KEY: "${API_KEY}"
99
+ API_SECRET_KEY: "${API_SECRET_KEY}"
100
+ ACCESS_TOKEN: "${ACCESS_TOKEN}"
101
+ ACCESS_TOKEN_SECRET: "${ACCESS_TOKEN_SECRET}"
102
+ security:
103
+ level: "high"
104
+ system_message: |
105
+ Available Twitter Tools:
106
+ - Twitter content creation and posting via MCP integration
107
+ - Tweet searching and analysis capabilities
108
+ - User timeline and engagement monitoring
109
+
110
+ IMPORTANT: During coordination phase, you are in PLANNING MODE - describe your intended actions without executing them. Only execute tools during final presentation phase.
111
+
112
+ - id: "grok_twitter_agent"
113
+ backend:
114
+ type: "grok"
115
+ model: "grok-3-mini"
116
+ mcp_servers:
117
+ - name: "twitter_mcp"
118
+ type: "stdio"
119
+ command: "npx"
120
+ args: ["@enescinar/twitter-mcp"]
121
+ env:
122
+ API_KEY: "${API_KEY}"
123
+ API_SECRET_KEY: "${API_SECRET_KEY}"
124
+ ACCESS_TOKEN: "${ACCESS_TOKEN}"
125
+ ACCESS_TOKEN_SECRET: "${ACCESS_TOKEN_SECRET}"
126
+ security:
127
+ level: "high"
128
+ system_message: |
129
+ Available Twitter Tools:
130
+ - Twitter content creation and posting via MCP integration
131
+ - Tweet searching and analysis capabilities
132
+ - User timeline and engagement monitoring
133
+
134
+ IMPORTANT: During coordination phase, you are in PLANNING MODE - describe your intended actions without executing them. Only execute tools during final presentation phase.
135
+
136
+ ui:
137
+ display_type: "rich_terminal"
138
+ logging_enabled: true
139
+
140
+ # Orchestrator Settings with Coordination Configuration
141
+ orchestrator:
142
+ snapshot_storage: "massgen_logs/snapshots" # Directory for workspace snapshots
143
+ agent_temporary_workspace: "massgen_logs/temp_workspaces" # Directory for temporary agent workspaces
144
+ coordination:
145
+ enable_planning_mode: true
146
+ planning_mode_instruction: |
147
+ PLANNING MODE ACTIVE: You are currently in the coordination phase where agents discuss and plan their approach.
148
+ During this phase, you should:
149
+ 1. Describe your intended actions and reasoning
150
+ 2. Analyze other agents' proposals
151
+ 3. Use only the 'vote' or 'new_answer' tools for coordination
152
+ 4. DO NOT execute any actual Twitter commands or API calls
153
+ 5. Save tool execution for the final presentation phase when the winning agent will implement the plan
154
+
155
+ Focus on planning, analysis, and coordination rather than execution.
@@ -0,0 +1,73 @@
1
+ # Three 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
+ #
11
+ # Example usage:
12
+ # massgen --config @examples/tools/planning/gpt5_mini_case_study_mcp_planning_mode "Please read https://github.com/Leezekun/MassGen/issues/276 and send a message to the 'MassGen Testing Server' Discord server in the general channel with a summary and implementation next steps to notify the team of your approach. The guild ID is 1417773298309136445 and channel ID is 1417773298837880906"
13
+
14
+ agents:
15
+ - id: "agent_a"
16
+ backend:
17
+ type: "openai"
18
+ model: "gpt-5-mini"
19
+ enable_web_search: true
20
+ mcp_servers:
21
+ - name: "discord"
22
+ type: "stdio"
23
+ command: "npx"
24
+ args: ["-y", "mcp-discord"]
25
+ env:
26
+ DISCORD_TOKEN: "${DISCORD_TOKEN}"
27
+ system_message: |
28
+ Available Discord Tools:
29
+ - Discord server interaction via MCP integration
30
+ - Message reading, sending, and management
31
+ - Channel and server information access
32
+ - When you have access, send the message without asking for confirmation
33
+
34
+ - id: "agent_b"
35
+ backend:
36
+ type: "openai"
37
+ model: "gpt-5-mini"
38
+ enable_web_search: true
39
+ mcp_servers:
40
+ - name: "discord"
41
+ type: "stdio"
42
+ command: "npx"
43
+ args: ["-y", "mcp-discord"]
44
+ env:
45
+ DISCORD_TOKEN: "${DISCORD_TOKEN}"
46
+ system_message: |
47
+ Available Discord Tools:
48
+ - Discord server interaction via MCP integration
49
+ - Message reading, sending, and management
50
+ - Channel and server information access
51
+ - When you have access, send the message without asking for confirmation
52
+
53
+ ui:
54
+ display_type: "rich_terminal"
55
+ logging_enabled: true
56
+
57
+ # Orchestrator Settings with Coordination Configuration
58
+ orchestrator:
59
+ snapshot_storage: "snapshots" # Directory for workspace snapshots
60
+ agent_temporary_workspace: "temp_workspaces" # Directory for temporary agent workspaces
61
+ coordination:
62
+ enable_planning_mode: true
63
+ planning_mode_instruction: |
64
+ PLANNING MODE ACTIVE: You are currently in the coordination phase where agents discuss and plan their approach.
65
+ During this phase, you should:
66
+ 1. Describe your intended actions and reasoning
67
+ 2. Analyze other agents' proposals
68
+ 3. Use only the 'vote' or 'new_answer' tools for coordination
69
+ 4. You CAN use web search for information gathering
70
+ 5. DO NOT execute Discord operations (sending messages, reading channels, etc.) - save these for execution phase
71
+ 6. Save tool execution for the final presentation phase when the winning agent will implement the plan
72
+
73
+ Focus on planning, analysis, and coordination rather than execution.
@@ -0,0 +1,43 @@
1
+ # MassGen Configuration: Gemini with Streamable HTTP MCP Integration
2
+ # This configuration tests the streamable-http transport for MCP servers
3
+ # Prerequisites:
4
+ # 1. Start the test MCP server: python massgen/tests/test_http_mcp_server.py
5
+ # 2. Verify server is running at http://localhost:8000/mcp
6
+ # 3. Run: massgen --config @examples/tools/web-search/claude_streamable_http_test "Run a complete system check - events, birthdays, random data, and server status"
7
+
8
+ agents:
9
+ - id: "claude_mcp_streamable_http"
10
+ backend:
11
+ type: "claude"
12
+ model: "claude-sonnet-4-20250514" # Model name
13
+ mcp_servers:
14
+ - name: "streamable_http_server"
15
+ type: "streamable-http"
16
+ url: "http://localhost:8000/mcp"
17
+ # Security configuration for testing environment
18
+ security:
19
+ level: "permissive" # Allow more flexibility for testing
20
+ allow_localhost: true # Required for localhost:8000 connection
21
+ allow_private_ips: true # Allow private IP ranges for testing
22
+ system_message: |
23
+ You are testing the MCP integration with Streamable HTTP transport using the "streamable_http_server".
24
+
25
+ The Streamable HTTP transport enables multiple client connections and supports server-to-client streaming.
26
+
27
+ The following MCP tools from the "streamable_http_server" are available and will be auto-called by the system when needed:
28
+ - get_events(day: str): Retrieves calendar events for a specific day (e.g., "wednesday", "friday").
29
+ - get_birthdays(): Retrieves a list of upcoming birthdays for the current week.
30
+ - random_data(count: int = 3): Generates a specified number of random test data items.
31
+ - server_status(): Performs a server health check and returns the current status and time.
32
+
33
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
34
+
35
+ Tasks to verify:
36
+ - Calendar events: Check events for "Wednesday" and "Friday".
37
+ - Birthdays: Check for upcoming birthdays.
38
+ - Random data generation: Request a few random data items.
39
+ - Server status: Verify the server is healthy and reports the time.
40
+
41
+ ui:
42
+ display_type: "rich_terminal"
43
+ logging_enabled: true
@@ -0,0 +1,43 @@
1
+ # MassGen Configuration: Gemini with Streamable HTTP MCP Integration
2
+ # This configuration tests the streamable-http transport for MCP servers
3
+ # Prerequisites:
4
+ # 1. Start the test MCP server: python massgen/tests/test_http_mcp_server.py
5
+ # 2. Verify server is running at http://localhost:8000/mcp
6
+ # 3. Run: massgen --config @examples/tools/web-search/gemini_streamable_http_test "Run a complete system check - events, birthdays, random data, and server status"
7
+
8
+ agents:
9
+ - id: "gemini_streamable_http_test"
10
+ backend:
11
+ type: "gemini"
12
+ model: "gemini-2.5-flash"
13
+ mcp_servers:
14
+ - name: "streamable_http_server"
15
+ type: "streamable-http"
16
+ url: "http://localhost:8000/mcp"
17
+ # Security configuration for testing environment
18
+ security:
19
+ level: "permissive" # Allow more flexibility for testing
20
+ allow_localhost: true # Required for localhost:8000 connection
21
+ allow_private_ips: true # Allow private IP ranges for testing
22
+ system_message: |
23
+ You are testing the MCP integration with Streamable HTTP transport using the "streamable_http_server".
24
+
25
+ The Streamable HTTP transport enables multiple client connections and supports server-to-client streaming.
26
+
27
+ The following MCP tools from the "streamable_http_server" are available and will be auto-called by the system when needed:
28
+ - get_events(day: str): Retrieves calendar events for a specific day (e.g., "wednesday", "friday").
29
+ - get_birthdays(): Retrieves a list of upcoming birthdays for the current week.
30
+ - random_data(count: int = 3): Generates a specified number of random test data items.
31
+ - server_status(): Performs a server health check and returns the current status and time.
32
+
33
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
34
+
35
+ Tasks to verify:
36
+ - Calendar events: Check events for "Wednesday" and "Friday".
37
+ - Birthdays: Check for upcoming birthdays.
38
+ - Random data generation: Request a few random data items.
39
+ - Server status: Verify the server is healthy and reports the time.
40
+
41
+ ui:
42
+ display_type: "rich_terminal"
43
+ logging_enabled: true
@@ -0,0 +1,43 @@
1
+ # MassGen Configuration: gpt with Streamable HTTP MCP Integration
2
+ # This configuration tests the streamable-http transport for MCP servers
3
+ # Prerequisites:
4
+ # 1. Start the test MCP server: python massgen/tests/test_http_mcp_server.py
5
+ # 2. Verify server is running at http://localhost:8000/mcp
6
+ # 3. Run: massgen --config @examples/tools/web-search/gpt5_mini_streamable_http_test "Run a complete system check - events, birthdays, random data, and server status"
7
+
8
+ agents:
9
+ - id: "gpt5_mini_mcp_weather"
10
+ backend:
11
+ type: "openai"
12
+ model: "gpt-5-mini"
13
+ mcp_servers:
14
+ - name: "streamable_http_server"
15
+ type: "streamable-http"
16
+ url: "http://localhost:8000/mcp"
17
+ # Security configuration for testing environment
18
+ security:
19
+ level: "permissive" # Allow more flexibility for testing
20
+ allow_localhost: true # Required for localhost:8000 connection
21
+ allow_private_ips: true # Allow private IP ranges for testing
22
+ system_message: |
23
+ You are testing the MCP integration with Streamable HTTP transport using the "streamable_http_server".
24
+
25
+ The Streamable HTTP transport enables multiple client connections and supports server-to-client streaming.
26
+
27
+ The following MCP tools from the "streamable_http_server" are available and will be auto-called by the system when needed:
28
+ - get_events(day: str): Retrieves calendar events for a specific day (e.g., "wednesday", "friday").
29
+ - get_birthdays(): Retrieves a list of upcoming birthdays for the current week.
30
+ - random_data(count: int = 3): Generates a specified number of random test data items.
31
+ - server_status(): Performs a server health check and returns the current status and time.
32
+
33
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
34
+
35
+ Tasks to verify:
36
+ - Calendar events: Check events for "Wednesday" and "Friday".
37
+ - Birthdays: Check for upcoming birthdays.
38
+ - Random data generation: Request a few random data items.
39
+ - Server status: Verify the server is healthy and reports the time.
40
+
41
+ ui:
42
+ display_type: "rich_terminal"
43
+ logging_enabled: true
@@ -0,0 +1,44 @@
1
+ # MassGen Configuration: Gemini with Streamable HTTP MCP Integration
2
+ # This configuration tests the streamable-http transport for MCP servers
3
+ # Prerequisites:
4
+ # 1. Start the test MCP server: python massgen/tests/test_http_mcp_server.py
5
+ # 2. Verify server is running at http://localhost:8000/mcp
6
+ # 3. Run: massgen --config @examples/tools/web-search/gpt_oss_streamable_http_test "Run a complete system check - events, birthdays, random data, and server status"
7
+
8
+ agents:
9
+ - id: "gpt_oss_mcp_weather"
10
+ backend:
11
+ type: "chatcompletion"
12
+ model: "gpt-oss-120b"
13
+ base_url: "https://api.cerebras.ai/v1"
14
+ mcp_servers:
15
+ - name: "streamable_http_server"
16
+ type: "streamable-http"
17
+ url: "http://localhost:8000/mcp"
18
+ # Security configuration for testing environment
19
+ security:
20
+ level: "permissive" # Allow more flexibility for testing
21
+ allow_localhost: true # Required for localhost:8000 connection
22
+ allow_private_ips: true # Allow private IP ranges for testing
23
+ system_message: |
24
+ You are testing the MCP integration with Streamable HTTP transport using the "streamable_http_server".
25
+
26
+ The Streamable HTTP transport enables multiple client connections and supports server-to-client streaming.
27
+
28
+ The following MCP tools from the "streamable_http_server" are available and will be auto-called by the system when needed:
29
+ - get_events(day: str): Retrieves calendar events for a specific day (e.g., "wednesday", "friday").
30
+ - get_birthdays(): Retrieves a list of upcoming birthdays for the current week.
31
+ - random_data(count: int = 3): Generates a specified number of random test data items.
32
+ - server_status(): Performs a server health check and returns the current status and time.
33
+
34
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
35
+
36
+ Tasks to verify:
37
+ - Calendar events: Check events for "Wednesday" and "Friday".
38
+ - Birthdays: Check for upcoming birthdays.
39
+ - Random data generation: Request a few random data items.
40
+ - Server status: Verify the server is healthy and reports the time.
41
+
42
+ ui:
43
+ display_type: "rich_terminal"
44
+ logging_enabled: true
@@ -0,0 +1,43 @@
1
+ # MassGen Configuration: Grok with Streamable HTTP MCP Integration
2
+ # This configuration tests the streamable-http transport for MCP servers
3
+ # Prerequisites:
4
+ # 1. Start the test MCP server: python massgen/tests/test_http_mcp_server.py
5
+ # 2. Verify server is running at http://localhost:8000/mcp
6
+ # 3. Run: massgen --config @examples/tools/web-search/grok3_mini_streamable_http_test "Run a complete system check - events, birthdays, random data, and server status"
7
+
8
+ agents:
9
+ - id: "grok3_mini_mcp_http"
10
+ backend:
11
+ type: "grok"
12
+ model: "grok-3-mini"
13
+ mcp_servers:
14
+ - name: "streamable_http_server"
15
+ type: "streamable-http"
16
+ url: "http://localhost:8000/mcp"
17
+ # Security configuration for testing environment
18
+ security:
19
+ level: "permissive" # Allow more flexibility for testing
20
+ allow_localhost: true # Required for localhost:8000 connection
21
+ allow_private_ips: true # Allow private IP ranges for testing
22
+ system_message: |
23
+ You are testing the MCP integration with Streamable HTTP transport using the "streamable_http_server".
24
+
25
+ The Streamable HTTP transport enables multiple client connections and supports server-to-client streaming.
26
+
27
+ The following MCP tools from the "streamable_http_server" are available and will be auto-called by the system when needed:
28
+ - get_events(day: str): Retrieves calendar events for a specific day (e.g., "wednesday", "friday").
29
+ - get_birthdays(): Retrieves a list of upcoming birthdays for the current week.
30
+ - random_data(count: int = 3): Generates a specified number of random test data items.
31
+ - server_status(): Performs a server health check and returns the current status and time.
32
+
33
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
34
+
35
+ Tasks to verify:
36
+ - Calendar events: Check events for "Wednesday" and "Friday".
37
+ - Birthdays: Check for upcoming birthdays.
38
+ - Random data generation: Request a few random data items.
39
+ - Server status: Verify the server is healthy and reports the time.
40
+
41
+ ui:
42
+ display_type: "rich_terminal"
43
+ logging_enabled: true
@@ -0,0 +1,44 @@
1
+ # MassGen Configuration: Gemini with Streamable HTTP MCP Integration
2
+ # This configuration tests the streamable-http transport for MCP servers
3
+ # Prerequisites:
4
+ # 1. Start the test MCP server: python massgen/tests/test_http_mcp_server.py
5
+ # 2. Verify server is running at http://localhost:8000/mcp
6
+ # 3. Run: massgen --config @examples/tools/web-search/qwen_api_streamable_http_test "Run a complete system check - events, birthdays, random data, and server status"
7
+
8
+ agents:
9
+ - id: "qwen_mcp_weather"
10
+ backend:
11
+ type: "chatcompletion"
12
+ model: "qwen-3-235b-a22b-instruct-2507"
13
+ base_url: "https://api.cerebras.ai/v1"
14
+ mcp_servers:
15
+ - name: "streamable_http_server"
16
+ type: "streamable-http"
17
+ url: "http://localhost:8000/mcp"
18
+ # Security configuration for testing environment
19
+ security:
20
+ level: "permissive" # Allow more flexibility for testing
21
+ allow_localhost: true # Required for localhost:8000 connection
22
+ allow_private_ips: true # Allow private IP ranges for testing
23
+ system_message: |
24
+ You are testing the MCP integration with Streamable HTTP transport using the "streamable_http_server".
25
+
26
+ The Streamable HTTP transport enables multiple client connections and supports server-to-client streaming.
27
+
28
+ The following MCP tools from the "streamable_http_server" are available and will be auto-called by the system when needed:
29
+ - get_events(day: str): Retrieves calendar events for a specific day (e.g., "wednesday", "friday").
30
+ - get_birthdays(): Retrieves a list of upcoming birthdays for the current week.
31
+ - random_data(count: int = 3): Generates a specified number of random test data items.
32
+ - server_status(): Performs a server health check and returns the current status and time.
33
+
34
+ Do not output function-call syntax. Simply perform the tasks and present clear, concise results.
35
+
36
+ Tasks to verify:
37
+ - Calendar events: Check events for "Wednesday" and "Friday".
38
+ - Birthdays: Check for upcoming birthdays.
39
+ - Random data generation: Request a few random data items.
40
+ - Server status: Verify the server is healthy and reports the time.
41
+
42
+ ui:
43
+ display_type: "simple"
44
+ logging_enabled: true