-
Notifications
You must be signed in to change notification settings - Fork 16
feat: MCP AWS servers and proxy (ENG-103) #239
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
feat: MCP AWS servers and proxy (ENG-103) #239
Conversation
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.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cd8746daec
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| await Promise.all( | ||
| matchingEntries.map(async ([cacheKey, server]) => { | ||
| const allowedNodeIds = | ||
| cacheKey === runId ? undefined : cacheKey.split(':').slice(1).join(':').split(','); | ||
| const toolSet = this.registeredToolNames.get(cacheKey) ?? new Set<string>(); | ||
| this.registeredToolNames.set(cacheKey, toolSet); | ||
| await this.registerTools(server, runId, undefined, allowedNodeIds, toolSet); |
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.
Preserve allowedTools filter when refreshing MCP servers
When a gateway session is initialized with an x-allowed-tools header, getServerForRun registers tools with that filter. The new refreshServersForRun path re-registers tools with allowedTools set to undefined, so any newly registered tools will be added to existing server instances even if they were created with a narrower tool list. This means clients that intentionally requested a limited tool set can see additional tools after any tool registration event, which breaks the expected scoping for those sessions. Consider storing the original allowedTools per cacheKey and passing it back into registerTools during refresh.
Useful? React with 👍 / 👎.
e0137cd to
aead2e2
Compare
Signed-off-by: betterclever <paliwal.pranjal83@gmail.com>
Signed-off-by: betterclever <paliwal.pranjal83@gmail.com>
Signed-off-by: betterclever <paliwal.pranjal83@gmail.com>
Signed-off-by: betterclever <paliwal.pranjal83@gmail.com>
Signed-off-by: betterclever <paliwal.pranjal83@gmail.com>
cd8746d to
532d841
Compare
1342d82
into
eng-101/frontend-tool-mode-agent-ui
ENG-103 — MCP AWS Servers (CloudTrail + CloudWatch)
Summary
What changed
docker/mcp-stdio-proxy: streamable HTTP proxy using official SDKServer+ stdio client.docker/mcp-aws-cloudtrail,docker/mcp-aws-cloudwatch: images with AWS MCP servers installed.mcpcategory across backend + frontend; MCP badge on node header.Testing
Notes
Refs: ENG-103