Support for new MCP protocol and unification of tools for MCP Gateway - #170
Conversation
Move the stateless Locust user into agentic_tools, wire Caliper analyze via plugin analysis_config, and replace the project Slack provider with a shared channel_id-driven CaliperSlackProvider. Co-authored-by: Cursor <cursoragent@cursor.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
An empty sys.modules stub shadowed the real package and broke later CI tests that call jsonpath_ng.parse. Co-authored-by: Cursor <cursoragent@cursor.com>
Use the STATELESS-capable perf-mock-server image for MCP 2026 runs. Co-authored-by: Cursor <cursoragent@cursor.com>
|
/test fournos mcp_gateway demo |
🔴 Execution of
|
🔴 Submission of
|
Pass scheduling_node_selector through run() entrypoint parameters instead of reading config directly from toolbox code, respecting layer isolation (orchestration → toolbox, not the other way around). - install_platform: label_worker_nodes task applies node_selector - cleanup_platform: unlabel_worker_nodes task removes labels (@Always) - Orchestration passes cfg.get_scheduling_config() at call sites Co-authored-by: Cursor <cursoragent@cursor.com>
|
/test fournos mcp_gateway demo |
🟢 Execution of
|
🟢 Submission of
|
|
/test fournos mcp_gateway demo |
🟢 Execution of
|
🟢 Submission of
|
|
/test fournos mcp_gateway demo |
🔴 Submission of
|
🛑 Execution of
|
…esource limits label_worker_nodes now picks the single Ready worker with the most allocatable CPU+memory instead of labeling every worker. This concentrates mock servers on the node best able to handle them and prevents overloading smaller workers. Mock server containers now carry resource requests (50m/32Mi) and limits (200m/128Mi) from mock_servers.yaml, giving them Burstable QoS and capping total consumption at 30 CPU / 19Gi for 150 servers. Co-authored-by: Cursor <cursoragent@cursor.com>
…-of-tools-for-mcp-gw
Co-authored-by: Cursor <cursoragent@cursor.com>
|
/test fournos mcp_gateway demo |
🟢 Execution of
|
🟢 Submission of
|
|
/test fournos mcp_gateway demo |
🟢 Execution of
|
🟢 Submission of
|
|
/test fournos mcp_gateway scale-out |
🟢 Execution of
|
🟢 Submission of
|
|
/test fournos mcp_gateway scale-out |
🟢 Execution of
|
🟢 Submission of
|
|
/test fournos mcp_gateway scale-out |
🟢 Execution of
|
🟢 Submission of
|
The tight CPU/memory limits (200m/128Mi) caused mock servers to crash during the hairpin session initialization burst in multi-server tests. The s150-u500 demo run (no limits) confirmed 0% failure and 0 restarts. Co-authored-by: Cursor <cursoragent@cursor.com>
|
/test fournos mcp_gateway demo |
🟢 Execution of
|
🟢 Submission of
|
|
/test fournos mcp_gateway scale-out |
🟢 Execution of
|
🟢 Submission of
|
Summary
agentic_toolsand wire mcp_gateway stateful/stateless selection viaruntime.protocol_mode.CaliperSlackProviderdriven bynotifications.slack.channel_id, fed by Caliperkpi_analyze.json.analysis_config+ version labels) and expand Locust/Prometheus KPI parsing (per-op metrics, broker/envoy, HTTP 4xx).Test plan
ruff check/ruff formaton touched Python filespytest projects/core/tests/test_caliper_slack.py projects/mcp_gateway/postprocess/tests/test_mcp_gateway_plugin.pyprotocol_mode: statefulLocust job still mountsmcp_session_user+mcp_clientprotocol_mode: statelessLocust job mountsmcp_2026_userand mock servers getSTATELESS=truekpis.jsonand, with historical S3 data,regression_analyze/kpi_analyze.jsonnotifications.slack.channel_idset sends Slack viaCaliperSlackProviderMade with Cursor