Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/toolhive/guides-k8s/auth-k8s.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ spec:
# highlight-start
oidcConfigRef:
name: production-oidc
audience: weather-server
audience: 'https://mcp.example.com/mcp'
scopes:
- openid
# highlight-end
Expand Down
20 changes: 10 additions & 10 deletions docs/toolhive/guides-k8s/connect-clients.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -240,13 +240,13 @@ spec:
oidcConfigRef:
name: my-oidc
resourceUrl: https://mcp.example.com/<SERVER_NAME>/mcp
audience: my-audience
audience: https://mcp.example.com/<SERVER_NAME>/mcp
```

The `audience` value should match the audience expected by your identity
provider, and is likely the same for all servers using the same authorization
server. See [Authentication and authorization](./auth-k8s.mdx) for full OIDC
setup instructions.
Set `audience` to match `resourceUrl`, the server's own canonical URL. Each
server needs a unique audience so a token issued for one server can't be
replayed against another. See [Authentication and authorization](./auth-k8s.mdx)
for full OIDC setup instructions.
Comment on lines -246 to +249

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jhrozek I think this PR should address the normalization discussed in #1024. Wanted to double-check that this re-framing is correct?


Configure the Ingress with additional rules for the `.well-known` paths of each
MCP server that has OAuth enabled:
Expand Down Expand Up @@ -498,13 +498,13 @@ spec:
oidcConfigRef:
name: my-oidc
resourceUrl: https://mcp.example.com/<SERVER_NAME>/mcp
audience: my-audience
audience: https://mcp.example.com/<SERVER_NAME>/mcp
```

The `audience` value should match the audience expected by your identity
provider, and is likely the same for all servers using the same authorization
server. See [Authentication and authorization](./auth-k8s.mdx) for full OIDC
setup instructions.
Set `audience` to match `resourceUrl`, the server's own canonical URL. Each
server needs a unique audience so a token issued for one server can't be
replayed against another. See [Authentication and authorization](./auth-k8s.mdx)
for full OIDC setup instructions.

Configure the HTTPRoute with additional rules for the `.well-known` paths of
each MCP server that has OAuth enabled:
Expand Down
8 changes: 4 additions & 4 deletions docs/toolhive/guides-k8s/rate-limiting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ spec:
transport: streamable-http
oidcConfigRef:
name: ratelimit-oidc
audience: my-audience
audience: https://mcp.example.com/mcp
sessionStorage:
provider: redis
address: <YOUR_REDIS_ADDRESS>
Expand Down Expand Up @@ -151,7 +151,7 @@ spec:
transport: streamable-http
oidcConfigRef:
name: ratelimit-oidc
audience: my-audience
audience: https://mcp.example.com/mcp
sessionStorage:
provider: redis
address: <YOUR_REDIS_ADDRESS>
Expand Down Expand Up @@ -191,7 +191,7 @@ spec:
transport: streamable-http
oidcConfigRef:
name: ratelimit-oidc
audience: my-audience
audience: https://mcp.example.com/mcp
sessionStorage:
provider: redis
address: <YOUR_REDIS_ADDRESS>
Expand Down Expand Up @@ -317,7 +317,7 @@ spec:
type: oidc
oidcConfigRef:
name: my-oidc-config
audience: shared-toolkit
audience: https://mcp.example.com/mcp
sessionStorage:
provider: redis
address: <YOUR_REDIS_ADDRESS>
Expand Down
10 changes: 5 additions & 5 deletions docs/toolhive/guides-k8s/remote-mcp-proxy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ spec:
oidcConfigRef:
name: analytics-oidc
# Expected audience claim in tokens
audience: analytics-mcp-proxy
audience: https://mcp.analytics.example.com

# Authorization policies
authzConfig:
Expand Down Expand Up @@ -233,7 +233,7 @@ spec:
remoteUrl: https://mcp.example.com
oidcConfigRef:
name: company-oidc
audience: mcp-proxy
audience: https://mcp.example.com
```

The proxy automatically discovers the JWKS URL from the issuer's OIDC discovery
Expand Down Expand Up @@ -480,7 +480,7 @@ spec:

oidcConfigRef:
name: analytics-oidc
audience: analytics-mcp-proxy
audience: https://mcp.analytics.example.com

podTemplateSpec:
spec:
Expand Down Expand Up @@ -683,7 +683,7 @@ spec:
# For testing - use your IDP's configuration
oidcConfigRef:
name: test-oidc
audience: mcp-test
audience: https://modelcontextprotocol.io/mcp

# Simple allow-all policy for testing
authzConfig:
Expand Down Expand Up @@ -981,7 +981,7 @@ spec:
proxyPort: 8080
oidcConfigRef:
name: company-oidc
audience: context7-proxy
audience: https://mcp.context7.com/mcp
```

### Benefits of vMCP aggregation
Expand Down
2 changes: 1 addition & 1 deletion docs/toolhive/guides-vmcp/backend-discovery.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ spec:
type: oidc
oidcConfigRef:
name: engineering-oidc
audience: engineering-vmcp
audience: https://mcp.engineering.example.com/mcp
outgoingAuth:
source: discovered # Discovers github-mcp and its auth config
```
Expand Down
4 changes: 2 additions & 2 deletions docs/toolhive/guides-vmcp/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ spec:
# Validate incoming requests
oidcConfigRef:
name: company-oidc
audience: context7-proxy
audience: https://mcp.context7.com/mcp
```

:::note
Expand Down Expand Up @@ -326,7 +326,7 @@ spec:
type: oidc
oidcConfigRef:
name: my-oidc-config
audience: my-vmcp
audience: https://mcp.example.com/mcp
# highlight-start
passthroughHeaders:
- x-mcp-api-key
Expand Down
2 changes: 1 addition & 1 deletion docs/toolhive/guides-vmcp/failure-handling.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ spec:
type: oidc
oidcConfigRef:
name: my-issuer
audience: my-vmcp
audience: https://mcp.example.com/mcp
```

### Development with best effort
Expand Down
4 changes: 1 addition & 3 deletions docs/toolhive/guides-vmcp/optimizer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -440,8 +440,6 @@ spec:
name: my-tools
embeddingServerRef:
name: full-embedding
groupRef:
name: my-tools
config:
optimizer:
embeddingServiceTimeout: 15s
Expand All @@ -452,7 +450,7 @@ spec:
type: oidc
oidcConfigRef:
name: my-oidc
audience: vmcp-example
audience: https://mcp.example.com/mcp
```

## Next steps
Expand Down