Repository navigation
feat: improve CI workflows and updated dependencies - #31
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
So this is an artifact of my slow-but-sure march through the DevX repos to migrate some to Namespace. The tl;dr is we are NOT proposing to migrate runners to namespace for this repo, BUT Claude found a number of issues with the existing workflows.
Reviewed with Codex as well.
Here is the full summary:
The MCP SDK (
go-sdk) is now on v1.8.0, the latest stable release. The four vulnerabilities are gone: govulncheck reports "No vulnerabilities found". Everything is still uncommitted onrob-namespace-ci.What changed for the SDK:
go-sdkv1.1.0 → v1.8.0. That also movedgoogle/jsonschema-go(v0.3.0 → v0.4.3) andgolang.org/x/oauth2(v0.30.0 → v0.35.0). I bumpedgolang.org/x/systo v0.44.0 to clear a vulnerability this code never reaches.HasTools: true. The server's advertised capabilities are unchanged.MCP_DISABLE_LOCALHOST_PROTECTION=1environment variable. v1.8.0 rejects any request that reaches the server over localhost with a non-localhost hostname (its DNS-rebinding protection). It's on by default; the variable turns it off without a code change.What clients will notice: I ran the old and new servers side by side with identical requests.
Content-Type: application/jsonnow gets 415.Hostheader now get 403. Run in Docker with an AppRunner-styleHost, every request succeeded, so production should be unaffected.tools/listhas two new fields (cacheScope,ttlMs) that older clients ignore.The independent reviewer found nothing that breaks claude.ai, Claude Code or MCP Inspector, including clients on the newest protocol version. I couldn't test
docs_searchsuccessfully, because it needs an API key from AWS Secrets Manager; it fails the same way on the old server.After the first full release deploys, run this check. AppRunner's health check bypasses the SDK, so it wouldn't catch MCP failures:
You should get 200. If you get 403 with "invalid Host header", set
MCP_DISABLE_LOCALHOST_PROTECTION=1in AppRunner's environment variables; no rebuild is needed. AWS documents that requests reach the container from a separate request-router fleet, not over localhost, so I don't expect that.Follow-ups I left alone:
Session.Logis deprecated but keeps working for at least 12 more months.main.gohas an unusedsessionManagervariable.Final checks pass:
go mod verify, build, vet and test all pass on Go 1.27.1.queuefalse positive.Should I commit this and open the PR?
Source: Architecting for resiliency on AWS App Runner