Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
Adds new ToolHive documentation describing how to use AWS STS (via OIDC) to authenticate to the AWS MCP Server, and links to this new tutorial from existing Kubernetes/token-exchange documentation and the sidebar navigation.
Changes:
- Added a new end-to-end tutorial for AWS STS authentication to the AWS MCP Server on Kubernetes.
- Updated Docusaurus sidebar to include the new tutorial.
- Added cross-references/tips in existing token exchange, remote proxy, and backend-auth concept docs.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
sidebars.ts |
Adds the new AWS STS tutorial to the Tutorials sidebar navigation. |
docs/toolhive/tutorials/aws-sts-integration.mdx |
New tutorial covering AWS IAM OIDC provider setup, role/policy examples, and ToolHive resources for AWS STS-based auth. |
docs/toolhive/guides-k8s/token-exchange-k8s.mdx |
Links token exchange guide readers to the AWS STS tutorial. |
docs/toolhive/guides-k8s/remote-mcp-proxy.mdx |
Adds a tip steering AWS users toward type: awsSts and the new tutorial. |
docs/toolhive/concepts/backend-auth.mdx |
Adds conceptual mention of built-in AWS STS support and links to the tutorial. |
danbarr
left a comment
There was a problem hiding this comment.
This looks really great! I have some small nits and one thing that a Claude review pointed out which may or may not be an issue.
|
|
||
| :::info[What's happening?] | ||
|
|
||
| The `roleMappings` field uses simple claim matching by default: if the value in |
There was a problem hiding this comment.
The explanation here references "the roleClaim JWT claim (here, groups)" but the YAML in Step 3 doesn't include a roleClaim field anywhere. The YAML shows claim: s3-readers under roleMappings, where a reader would naturally parse claim as a claim name rather than a value to match against.
Three things need clarifying:
- Where does
groupscome from? IfroleClaimis a CRD field that defaults togroups, mention that explicitly — even a YAML comment like# roleClaim defaults to "groups"in the example would help. - The
claimfield underroleMappingsrepresents a value to match, not a claim name — that's counterintuitive and worth a sentence of explanation. - Readers whose IdP uses a different claim name (e.g., Auth0 may use
rolesor a custom namespace instead ofgroups) need to know how to change it.
Without this, a reader who doesn't happen to have a groups claim in their tokens won't know what to adjust.
Generated by Claude Code
There was a problem hiding this comment.
Claude identified this; I'm not as well-versed in the specifics here so take it with a grain of salt 😉
There was a problem hiding this comment.
no, this is a fair comment. Does the new version read better?
Tutorial covering end-to-end setup of ToolHive as an authentication proxy for the AWS MCP Server on Kubernetes. Users register their OIDC provider with AWS IAM, create IAM roles with the aws-mcp permission model, configure MCPExternalAuthConfig with type: awsSts, and deploy an MCPRemoteProxy pointing to the AWS MCP Server endpoint. Also adds cross-references from existing token exchange and remote proxy docs so readers discover the AWS-specific auth path: - concepts/backend-auth: mention AWS STS in the federation section, add "Built-in AWS STS support" subsection - guides-k8s/token-exchange-k8s: link in Related information - guides-k8s/remote-mcp-proxy: tip admonition after token exchange section Fixes: #510
- Fix OIDC issuer placeholder: rename <YOUR_OIDC_ISSUER_HOST> to
<YOUR_OIDC_ISSUER>, clarify it excludes the https:// scheme and
must include path components (avoids doubled-scheme copy-paste
error and works for Okta/Keycloak issuers with paths)
- Clarify roleClaim vs claim: explain that roleClaim defaults to
"groups" when omitted, that the claim field under roleMappings
is a value to match (not a claim name), and show how to override
the claim name for other IdPs
- Remove misleading region suggestion: the AWS MCP Server endpoint
only exists in us-east-1
- Add Gateway API note and connect-clients cross-reference in Step 5
- Move role selection admonition from Step 2 to Step 3 where the
priority field first appears
- Add AWS CLI to prerequisites
- Replace stale "7 of 9 tools" with "most tools"
- Mention jq dependency alongside oauth2c at point of use
- Simplify line highlighting to {4,7}
- Remove "Optionally" from IAM cleanup
Description
Tutorial covering end-to-end setup of ToolHive as an authentication proxy for the AWS MCP Server on Kubernetes. Users register their OIDC provider with AWS IAM, create IAM roles with the aws-mcp permission model, configure MCPExternalAuthConfig with type: awsSts, and deploy an MCPRemoteProxy pointing to the AWS MCP Server endpoint.
Type of change
Related issues/PRs
#510
Screenshots
N/A
Submitter checklist
Content and formatting
Navigation
sidebars.ts) updated for added, deleted, reordered, or renamed filesvercel.jsonfor moved, renamed, or deleted pages (i.e., if the URL slug changed)Reviewer checklist
Content