Connect an AI app
AgentValet runs a hosted MCP server for every owner. Any AI app that can talk to a remote MCP server over OAuth can connect to it: the app registers itself as an OAuth client, you sign in and approve once in the browser, and AgentValet provisions a new agent for that app. There is no key file, no token to paste, and nothing secret in the app’s config.
This is the same mechanism for all of the apps below. What differs is only where each app asks for the URL.
The one value you need
Your MCP server URL is:
https://api.agentvalet.ai/mcp/v1/<owner-id>Get it pre-filled from the dashboard: Agents, then the Connect Claude, ChatGPT, Copilot… button. The panel shows your URL with a copy button and the steps for each app. Your Owner ID on its own is under Settings, in the Developer panel.
Everything else (authorization and token endpoints, client registration, scopes) is discovered automatically. The endpoint answers an unauthenticated request with a pointer to its OAuth metadata, and the app follows it.
What happens when you approve
Approving provisions a brand-new agent for that connection. Like every agent it starts deny-by-default with zero scopes: until you grant it something, every call the app makes comes back denied.
- In the dashboard, open Agents. The new agent appears with the OAuth-connector type.
- Open it and configure its permissions: tick the platforms and scopes this app should reach.
Each app gets its own identity and audit trail, so you can revoke Claude web without touching Cursor, and see in the audit log which app made which call.
The account you sign in with at the consent step must be an AgentValet member of the org. The agent is created under your owner, and its calls are attributed to you.
Claude web (claude.ai)
Full walkthrough: Connect Claude web.
- Settings, then Connectors, then Add custom connector.
- Paste the URL. Leave OAuth Client ID and Client Secret empty: Claude identifies itself by URL (a client-id metadata document), so there is nothing to register.
- Save, start the connection, sign in to AgentValet in the popup and click Approve.
Custom connectors live at your Claude account level, so the same connection is available in Claude Cowork, Claude Desktop and Claude Code.
ChatGPT
ChatGPT connects to MCP servers through connectors created in developer mode. It discovers AgentValet’s OAuth metadata, registers itself dynamically, and uses the authorization-code flow with PKCE, which is exactly what AgentValet’s authorization server expects.
- Settings, then Connectors, and enable developer mode if it is not already on.
- Create. Give the connector a name and paste the URL as the MCP server URL.
- Choose OAuth as the authentication. You do not need to enter a client ID or client secret.
- Save, then sign in to AgentValet in the popup and click Approve.
Cursor
Full walkthrough: Cursor.
Add this to ~/.cursor/mcp.json (or Settings, MCP, Add):
{
"mcpServers": {
"agentvalet": {
"url": "https://api.agentvalet.ai/mcp/v1/<owner-id>"
}
}
}Cursor shows a Needs login button next to AgentValet. Click it, sign in, click Approve.
Codex
Full walkthrough: Codex.
codex mcp add agentvalet --url https://api.agentvalet.ai/mcp/v1/<owner-id>
codex mcp login agentvaletThe second command opens the browser approval.
Hermes
Full walkthrough: Hermes.
Paste into ~/.hermes/config.yaml:
mcp_servers:
agentvalet:
url: https://api.agentvalet.ai/mcp/v1/<owner-id>
auth: oauth
timeout: 60or run hermes mcp add agentvalet --url https://api.agentvalet.ai/mcp/v1/<owner-id>. Hermes opens the browser approval on first use.
Copilot Studio
Copilot Studio adds MCP servers as agent tools. Its OAuth 2.0 Dynamic discovery option is the one that matches AgentValet: it reads the server’s OAuth metadata and registers a client automatically.
- Open your agent, then Tools, Add a tool, New tool, Model Context Protocol.
- Enter a server name and description, and paste the URL as the Server URL.
- Under Authentication choose OAuth 2.0, then the type Dynamic discovery.
- Create the tool. When prompted to create a connection, sign in to AgentValet and click Approve.
Status: being verified. Copilot Studio registers as a confidential OAuth client (one that authenticates to the token endpoint with a client secret). AgentValet’s authorization server today issues only public clients (PKCE, no secret), which is what Claude, ChatGPT, Cursor, Codex and Hermes use. Support for confidential clients is being added; until it ships, the Copilot Studio wizard may fail at the connection step. This page will be updated when the path has been run end to end.
Two things that stay true once it works:
- Every Copilot Studio user who creates a connection signs in to AgentValet as themselves, so each must be a member of your org.
- Copilot Studio sees AgentValet’s tools (
list_platforms,use_platform,authzen_evaluate, and so on), not a per-platform tool set. The agent composes the upstream API call itself.
If something went wrong
- The app connects but every action is denied. Expected until you grant scopes. Open Agents, find the new agent and grant it platforms. Destructive scopes may additionally need per-request approval.
- You do not see the new agent in the dashboard. Make sure you completed the consent Approve. Closing the popup early cancels provisioning; start the connection again.
invalid_client, or the app will not authorize. Re-check the URL. It must be the fullhttps://api.agentvalet.ai/mcp/v1/<owner-id>with your real Owner ID. In Claude web the OAuth client fields must be left blank.- The app asks for a client ID and secret and will not proceed without them. That app is using a manual (pre-registered) OAuth client, which AgentValet does not issue. Look for a dynamic registration or discovery option instead.
Next
- Configure an agent’s permissions
- Agent identity
- Install options: when to use this path versus a key-based install