-
Notifications
You must be signed in to change notification settings - Fork 36
Fix MCP gateway parameter extraction: add missing mounts and entrypoint support #10349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: eaftan <4733401+eaftan@users.noreply.github.com>
…ction Added extraction for missing fields: - mounts field extraction in extractMCPGatewayConfig - entrypoint field to MCPGatewayRuntimeConfig struct - entrypoint extraction in extractMCPGatewayConfig - entrypoint support in Docker command builder All tests pass. Co-authored-by: eaftan <4733401+eaftan@users.noreply.github.com>
|
@copilot merge main recompile |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot merge main and recompile |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
🎉 Yo ho ho! Changeset Generator found the treasure and completed successfully! ⚓💰 |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
Smoke Test ResultsPRs Reviewed:
Test Results: Status: PARTIAL PASS (5/6 tests passed)
|
Smoke Test ResultsLast 2 Merged PRs:
Test Results:
Overall Status: FAIL (Serena Go unavailable) cc @GH_AW_GITHUB_ACTOR
|
|
Smoke test results:
|
|
@copilot merge main, lint |
…cp-gateway-parameters
- Remove unnecessary nil check (len() for nil slices is defined as zero) - Fix regex pattern for string literal matching (replace invalid \1 backreference with explicit patterns) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
✅ Merged main branch and fixed linter issues Commits:
Linter now passes with 0 issues. Fixed:
|
|
@copilot add tests |
- Added 6 end-to-end tests that compile workflows and verify generated YAML - Added entrypoint and mounts fields to MCP gateway schema (main_workflow_schema.json) - Rebuilt binary to embed updated schema - Tests verify: * Entrypoint extraction and Docker --entrypoint flag * Mounts extraction and Docker -v flags * Combined entrypoint + mounts * Special characters in entrypoint args * Environment variables in mounts * Default behavior without entrypoint/mounts All 6 E2E tests pass successfully. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
✅ Added comprehensive test coverage Commit: Added 6 end-to-end tests that compile workflows from markdown and verify the generated YAML contains correct Docker commands:
Also added All 6 E2E tests pass, plus existing unit and integration tests (13 tests total for entrypoint/mounts functionality). |
MCP Gateway Parameter Stripping - Investigation Complete
Problem Statement
Investigate whether the MCP gateway is stripping parameters from MCP tool calls.
Investigation Results
CONFIRMED: The MCP gateway WAS stripping parameters, specifically:
mounts- Volume mount configuration was NOT being extracted from frontmatterentrypoint- Container entrypoint override was NOT being extracted from frontmatterRoot Cause Analysis
The issue had two parts:
extractMCPGatewayConfig()inpkg/workflow/frontmatter_extraction_security.goextracted 8 parameters correctly but completely omitted extraction code formountsandentrypointentrypointandmountsfield definitions, causing validation errors even when users tried to configure these parametersChanges Implemented
Entrypointfield toMCPGatewayRuntimeConfigstructentrypointandmountsparametersentrypointandmountsfields to MCP gateway JSON schemaFiles Changed
pkg/workflow/tools_types.go- Added Entrypoint field to structpkg/workflow/frontmatter_extraction_security.go- Added extraction for entrypoint and mountspkg/workflow/mcp_servers.go- Added entrypoint support to Docker command builderpkg/parser/schemas/main_workflow_schema.json- Added entrypoint and mounts to MCP gateway schemapkg/workflow/mcp_gateway_spec_fix_test.go- Added unit tests (7 tests)pkg/workflow/mcp_entrypoint_mounts_integration_test.go- Integration tests (4 tests)pkg/workflow/mcp_gateway_entrypoint_mounts_e2e_test.go- E2E tests (6 tests)pkg/workflow/expression_validation.go- Fixed linter issuesTest Coverage
The fix now has comprehensive test coverage at all levels:
extractMCPGatewayConfig()--entrypointflag generation-vflags generationValidation
✅ All tests pass (17 tests total covering entrypoint and mounts functionality)
✅ Code formatted and linted (0 issues)
✅ Integration tests pass
✅ E2E tests pass
✅ Main branch merged successfully (three times)
✅ All workflows recompiled successfully (twice)
✅ Schema updated and binary rebuilt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
Changeset
mountsandentrypointsupportFiles:
.changeset/patch-fix-mcp-gateway-param-extraction.md