---
title: "Delete an MCP server"
method: DELETE
path: "/api/public/organizations/{orgId}/mcp-servers/{id}"
tags: ["MCP servers"]
---

# Delete an MCP server

`DELETE /api/public/organizations/{orgId}/mcp-servers/{id}`

## Request

- Base URL: `https://charts.basedash.com`
- URL: `https://charts.basedash.com/api/public/organizations/{orgId}/mcp-servers/{id}`
- Auth: HTTP bearer

Deletes an MCP server by ID. Requires admin access to the organization.

## Path parameters

- `orgId` string, required: Organization ID
- `id` string, required: MCP server ID

## Response `200`

MCP server deleted successfully

- object
  - `data` object, required
    - `id` string, required: MCP server ID
    - `displayName` string, required: Display name for the MCP server
    - `serverUrl` string, required: MCP server URL
    - `serverLabel` string, required: Stable server label used when exposing tools to AI models
    - `transportType` 'STREAMABLE_HTTP' | 'SSE' | 'null', nullable, required: Transport protocol used by the MCP server
    - `setupState` 'INCOMPLETE' | 'CONNECTED' | 'BROKEN', required: MCP server setup state
    - `lastSyncStatus` union, required: Status of the last schema sync
      - 'PENDING'
      - 'SUCCESS'
      - 'FAILED'
      - 'NEVER_SYNCED'
    - `lastSyncAttemptAt` string, date-time, nullable, required: Last tool sync attempt timestamp
    - `lastSuccessfulSyncAt` string, date-time, nullable, required: Last successful tool sync timestamp
    - `hasCompletedFirstSync` boolean, required: Whether the first tool sync has completed
    - `syncErrorMessage` string, nullable, required: Error message from the last failed sync
    - `tools` object[], required: Available MCP tools
      - `id` string, required: Tool ID
      - `name` string, required: Tool name
      - `description` string, nullable, required: Tool description
      - `readOnlyHint` boolean, nullable, required: Whether the tool advertises that it only reads data
      - `accessMode` 'ALWAYS_ALLOW' | 'NEEDS_APPROVAL' | 'BLOCKED', required: Tool access mode
      - `foundInServer` boolean, required: Whether this tool was found during the latest sync
    - `createdAt` string, date-time, required: Creation timestamp
    - `updatedAt` string, date-time, required: Last update timestamp

## Other responses

- `401`: Unauthorized - Missing or invalid API key
- `404`: Not found - MCP server not found or no admin access
- `429`: Rate limit exceeded - Too many requests
- `500`: Internal server error

---

[API](https://skmtc.dev/basedash/apis/basedash-public-api.md) - [All operations](https://skmtc.dev/basedash/apis/basedash-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/basedash/apis/basedash-public-api/revisions/efb9d40bc6f7?raw)
