Skip to main content
POST
/
api
/
public
/
organizations
/
{orgId}
/
mcp-servers
Create an MCP server
curl --request POST \
  --url https://charts.basedash.com/api/public/organizations/{orgId}/mcp-servers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "displayName": "<string>",
  "serverUrl": "<string>",
  "headers": [],
  "everyoneInOrganizationCanAccess": true
}
'
{
  "data": {
    "id": "<string>",
    "displayName": "<string>",
    "serverUrl": "<string>",
    "serverLabel": "<string>",
    "lastSyncAttemptAt": "2023-11-07T05:31:56Z",
    "lastSuccessfulSyncAt": "2023-11-07T05:31:56Z",
    "hasCompletedFirstSync": true,
    "syncErrorMessage": "<string>",
    "tools": [
      {
        "id": "<string>",
        "name": "<string>",
        "description": "<string>",
        "readOnlyHint": true,
        "foundInServer": true
      }
    ],
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "authUrl": "<string>",
    "requiresAuth": true
  }
}

Side effects

When an MCP server is successfully created:
  1. Tool sync - Basedash connects to the MCP server and syncs its tools
  2. OAuth bootstrap - If the server advertises OAuth, the response includes an authorization URL
  3. Trial activation - If the organization has never been on a trial, a trial period is automatically started

Authorizations

Authorization
string
header
required

API key authentication using Bearer token format: Bearer <basedash_api_key>

Path Parameters

orgId
string
required

Organization ID

Body

application/json
displayName
string
required

Display name for the MCP server

Required string length: 1 - 120
serverUrl
string
required

MCP server URL

Required string length: 1 - 2000
headers
object[]

Static headers to use when connecting to the MCP server

everyoneInOrganizationCanAccess
boolean
default:true

Whether every member in the organization can use this MCP server

Response

MCP server created successfully

data
object
required