Connect an MCP client

Connect Claude Code, Cursor, the Claude app, ChatGPT, VS Code or any Streamable HTTP client to V12.

V12's MCP server lets an AI assistant read and triage findings, and estimate, start and follow runs. Each tool runs the same operation as the REST API, with the same scopes and permissions.

Server URL

https://v12.sh/api/mcp

The server speaks Streamable HTTP over POST and keeps no session, so every request carries its own credentials. You can connect in two ways:

  • OAuth (recommended): your client opens V12's consent page, you approve the scopes it asks for, and the client keeps the token.
  • API key: create a key in Settings → Developer and send it as Authorization: Bearer <key>.

A connection acts on one workspace: the one that is active in V12 when you approve the consent page or create the key. Switch to the right workspace before you connect. See Which organization a token reads.

Connect your client

Each client's steps follow its vendor's documentation, linked under its heading. Client screens change often; if a step no longer matches, the vendor page has the current one.

Claude Code

Steps from Claude Code's MCP guide.

claude mcp add --transport http v12 https://v12.sh/api/mcp

Then run /mcp in Claude Code and follow the sign-in in your browser. claude mcp login v12 does the same from your shell.

Cursor

Steps from Cursor's MCP documentation. Add the server to ~/.cursor/mcp.json for every project, or to .cursor/mcp.json in one project.

{
  "mcpServers": {
    "v12": { "url": "https://v12.sh/api/mcp" }
  }
}

Cursor signs in with OAuth. Approve V12's consent page.

Claude app

Steps from Anthropic's custom connector guide. On claude.ai and Claude Desktop, add V12 as a custom connector and sign in with OAuth:

  • Pro and Max plans: open Customize → Connectors, select +, then Add custom connector. Paste the server URL, select Add, then connect and approve V12's consent page.
  • Team and Enterprise plans: an owner of your Claude organization adds the URL in Organization settings → Connectors: Add, then Custom → Web. Each member then selects Connect in Customize → Connectors.

Turn the connector on for a conversation from the + menu, under Connectors.

ChatGPT

Steps from OpenAI's developer mode guide and, for workspaces, OpenAI's help article. ChatGPT connects through OAuth, in developer mode. What developer mode allows depends on your ChatGPT plan.

  1. Turn on Developer mode in Settings → Security and login. On Business, Enterprise and Edu workspaces, admins decide who can use developer mode.
  2. Go to ChatGPT Plugins, select the plus button, and create an app with the server URL and OAuth authentication. Leave the client ID and secret empty: ChatGPT registers itself with V12.
  3. Complete the sign-in and approve V12's consent page.
  4. In a conversation, choose Developer mode from the + menu and select the app.

VS Code

Steps from VS Code's MCP server guide and its configuration reference. Add the server to .vscode/mcp.json in your workspace, or run MCP: Add Server from the Command Palette.

{
  "servers": {
    "v12": { "type": "http", "url": "https://v12.sh/api/mcp" }
  }
}

When the server starts, VS Code registers itself with V12 and asks you to sign in. Approve V12's consent page.

Other Streamable HTTP clients

V12 follows the MCP authorization specification.

  1. A request without a token gets 401. Its WWW-Authenticate header points resource_metadata at https://v12.sh/.well-known/oauth-protected-resource/api/mcp.
  2. That document names the authorization server, https://v12.sh. Its metadata is at https://v12.sh/.well-known/oauth-authorization-server.
  3. Register your client at https://v12.sh/api/oauth/register, then use the authorization code flow with PKCE (S256). Clients are public: the token endpoint takes no client secret. To receive refresh tokens, register with refresh_token in grant_types.

Registration accepts only these redirect URIs:

  • http://127.0.0.1, http://localhost or http://[::1], on any port;
  • https://claude.ai/api/mcp/auth_callback;
  • https://chatgpt.com/connector_platform_oauth_redirect, and paths under https://chatgpt.com/connector/oauth/;
  • https://www.cursor.com/agents/mcp/oauth/callback and cursor://anysphere.cursor-mcp/oauth/callback;
  • https://vscode.dev/redirect and https://insiders.vscode.dev/redirect.

Hosted redirect URIs cannot carry a query string.

Check the connection

Ask your assistant to "use V12's get_me tool". It returns your username and email, the workspace and the token's scopes.

The server lists only the tools that your token's scopes allow. A token with all seven scopes sees 21 tools. The MCP tools reference lists each tool and the scopes it needs.

Troubleshooting

SymptomFix
get_me shows the wrong workspaceThe connection acts on the workspace that was active when you approved it. While that workspace is active, Revoke the app under Settings → Developer → Authorized apps. Then switch to the right workspace and connect again. See Which organization a token reads.
Tools are missingThe server hides tools whose scopes the token lacks. Check the scopes that get_me returns, then connect with a key or app that has the scopes you need.
The client keeps asking you to sign inRevoke the app under Authorized apps, remove the server from your client, and add it again.

On this page