feat(mcp): MCP examples hub — Framework-hosted, custom hosting, and authentication - #818
Open
czubocha wants to merge 1 commit into
Open
feat(mcp): MCP examples hub — Framework-hosted, custom hosting, and authentication#818czubocha wants to merge 1 commit into
czubocha wants to merge 1 commit into
Conversation
…uthentication An `mcp/` hub for Model Context Protocol servers on AWS, in two families plus a shared official-SDK client. Framework-hosted, where the `mcp` property does the hosting: `minimal` (two files and one line of configuration), `oauth-cognito` (a user pool, scope and machine-to-machine client in `resources:`, validated by API Gateway itself, plus the interactive browser-login walkthrough), `oauth-authorizer` (bring your own verification in a Lambda authorizer), and `oauth-in-module` (the MCP SDK's `requireBearerAuth`, for the specification's own challenge and scope semantics). Custom hosting, where `mcp/custom` serves one identical server through seven front doors — a hand-written Lambda adapter, Hono, Express and Fastify behind Lambda Web Adapter, API Gateway REST, a Function URL, and Bedrock AgentCore runtime and gateway — so the glue each approach costs is visible side by side. The two existing AgentCore MCP examples adopt the same server and client. Every example was deployed and exercised from its own README against real AWS, then torn down.
czubocha
force-pushed
the
feat/mcp-examples-hub
branch
from
August 6, 2026 15:40
cb7d3c1 to
53c0be7
Compare
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.
Summary
An
mcp/hub for Model Context Protocol servers on AWS, in two families plus a shared client, so the directory answers both questions a reader arrives with: what is the shortest path to a deployed MCP server, and how do I hold it a different way.Framework-hosted — the
mcpproperty does the hosting:resources:, validated by API Gateway itself; plus the interactive browser-login walkthrough behind a root-mapped custom domainrequireBearerAuthinside the module: specification-shaped challenges, scope-aware403s, and the caller's identity in every toolCustom hosting — mcp/custom serves one identical server through seven front doors (a hand-written Lambda adapter, Hono, Express and Fastify behind Lambda Web Adapter, API Gateway REST, a Function URL, and Bedrock AgentCore runtime and gateway), so the glue each approach costs is visible side by side. The two existing AgentCore MCP examples adopt the same server and client, so a reader comparing hosting choices is comparing like with like.
The hub README carries the client-capability matrix that applies to every example and a runnable script built on the official SDK client.
Notes for reviewers
authorizerandoauthDiscoverykeys (feat(mcp): user-supplied authorizers and OAuth discovery for MCP servers serverless#13784) and say clearly which layer rejects what: API Gateway's bare401/403at the gateway, the specification's challenge only from the in-module gate.Verification
Every example was deployed and exercised command-for-command from its own README against real AWS — every documented curl, MCP Inspector call, and Claude Code invocation — then torn down, with the two factual corrections that surfaced folded back into the text. The interactive login and elicitation round trip were confirmed with a real client.
node validate.jsand the generated index are green.