Skip to content

Support for new MCP protocol and unification of tools for MCP Gateway - #170

Open
ashtarkb wants to merge 8 commits into
openshift-psap:mainfrom
ashtarkb:support-for-new-mcp-protocol-and-unification-of-tools-for-mcp-gw
Open

Support for new MCP protocol and unification of tools for MCP Gateway#170
ashtarkb wants to merge 8 commits into
openshift-psap:mainfrom
ashtarkb:support-for-new-mcp-protocol-and-unification-of-tools-for-mcp-gw

Conversation

@ashtarkb

@ashtarkb ashtarkb commented Aug 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add MCP 2026-07-28 (stateless) Locust user under agentic_tools and wire mcp_gateway stateful/stateless selection via runtime.protocol_mode.
  • Replace the project-specific Slack provider with a shared CaliperSlackProvider driven by notifications.slack.channel_id, fed by Caliper kpi_analyze.json.
  • Enable Caliper KPI analyze for mcp_gateway (analysis_config + version labels) and expand Locust/Prometheus KPI parsing (per-op metrics, broker/envoy, HTTP 4xx).

Test plan

  • ruff check / ruff format on touched Python files
  • pytest projects/core/tests/test_caliper_slack.py projects/mcp_gateway/postprocess/tests/test_mcp_gateway_plugin.py
  • Smoke: mcp_gateway protocol_mode: stateful Locust job still mounts mcp_session_user + mcp_client
  • Smoke: mcp_gateway protocol_mode: stateless Locust job mounts mcp_2026_user and mock servers get STATELESS=true
  • Postprocess produces kpis.json and, with historical S3 data, regression_analyze/kpi_analyze.json
  • Export with only notifications.slack.channel_id set sends Slack via CaliperSlackProvider

Made with Cursor

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>
@openshift-ci

openshift-ci Bot commented Aug 16, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign ashtarkb for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8ef7366f-7f75-4a93-b248-9f6e46d8236f


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

ashtarkb and others added 2 commits August 16, 2026 19:20
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>
@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway demo
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.8.0

@psap-forge-bot

Copy link
Copy Markdown

🔴 Execution of mcp_gateway demo 🔴

Execution Engine Configuration

forge:
  args:
  - demo
  configOverrides:
    infrastructure.mcp_gateway_version: 0.8.0
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 5 minutes, 6 seconds

02 Preflight 58 seconds

03 Test 5 minutes, 40 seconds

04 Post-Cleanup 1 minute, 41 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown
🔴 Submission of mcp_gateway demo failed after 15 minutes, 54 seconds 🔴

Error: FournosJobFailureError: FOURNOS Job 'forge-mcp-gateway-20260817-070948' failed: Tasks Completed: 6 (Failed: 1, Cancelled 0), Skipped: 0

/test fournos mcp_gateway demo
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.8.0

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>
@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway demo
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.8.0

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway demo 🟢

Execution Engine Configuration

forge:
  args:
  - demo
  configOverrides:
    infrastructure.mcp_gateway_version: 0.8.0
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 2 minutes, 28 seconds

02 Preflight 44 seconds

03 Test 16 minutes, 36 seconds

04 Post-Cleanup 1 minute, 59 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway demo
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway demo 🟢

Execution Engine Configuration

forge:
  args:
  - demo
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 2 minutes, 23 seconds

02 Preflight 45 seconds

03 Test 16 minutes, 26 seconds

04 Post-Cleanup 1 minute, 54 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway demo
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0
/var runtime.protocol_mode: stateless

@psap-forge-bot

Copy link
Copy Markdown
🔴 Submission of mcp_gateway demo failed after 1 hour, 28 minutes, 44 seconds 🔴

Error: FournosJobFailureError: FOURNOS Job 'forge-mcp-gateway-20260817-091806' was shutdown: spec.shutdown=Stop

/test fournos mcp_gateway demo
/var runtime.protocol_mode: stateless
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0

@psap-forge-bot

Copy link
Copy Markdown

🛑 Execution of mcp_gateway demo 🛑
🛑 JOB ABORTED - spec.shutdown=Stop

Execution Engine Configuration

forge:
  args:
  - demo
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
    runtime.protocol_mode: stateless
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 2 minutes, 54 seconds

02 Preflight 24 seconds

03 Test

04 Post-Cleanup

🔄 05 Export-Artifacts

Step Sync Failed

Step sync failed: Completion file did not appear within 600s
Waited for step: 04__post-cleanup
Expected file: /workspace/artifacts/04__post-cleanup/000__ci_metadata/test_duration.yaml

ashtarkb and others added 3 commits August 18, 2026 12:44
…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>
Co-authored-by: Cursor <cursoragent@cursor.com>
@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway demo
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0
/var runtime.protocol_mode: stateless

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway demo 🟢

Execution Engine Configuration

forge:
  args:
  - demo
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
    runtime.protocol_mode: stateless
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 2 minutes, 31 seconds

02 Preflight 45 seconds

03 Test 16 minutes, 46 seconds

04 Post-Cleanup 2 minutes, 2 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway demo
/var runtime.protocol_mode: stateless
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway demo 🟢

Execution Engine Configuration

forge:
  args:
  - demo
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
    runtime.protocol_mode: stateless
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 1 second

01 Prepare 2 minutes, 48 seconds

02 Preflight 40 seconds

03 Test 16 minutes, 33 seconds

04 Post-Cleanup 1 minute, 51 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway scale-out
/var runtime.protocol_mode: stateless
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway scale-out 🟢

Execution Engine Configuration

forge:
  args:
  - scale-out
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
    runtime.protocol_mode: stateless
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 2 minutes, 49 seconds

02 Preflight 39 seconds

03 Test 2 hours, 16 minutes, 5 seconds

04 Post-Cleanup 2 minutes, 45 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway scale-out
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway scale-out 🟢

Execution Engine Configuration

forge:
  args:
  - scale-out
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 2 minutes, 50 seconds

02 Preflight 44 seconds

03 Test 2 hours, 13 minutes, 34 seconds

04 Post-Cleanup 2 minutes, 23 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway scale-out
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway scale-out 🟢

Execution Engine Configuration

forge:
  args:
  - scale-out
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 2 minutes, 7 seconds

02 Preflight 45 seconds

03 Test 2 hours, 13 minutes, 23 seconds

04 Post-Cleanup 2 minutes, 35 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

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>
@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway demo
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway demo 🟢

Execution Engine Configuration

forge:
  args:
  - demo
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 3 minutes, 12 seconds

02 Preflight 39 seconds

03 Test 16 minutes, 30 seconds

04 Post-Cleanup 1 minute, 52 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

@ashtarkb

Copy link
Copy Markdown
Collaborator Author

/test fournos mcp_gateway scale-out
/cluster agentic-cpt-8xa100
/pipeline forge-full
/version 0.9.0

@psap-forge-bot

Copy link
Copy Markdown

🟢 Execution of mcp_gateway scale-out 🟢

Execution Engine Configuration

forge:
  args:
  - scale-out
  configOverrides:
    infrastructure.mcp_gateway_version: 0.9.0
  project: mcp_gateway

Artifact Links

Test Logs

00 Pre-Cleanup 2 seconds

01 Prepare 2 minutes, 42 seconds

02 Preflight 45 seconds

03 Test 2 hours, 15 minutes, 58 seconds

04 Post-Cleanup 2 minutes, 12 seconds

🔄 05 Export-Artifacts

Post-processing Status

@psap-forge-bot

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant