---
title: "POST /v1/orgs/{orgId}/mcp-servers"
method: POST
path: "/v1/orgs/{orgId}/mcp-servers"
tags: ["Orgs", "MCP"]
---

# POST /v1/orgs/{orgId}/mcp-servers

`POST /v1/orgs/{orgId}/mcp-servers`

## Request

- Base URL: `https://api.tessl.io`
- URL: `https://api.tessl.io/v1/orgs/{orgId}/mcp-servers`
- Auth: none declared

Registers or updates an MCP server held by the organization and returns an OAuth authorization URL. An environment the organization holds can name it once it is authorized.

## Path parameters

- `orgId` string, uuid, required

## Headers

- `Authorization` string

## Request body

- object
  - `name` string, required
  - `oauth` object
    - `authorizationServerUrl` string, uri
    - `clientId` string
    - `clientSecret` string
    - `resource` string, uri
    - `scope` string
  - `transport` union, required
    - 'http'
    - 'sse'
  - `upstreamUrl` string, uri, required

## Response `201`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, uuid, required
    - `type` 'mcp-server', required
    - `attributes` object, required
      - `authorizationUrl` string, uri, required
      - `gatewayPath` string, nullable, required
      - `name` string, required
      - `transport` union, required
        - 'http'
        - 'sse'
      - `upstreamUrl` string, uri, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error

## Changes

- **2026-10-21** `a388ee77a37c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tessl/apis/tessl-api/changes/v1/orgs/:orgId/mcp-servers/post.md)

---

[API](https://skmtc.dev/tessl/apis/tessl-api.md) · [All operations](https://skmtc.dev/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tessl/apis/tessl-api/revisions/7386f1e6295b?raw)
