---
title: "POST /api/mcp/servers/{slug}/config"
method: POST
path: "/api/mcp/servers/{slug}/config"
tags: ["mcp"]
---

# POST /api/mcp/servers/{slug}/config

`POST /api/mcp/servers/{slug}/config`

## Path parameters

- `slug` string, required

## Request body

- object
  - `config` union, required
    - object
      - `transport` 'remote', required
      - `family` string, nullable
      - `endpoint` string, required
      - `remoteTransport` 'streamable-http' | 'sse' | 'auto'
      - `queryParams` object, nullable
      - `headers` object, nullable
      - `authenticationTemplate` union[], required
        - union
          - object
            - `slug` string, required
            - `kind` 'none', required
          - object
            - `slug` string, required
            - `kind` 'apikey', required
            - `label` string, nullable
            - `placements` object[], required
              - …
          - object
            - `slug` string, required
            - `kind` 'oauth2', required
            - `scopes` string[], nullable
            - `enterpriseIdentityProvider` EnterpriseIdentityProviderDescriptor — The registered OAuth app that stands for the enterprise identity provider minting an integration's ID-JAGs.
              - …
          - object
            - `slug` string, required
            - `kind` 'stdio_env', required
            - `vars` string[], required
      - `versionNegotiation` 'legacy' | 'auto', nullable
    - object
      - `transport` 'stdio', required
      - `family` string, nullable
      - `command` string, required
      - `args` string[], nullable
      - `env` object, nullable
      - `cwd` string, nullable
      - `versionNegotiation` 'legacy' | 'auto', nullable
      - `spawnPerCall` boolean, nullable
      - `appServer` object, nullable
        - `server` string, required
        - `surface` 'sky' | 'browser', nullable
        - `modulePath` string, nullable
      - `authenticationTemplate` union[], nullable
        - union
          - object
            - `slug` string, required
            - `kind` 'none', required
          - object
            - `slug` string, required
            - `kind` 'apikey', required
            - `label` string, nullable
            - `placements` object[], required
              - …
          - object
            - `slug` string, required
            - `kind` 'oauth2', required
            - `scopes` string[], nullable
            - `enterpriseIdentityProvider` EnterpriseIdentityProviderDescriptor — The registered OAuth app that stands for the enterprise identity provider minting an integration's ID-JAGs.
              - …
          - object
            - `slug` string, required
            - `kind` 'stdio_env', required
            - `vars` string[], required

## Response `200`

Success

- object
  - `config` union, required
    - object
      - `transport` 'remote', required
      - `family` string, nullable
      - `endpoint` string, required
      - `remoteTransport` 'streamable-http' | 'sse' | 'auto'
      - `queryParams` object, nullable
      - `headers` object, nullable
      - `authenticationTemplate` union[], required
        - union
          - object
            - `slug` string, required
            - `kind` 'none', required
          - object
            - `slug` string, required
            - `kind` 'apikey', required
            - `label` string, nullable
            - `placements` object[], required
              - …
          - object
            - `slug` string, required
            - `kind` 'oauth2', required
            - `scopes` string[], nullable
            - `enterpriseIdentityProvider` EnterpriseIdentityProviderDescriptor — The registered OAuth app that stands for the enterprise identity provider minting an integration's ID-JAGs.
              - …
          - object
            - `slug` string, required
            - `kind` 'stdio_env', required
            - `vars` string[], required
      - `versionNegotiation` 'legacy' | 'auto', nullable
    - object
      - `transport` 'stdio', required
      - `family` string, nullable
      - `command` string, required
      - `args` string[], nullable
      - `env` object, nullable
      - `cwd` string, nullable
      - `versionNegotiation` 'legacy' | 'auto', nullable
      - `spawnPerCall` boolean, nullable
      - `appServer` object, nullable
        - `server` string, required
        - `surface` 'sky' | 'browser', nullable
        - `modulePath` string, nullable
      - `authenticationTemplate` union[], nullable
        - union
          - object
            - `slug` string, required
            - `kind` 'none', required
          - object
            - `slug` string, required
            - `kind` 'apikey', required
            - `label` string, nullable
            - `placements` object[], required
              - …
          - object
            - `slug` string, required
            - `kind` 'oauth2', required
            - `scopes` string[], nullable
            - `enterpriseIdentityProvider` EnterpriseIdentityProviderDescriptor — The registered OAuth app that stands for the enterprise identity provider minting an integration's ID-JAGs.
              - …
          - object
            - `slug` string, required
            - `kind` 'stdio_env', required
            - `vars` string[], required

## Other responses

- `400` — McpConnectionError | McpToolDiscoveryError
- `500` — InternalError

## Changes

> 8 revisions in range; 6 could not be searched.

- **2026-08-30** `03ae66214fb3` — 1 breaking, 5 info
  - removed `subschema #1, subschema #2` from the `config` request property `anyOf` list
  - added `subschema #1, subschema #2` to the `config` request property `anyOf` list
  - added the optional property `anyOf[#/components/schemas/McpToolDiscoveryError]/modernContractViolation` to the response with the `400` status
  - added the optional property `anyOf[#/components/schemas/McpToolDiscoveryError]/reauthorizationRequired` to the response with the `400` status
  - …2 more

[Change history](https://skmtc.dev/executor/apis/executor-api/changes/api/mcp/servers/:slug/config/post.md)

---

[API](https://skmtc.dev/executor/apis/executor-api.md) · [All operations](https://skmtc.dev/executor/apis/executor-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/executor/executor-api/revisions/03ae66214fb3/schema)
