-
Notifications
You must be signed in to change notification settings - Fork 37
Add HTTP transport capability validation and time MCP server for agentic engines #19
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
- Enable MCP tools whitelist support for Codex engine - Add history configuration with persistence=none to config.toml - Update engine description to reflect MCP support - Add comprehensive tests for custom MCP servers with Codex - Validate config.toml generation includes history and MCP sections - Ensure compatibility with existing Claude and Gemini engines Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
pkg/workflow/codex_test.go
Outdated
| command: "python" | ||
| args: ["-m", "my_server"] | ||
| env: | ||
| API_KEY: "{{ secrets.API_KEY }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot missing $
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in commit 1ea81dc. The missing $ has been added to both the test input and assertion to use the correct GitHub Actions template syntax: ${{ secrets.API_KEY }}.
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot OpenAI codex only supports stdio transport for mcp servers.
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
I've implemented all the requested changes in commit 45e3d53:
The validation works correctly:
All existing tests pass and the new functionality is working as requested. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
. |
|
@copilot - Update the test-codex.yml with a simple mcp stdio server {
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
I've implemented all the requested changes in commit ad97bf3:
The workflow now compiles correctly and generates the proper TOML configuration with both the GitHub MCP server (for repository operations) and the time MCP server (for timestamping). All tests continue to pass. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
.github/workflows/test-codex.md
Outdated
| time: | ||
| mcp: | ||
| type: stdio | ||
| command: "docker" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot use the "container" field to configure this MCP server (see docs)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in commit dfcff98. Changed to use the container field as documented instead of manual Docker command configuration. The time MCP server now uses proper container-based setup that automatically generates the correct Docker command structure.
…orkflow Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
…ck files in CI workflow
🤖 Codex PR SummaryBranch: 📋 Change Overview
📁 Files Modified
🔍 Key Changes
🎯 Recommendations
🔗 Related
|
Replace single-quote string formatting with %q format specifier to properly escape user-controlled input in error messages. This prevents potential quote injection vulnerabilities where malicious YAML key names containing single quotes could break out of the string literal. Security Impact: - Prevents potential command injection or SQL injection if error messages are used in contexts that interpret quotes specially - Follows Go best practices for safely embedding untrusted data in strings Changes: - Changed format string from '%s' to %q in validateExpressionSizes function - The %q specifier automatically escapes special characters including quotes Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Replace single-quote string formatting with %q format specifier to properly escape user-controlled input in error messages. This prevents potential quote injection vulnerabilities where malicious YAML key names containing single quotes could break out of the string literal. Security Impact: - Prevents potential command injection or SQL injection if error messages are used in contexts that interpret quotes specially - Follows Go best practices for safely embedding untrusted data in strings Changes: - Changed format string from '%s' to %q in validateExpressionSizes function - The %q specifier automatically escapes special characters including quotes Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Security Fix PR <github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
This PR expands the original MCP server support implementation to include HTTP transport capability validation for different agentic engines, addressing the limitation that some engines only support stdio transport. Additionally, it enhances the test-codex workflow with a time MCP server for timestamping functionality.
Key Changes
1. HTTP Transport Capability System
Added a new engine capability
SupportsHTTPTransport()to track which engines support HTTP MCP servers:false)true)false)2. Enhanced CLI Display
Updated the engine listing to show HTTP transport capabilities:
3. Compiler Validation
Added validation in the workflow compiler to prevent HTTP MCP server configurations when the engine doesn't support them:
Results in:
tool 'custom-server' uses HTTP transport which is not supported by engine 'codex' (only stdio transport is supported)4. Enhanced Test Codex Workflow
Added comprehensive MCP server support to the test-codex workflow using best practices for container configuration:
containerfield for clean Docker configuration5. Maintained Original Features
All original MCP functionality remains intact:
persistence = "none")supportsToolsWhitelist: true6. Testing
This ensures that workflows fail fast with clear error messages when attempting to use HTTP MCP servers with engines that only support stdio transport, while providing enhanced functionality for timestamp-aware workflow execution using best practices for container configuration.
Fixes #18.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.