@mcp-use/client/react:
McpClientProvider for multi-server apps. Use standalone useMcp only for a single server.
Provider setup
Connection states
OAuth does not auto-start by default (
preventAutoAuth: true). Show a sign-in button when state === "pending_auth".
Mixed auth is reported separately from the connection state. A mixed-auth
server remains ready because its public operations are usable, while
authorization describes the optional OAuth state:
detectMixedAuth: false to disable this best-effort
discovery. With the default explicit browser flow, a wire-level OAuth challenge
from a protected operation prepares the auth action; call authenticate() and
retry that operation. Tool-level isError results do not trigger OAuth.
OAuth callback
Create a route (default:/oauth/callback):
defaultCallbackUrl on the provider or callbackUrl per server.
Proxy fallback
When direct browser connections fail (CORS / FastMCP), retry through a proxy:Persistence
Standalone useMcp
For one server without the provider:
Types
McpServerConfig— server options passed toaddServer(replaces deprecatedMcpServerOptions).displayName— your label for the server in UI.serverInfo.name— name returned by the server at init.authorization— optional mixed-auth metadata withmode,authenticated,resource, andscopesSupported.
McpServer (pendingSamplingRequests, pendingElicitationRequests, notifications). See Sampling and Elicitation.