For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dashboard
User GuideDeveloper GuidesAPI Reference
User GuideDeveloper GuidesAPI Reference
  • Getting Started
    • What is Runtype?
    • Creating your account
    • Platform keys vs. BYOK
    • Understanding the Runtype UI
    • Quickstart: Social Media Post Generator
    • Quickstart: From Agent to Chat Widget
  • Dashboard
    • What is the Dashboard?
    • Daily executions
  • Playground
    • What is the Playground?
  • Products & Surfaces
    • What are Products?
    • What are Surfaces?
    • Creating a product
    • Setting up a chat surface
    • Setting up an API surface
    • Setting up an MCP surface
    • Setting up an A2A surface
    • Setting up a Slack surface
    • MCP authentication
    • Authenticating with product API keys
    • Embedding the chat widget (script tag)
    • Embedding the chat widget (React)
    • Surface orchestration modes
    • Product views
    • Adding capabilities to a product
    • Connecting external agents
    • How A2A works
    • Connecting to MCP clients
    • Scoping API keys to capabilities
    • Auto-generated OpenAPI spec
    • Calling your API endpoints
    • Client tokens and domain restrictions
    • AI-powered theme generation
    • Widget theming and customization
    • Product versioning and status
  • Flows
    • What are Flows?
    • Creating and editing flows
    • Flow step types overview
    • Agent and flow templates
    • Using prompt steps
    • Using transform-data steps
    • Using conditional steps
    • Using fetch-url and api-call steps
    • Using record steps (upsert/retrieve)
    • Flow variables and templates
    • Flow versioning and publishing
    • Running flows in batch
    • Handling batch failures
    • Debugging flows
  • Agents
    • What are Agents?
    • Creating and configuring agents
    • Agent tools
  • Records
    • What are Records?
    • Creating and managing records
    • Using records in flows
    • Filtering and searching records
  • Tools
    • What are Tools?
    • Built-in tools
    • Creating custom tools
    • Creating external tools
    • Runtime tools
  • Evals
    • What are Evals?
    • Running an eval
    • Interpreting eval results
  • Schedules
    • What are Schedules?
    • Automating batch processing
  • Logs
    • What are Logs?
    • Working with logs
  • Integrations
    • Connecting AI model providers
    • Slack integration
    • Google Workspace integration
    • GitHub integration
    • Linear integration
    • Weaviate (vector search)
    • Firecrawl (web scraping)
    • Exa (web search)
  • Settings
    • What's in Settings?
    • Available AI models
    • What are Organizations?
    • Managing AI models
    • Managing API keys
    • Billing and plans
    • Usage data
    • Team members and permissions
    • Appearance and preferences
    • Integrations (PostHog, Weaviate, Daytona)
  • Troubleshooting & FAQ
    • FAQ
    • Rate limits and usage
    • Managing Runtype with Claude
    • Agent skills
    • Flow execution failures
    • Common errors and solutions
    • Authentication issues
Dashboard
LogoLogo
On this page
  • Authentication modes
  • Claude Desktop
  • Claude Code
  • Cursor
  • VS Code (GitHub Copilot)
  • VS Code (Cline)
  • Windsurf
  • JetBrains IDEs
  • Any other MCP client
  • Verify your connection
  • Troubleshooting
  • Next steps
Products & Surfaces

Connecting to MCP clients

Was this page helpful?
Previous

Scoping API keys to capabilities

Next
Built with

Every MCP Surface exposes a standard HTTP endpoint that any MCP-compatible client can connect to. This page covers setup for the most popular clients and gives you a JSON config you can adapt for anything else.

Your MCP server URL follows this pattern:

https://api.runtype.com/v1/products/{productId}/surfaces/{surfaceId}/mcp

Find the exact URL in the Ship tab of your MCP Surface.

Authentication modes

Choose the mode that fits your client and security needs. You set this when creating the Surface or from the Ship tab later.

ModeHow it worksBest for
OAuthClient discovers auth automatically; user approves in-browserClaude Desktop, Cursor, Claude Code, Windsurf
API KeyPass a Bearer token in headersAutomation, CI, clients without OAuth
PublicNo authenticationQuick testing, public tools

With OAuth, most clients handle the flow automatically when you paste the URL. With API Key, you create a key in the Keys tab (keys use the mcp_ prefix) and include it in the config.

Claude Desktop

OAuth (recommended)
API Key

Open claude_desktop_config.json and add:

claude_desktop_config.json
1{
2 "mcpServers": {
3 "your-product": {
4 "url": "https://api.runtype.com/v1/products/YOUR_PRODUCT_ID/surfaces/YOUR_SURFACE_ID/mcp"
5 }
6 }
7}

Restart Claude Desktop. You will be prompted to authorize in the browser on first connection.

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Open the file from Settings > Developer > Edit Config in Claude Desktop.

Claude Code

OAuth (recommended)
API Key

Run this in your terminal:

$claude mcp add --transport http your-product https://api.runtype.com/v1/products/YOUR_PRODUCT_ID/surfaces/YOUR_SURFACE_ID/mcp

Claude Code prompts you to authorize in the browser.

Use claude mcp list to verify the server appears, and claude mcp remove your-product to disconnect.

Cursor

OAuth (recommended)
API Key
  1. Open Settings (Cmd/Ctrl + ,).
  2. Search for MCP.
  3. Click Add new MCP server.
  4. Paste the MCP server URL from the Ship tab.
  5. Authorize in the browser prompt.

VS Code (GitHub Copilot)

Add to .vscode/mcp.json in your workspace:

OAuth (recommended)
API Key
.vscode/mcp.json
1{
2 "servers": {
3 "your-product": {
4 "type": "http",
5 "url": "https://api.runtype.com/v1/products/YOUR_PRODUCT_ID/surfaces/YOUR_SURFACE_ID/mcp"
6 }
7 }
8}

VS Code discovers the server when you open the workspace. Use the Copilot chat panel to verify tools are available.

VS Code (Cline)

  1. Click the Cline icon in the sidebar.
  2. Open Settings (gear icon).
  3. Scroll to MCP Servers and click Edit MCP Settings.
  4. Add your server URL and, if using API Key auth, the Bearer header.
  5. Save and reopen the Cline sidebar.

Windsurf

Add to your Windsurf MCP config (.windsurf/mcp.json or via Settings > MCP):

.windsurf/mcp.json
1{
2 "mcpServers": {
3 "your-product": {
4 "serverUrl": "https://api.runtype.com/v1/products/YOUR_PRODUCT_ID/surfaces/YOUR_SURFACE_ID/mcp",
5 "headers": {
6 "Authorization": "Bearer YOUR_API_KEY"
7 }
8 }
9 }
10}

Omit the headers block if your Surface uses OAuth or is public.

JetBrains IDEs

In any JetBrains IDE (IntelliJ, WebStorm, PyCharm, etc.) with AI Assistant enabled:

  1. Open Settings > Tools > AI Assistant > MCP Servers.
  2. Click + to add a server.
  3. Enter the MCP server URL.
  4. If using API Key auth, add the Authorization: Bearer YOUR_API_KEY header.
  5. Click OK and restart the IDE.

Any other MCP client

The JSON config structure is the same across most clients. Adapt this template:

Generic MCP config
1{
2 "mcpServers": {
3 "your-product": {
4 "url": "https://api.runtype.com/v1/products/YOUR_PRODUCT_ID/surfaces/YOUR_SURFACE_ID/mcp",
5 "headers": {
6 "Authorization": "Bearer YOUR_API_KEY"
7 }
8 }
9 }
10}

For OAuth-enabled Surfaces, drop the headers block entirely. The client will negotiate auth automatically if it supports MCP OAuth discovery.

The MCP manifest is available at:

https://api.runtype.com/v1/products/{productId}/surfaces/{surfaceId}/mcp/.well-known/mcp.json

Verify your connection

After connecting, confirm your Capabilities appear as tools:

  1. Claude Desktop — look for the tools icon (hammer) in the chat input area.
  2. Claude Code — run claude mcp list and check for your server name.
  3. Cursor — open the MCP section in the chat panel sidebar.
  4. VS Code (Copilot) — look for the tools indicator in the Copilot chat.

Try asking the AI to use one of your tools by name. If tools do not appear, check that the Surface status is Active and that Capabilities are enabled in the Endpoints tab.

Troubleshooting

Tools not appearing:

  • Verify the Surface status is Active in Runtype.
  • Check that at least one Capability is enabled in the Endpoints tab.
  • Restart or reload the client after adding the config.
  • For API Key auth, confirm the key uses the mcp_ prefix and has not been revoked.

Authentication errors:

  • OAuth: make sure you completed the browser authorization flow.
  • API Key: check for typos and that the key matches the Surface, not a different one.
  • See MCP authentication for details.

Connection timeout:

  • Confirm the URL is correct (check the Ship tab for the canonical URL).
  • Some corporate networks block outbound connections — try from a different network.

Next steps

  • Setting up an MCP Surface to create and configure your Surface
  • MCP authentication for key management and security
  • Scoping API keys to capabilities for fine-grained access control
  • Adding capabilities to a product to expose more tools