---
title: "Create connection"
method: POST
path: "/connect/{namespace}"
tags: ["connect"]
---

# Create connection

`POST /connect/{namespace}`

## Request

- Base URL: `https://api.smithery.ai`
- URL: `https://api.smithery.ai/connect/{namespace}`
- Auth: HTTP bearer

Create a new MCP connection with an auto-generated ID. Requires API key and namespace ownership.

## Path parameters

- `namespace` string, required

## Request body

- CreateConnectionRequest
  - `transport` 'http' | 'uplink': Connection transport. Use `uplink` for a local server paired over Smithery CLI.
  - `mcpUrl` string, uri: URL of a custom MCP server. For Smithery registry servers, prefer `server`.
  - `server` string: Smithery registry server qualified name. Use this instead of mcpUrl for registry servers.
  - `name` string: Human-readable name (optional, defaults to connection ID)
  - `metadata` object: Custom metadata for filtering connections
  - `headers` object: Custom headers to send with MCP requests (stored securely, not returned in responses)
  - `mock` MockConfig
    - `enabled` boolean, required: Turn mock mode on for this connection.
    - `scenario` string: Natural-language starting-state for the simulator (threaded into the LLM system prompt so generated data is consistent with the scenario across calls).

## Response `201`

Connection created

- Connection
  - `connectionId` string, required: Connection ID (auto-generated or developer-defined)
  - `name` string, required: Human-readable name
  - `transport` 'http' | 'uplink': Connection transport
  - `mcpUrl` string, nullable, required: MCP server URL. Null for uplink connections.
  - `metadata` object, nullable, required
  - `mock` MockConfig
    - `enabled` boolean, required: Turn mock mode on for this connection.
    - `scenario` string: Natural-language starting-state for the simulator (threaded into the LLM system prompt so generated data is consistent with the scenario across calls).
  - `iconUrl` string, nullable
  - `createdAt` string: ISO 8601 timestamp
  - `status` union
    - object
      - `state` 'connected', required
    - object
      - `state` 'disconnected', required
    - object
      - `state` 'auth_required', required
      - `setupUrl` string, uri: Hosted Smithery URL for completing setup and OAuth
      - `authorizationUrl` string, uri: Deprecated compatibility alias for setupUrl
    - object
      - `state` 'input_required', required
      - `setupUrl` string, uri: Hosted Smithery URL for completing setup in the browser
      - `http` CredentialProfileHttp, required
        - `headers` object
        - `query` object
      - `missing` object, required
        - `headers` string[], required
        - `query` string[], required
    - object
      - `state` 'error', required
      - `message` string, required: Error message
  - `serverInfo` ServerInfo
    - `name` string, required
    - `title` string
    - `icons` object[]
      - `src` string, required
      - `mimeType` string
      - `sizes` string[]
      - `theme` 'light' | 'dark'
    - `version` string, required
    - `websiteUrl` string
    - `description` string

## Other responses

- `400`: Validation error
- `404`: Namespace not found or access denied

## Changes

- **2026-10-16** `17463ce9a13a`: 1 info
  - endpoint added
- **2026-04-24** `3f57836881dd`: 1 breaking
  - api path removed without deprecation
- **2026-04-23** `10f65f70e8c0`: 2 breaking, 3 info
  - response property `mcpUrl` list-of-types was widened by adding types `null` to media type `application/json` of response `201`
  - added `subschema #2: ConnectionStatusDisconnected` to the `status` response property `oneOf` list for the response status `201`
  - added the new optional request property `transport`
  - the request property `mcpUrl` became optional
  - …1 more
- **2026-04-21** `e0848f588e5f`: 3 breaking, 3 info
  - added the new required request property `mock/enabled`
  - the `mock` request property type changed from `boolean` to `object`
  - the `mock` response's property type changed from `boolean` to `object` for status `201`
  - added the new optional request property `mock/scenario`
  - …2 more
- **2026-04-20** `0ac2ebb989ed`: 2 info
  - added the new optional request property `mock`
  - added the optional property `mock` to the response with the `201` status

[Operation history](https://skmtc.dev/smithery-ai/apis/smithery-platform-api/changes/connect/:namespace/post.md)

---

[API](https://skmtc.dev/smithery-ai/apis/smithery-platform-api.md) - [All operations](https://skmtc.dev/smithery-ai/apis/smithery-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smithery-ai/apis/smithery-platform-api/revisions/17463ce9a13a?raw)
