Skip to content

Add a new MCP connection

An MCP connection exposes your registered APIs as tools that AI agents—like Cursor, Claude, and VS Code—can call on behalf of your users. Kinde builds the tools from your OpenAPI spec, gives each connection a unique URL, and authenticates clients with a user API key. The scopes on that key control which tools the agent can use.

  • A Kinde account with Admin permissions (Plus plan or higher — see pricing)
  • MCP connections enabled for your environment (beta feature; contact support to enable for your business)
  • A live upstream base URL that your API is reachable at
  1. Upload an OpenAPI spec for your API. Kinde generates scopes and MCP tool metadata for each operation.
  2. Create an MCP connection and authorize that API.
  3. Configure how Kinde authenticates to your upstream API (for example, pass through the user’s API key, or send a static bearer token).
  4. A user creates a user API key for the authorized API and selects the scopes (tools) they need.
  5. An MCP client connects to https://<your_business>.kinde.com/mcp/<connection-id> with that key.
  6. When the agent calls a tool, Kinde proxies the matching HTTP request to your API and records an audit entry.

1. Create an API with an OpenAPI spec

Link to this section

If you haven’t already, create an API with the following steps:

  1. Go to Settings > Environment > APIs.

  2. Select Add API.

  3. Enter an API name (e.g., “MCP Demo API”) and Audience. The audience (aud) is a unique identifier for this API. Often a short code or the URL of the API is used (e.g., https://yourbusiness.com/mcp).

  4. Select Save. The details window for the API opens.

  5. Select OpenAPI spec in the side menu.

  6. Select Upload file.

  7. Choose your JSON or YAML file from your computer (maximum file size: 20MB).

    Kinde uploads the file and parses it to generate scopes.

See also Register and manage APIs.

2. Create an MCP connection

Link to this section
  1. Go to your Kinde dashboard and select MCP Servers > Connections.
  2. Select Add new connection.
  3. Enter a Connection name (e.g., “MCP Demo Connection”).
  4. Select the API from the dropdown.
  5. Select Save.

You are redirected to the connection Details page.

3. Configure authentication and headers

Link to this section

Choose how Kinde authenticates to your upstream API:

  1. Go to the Details page for the connection.

  2. Scroll down to Backend authentication.

  3. Select one of the following Authentication type options:

    • Pass through user token: Forwards the MCP client’s user API key as Authorization: Bearer <key> to your API.
    • Static bearer token: Sends a configured token as Authorization: Bearer <token>.
    • API key (X-Api-Key header): Sends a configured key as X-Api-Key: <key>.
    • Static headers only: Adds no authentication header. Use extra headers for any custom auth your API needs.
    • Coming Soon - OAuth 2.0 client credentials: Shown in the UI but not available yet. Choose another type.
  4. Scroll down to Extra HTTP headers and add any you need for your API.

    These headers are applied on every upstream request after the primary auth headers. Header values support templates that Kinde replaces per request:

    • {{kinde.user.id}}
    • {{kinde.user.username}}
    • {{kinde.user.email}}
    • {{kinde.user.firstname}}
    • {{kinde.user.lastname}}
  5. Select Save.

4. Get a user API key

Link to this section

MCP clients authenticate with a user’s API key for the authorized API. You can create one from the dashboard on behalf of the user, or they can create it themselves if you have enabled this in the self-serve portal.

To create an API key for a user:

  1. Go to your Kinde dashboard and select Users.

  2. Select the user you want to create an API key for (such as yourself).

  3. Go to the API keys page.

  4. Select Add API key. A modal opens.

    create an api key for a user

  5. Enter a key Name, select the API (e.g., “MCP Demo API”), select the scopes you want to grant, and select Save.

  6. Copy the key and store it securely. You will only see it once.

    Kinde API key format
    k_live_1234567890abcdefghijklmnopqrstuvwxyz

You will need this API key when configuring your MCP client.

See User-level API keys and Scopes for API keys.

Connect to an MCP client

Link to this section
  1. Go to your Kinde dashboard > MCP Servers > Connections and select the connection.
  2. Go to the Quick start page.
  3. Copy the connection config JSON for your preferred MCP client:
    • Remote MCP (HTTP) (e.g., Cursor and VS Code–based tools)
    • Stdio bridge (command-based clients) (e.g., Claude desktop)
  4. Replace the KINDE_USER_API_KEY with the user API key you created in the previous section.

See the following sections for client-specific setup steps.

Claude desktop

Link to this section
  1. Open the Claude desktop app.

  2. Go to Settings > Developer > select Edit Config. The claude_desktop_config.json file opens in your file browser.

    claude developer edit config

  3. Open the file in your preferred text editor.

  4. Paste the Stdio bridge connection config JSON and save the file.

    You can find this under the Quick start > Stdio bridge (command-based clients) section of your MCP connection in Kinde. Replace KINDE_USER_API_KEY with the user API key you created in the previous section.

  5. Restart Claude.

  6. Confirm the Kinde MCP server appears on the page.

    claude local mcp servers

  7. Open your chat window. The connection appears under the connectors list.

    claude local mcp servers tools

  8. Run a sample tool call to test the connection.

    claude local mcp servers tool call

  1. Open the Cursor desktop app.

  2. Go to Cursor > Settings > Cursor Settings.

  3. Go to Tools & MCP.

  4. Select Add custom MCP, or if you already have other MCP servers, select New MCP server. The mcp.json file opens.

    mcp server settings page in cursor

  5. Paste the Remote MCP connection config JSON and save the file.

    You can find this under the Quick start > Remote MCP (HTTP) section of your MCP connection in Kinde. Replace KINDE_USER_API_KEY with the user API key you created in the previous section.

  6. Restart Cursor.

  7. Confirm your connection appears in the list of Installed MCP Servers.

    cursor mcp server enabled

  8. Open your chat window and run a sample tool call to test the connection.

    cursor mcp server tool call

Manage connections

Link to this section

Re-authorize an API

Link to this section

If you have more than one API, you can change or re-authorize it:

  1. Go to your Kinde dashboard > MCP Servers > Connections and select View details for the connection you want to change.
  2. Go to the APIs page.
  3. Select the three dots next to the API and select Re-authorize connection or Authorize connection.

Open the connection and select the Tools page.

mcp connection tools page

Tools are generated from the operations in the authorized API’s active OpenAPI spec.

  • Each tool maps to one OpenAPI operation.
  • Tool names prefer a sanitized operationId when present; otherwise Kinde derives a name from the API name, HTTP method, and path. Duplicate names are disambiguated automatically.
  • An MCP client only sees tools whose corresponding API scopes are assigned to the user’s API key.

Monitor tool calls

Link to this section

Open the connection and select the Tools audit page.

You will see every tool call made through this connection, including the agent, user, outcome, and upstream status.

tools audit page

ColumnMeaning
UserEmail or user ID associated with the API key
ToolMCP tool name
OutcomeOK or Error
UpstreamHTTP status returned by your API (when available)
DurationTime spent calling upstream
WhenTimestamp

You can search by tool or user, and filter outcome to All, OK, or Error. Select View details for method, path, error summary, agent ID, IP address, user agent, MCP protocol version, and session ID.

Delete a connection

Link to this section
  1. Go to your Kinde dashboard > MCP Servers > Connections and select the three dots on the connection tile you want to delete.
  2. Select Delete connection.
  3. Confirm.

Sample OpenAPI spec file

Link to this section
sample-openapi.yaml
openapi: 3.0.3
info:
title: MCP Demo API
description: Sample catalog API for testing Kinde MCP connections.
version: 1.0.0
servers:
- url: https://mcp-demo-api.vercel.app
paths:
/api/items:
get:
operationId: listItems
summary: List all items
description: Returns the full sample catalog of items.
responses:
"200":
description: A list of items
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: "#/components/schemas/Item"
total:
type: integer
/api/items/{id}:
get:
operationId: getItemById
summary: Get item by ID
description: Returns a single item from the sample catalog.
parameters:
- name: id
in: path
required: true
description: Item ID (1–5 in the sample data)
schema:
type: string
example: "1"
responses:
"200":
description: The requested item
content:
application/json:
schema:
type: object
properties:
item:
$ref: "#/components/schemas/Item"
"404":
description: Item not found
content:
application/json:
schema:
type: object
properties:
error:
type: string
id:
type: string
components:
schemas:
Item:
type: object
required:
- id
- name
- category
- price
- inStock
properties:
id:
type: string
name:
type: string
category:
type: string
price:
type: number
inStock:
type: boolean
ActionPermission
View connections, tools, auditread:apis
Create, delete, authorize APIs, configure backend authupdate:apis