@@ -211,20 +211,10 @@ deployments using the ToolHive Operator.
211211- ** Direct upstream redirect:** The embedded authorization server redirects
212212 clients directly to the upstream provider for authentication (for example,
213213 GitHub or Atlassian).
214- - ** Single upstream provider:** Currently supports one upstream identity
215- provider per configuration.
216-
217- :::info[ Chained authentication not yet supported]
218-
219- The embedded authorization server redirects clients directly to the upstream
220- provider. This means the upstream provider must be the service whose API the MCP
221- server calls. Chained authentication—where a client authenticates with a
222- corporate IdP like Okta, which then federates to an external provider like
223- GitHub—is not yet supported. If your deployment requires this pattern, consider
224- using [ token exchange] ( #same-idp-with-token-exchange ) with a federated identity
225- provider instead.
226-
227- :::
214+ - ** Single upstream provider per MCPServer:** Individual MCPServer resources
215+ support one upstream identity provider per configuration. For multiple
216+ upstream providers with sequential authorization chaining, use a
217+ [ VirtualMCPServer with the embedded auth server] ( ../guides-vmcp/authentication.mdx#embedded-authorization-server ) .
228218
229219#### Token storage and forwarding
230220
@@ -297,6 +287,8 @@ For the client-facing OAuth flow, see
297287[ Embedded authorization server] ( ./auth-framework.mdx#embedded-authorization-server ) .
298288For Kubernetes setup instructions, see
299289[ Set up embedded authorization server authentication] ( ../guides-k8s/auth-k8s.mdx#set-up-embedded-authorization-server-authentication ) .
290+ For multi-upstream provider support with vMCP, see
291+ [ vMCP embedded authorization server] ( ../guides-vmcp/authentication.mdx#embedded-authorization-server ) .
300292
301293## Token exchange in depth
302294
0 commit comments