Skip to main content
GET
Get Mcp Server By Slug

Authorizations

Authorization
string
header
required

A Barndoor API key, sent as Authorization: Bearer <key>. Keys are prefixed bdai_ and are opaque — do not attempt to decode one. Interchangeable with an OAuth 2.0 access token.

Path Parameters

slug
string
required

Query Parameters

include_service_accounts
boolean
default:false

Include service account connections for can_manage_policies computation (does not affect connection_status)

include_connection_status
boolean
default:true

Include connection_status computation (requires Bao calls). Set to false for better performance when connection_status is not needed.

include_local
boolean | null

BCP-4300: allow servers that run locally through the Barndoor CLI (embedded and local catalogs). Omitted, the registry resolves it from the org's local-cli-mcp-tooling flag (fail-closed); an explicit value is always honoured. An excluded server is left out of the result, and a single-server read of one returns 404.

Response

Successful Response

Response model for MCP server with computed fields.

This model includes both database fields and computed fields like connection_status, url, and proxy_url that are added at runtime.

id
string<uuid>
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
enabled
boolean
default:true
required
configuration
Configuration · object
required
name
string
required
slug
string
required
oauth_base_url_override
string | null
required
client_id
string | null
required
Maximum string length: 255
client_secret
string | null
required
uses_managed_credentials
boolean | null
required
ema_enabled
boolean
default:false
required
scopes
string[] | null
required
organization_id
string<uuid> | null
required
mcp_server_directory_id
string<uuid>
required
status
string
required
meta
any
required
tools_fetch_status
string
required
tools_fetch_error
any
required
tools_fetched_at
string<date-time> | null
required
tools_fetch_requested_at
string<date-time> | null
required
published_at
string<date-time> | null
required
mcp_server_directory
MCPServerDirectoryBase · object
required
mcp_server_service_connection
ServerConnectionResponse · object | null
required

Public service-connection shape exposed from server endpoints.

connection_status
enum<string> | null
required

Connection status values for MCP servers.

These values represent the computed connection status of a server from the user's perspective, taking into account server configuration, Bao registration, and user connections.

Available options:
pending,
connected,
available,
error
connection_error_reason
enum<string> | null
required

Why a connection is in error, as a code safe to show its owner.

It is derived from error_message, which can hold an arbitrary exception string and is never shown in its place.

Available options:
authorization_not_completed,
authorization_denied,
reauthorization_required,
other
url
string | null
required
proxy_url
string | null
required
can_manage_policies
boolean | null
required
attention_tier
enum<string> | null
required

BCP-3815 — API vocabulary for the :func:attention_rank_expr tiers.

Emitted as attention_tier on server read payloads so the client badges a server from the same CASE that filters (availability_filter_expr), sorts (order_by=attention) and counts (/servers/summary) it — one classification, declared once, instead of a second hand-written copy in TypeScript that could drift with every suite green.

Available options:
pending_publish,
connection_error,
pending_credentials,
pending_connection,
available
publish_blockers
enum<string>[] | null
required

BCP-3815 — why POST /servers/{id}/publish would currently 422.

One value per gate the publish route enforces, in the order it checks them.

Available options:
not_operationally_available,
no_active_policy
cascaded_fields
string[] | null
required
deleted_at
string<date-time> | null
required
credential_mode
enum<string>
required

Where the server's OAuth client credentials come from. managed: Barndoor's managed OAuth client for this provider. cimd: Barndoor's client ID metadata document. dcr: a client registered with the provider through dynamic client registration. manual: a client ID entered by an administrator. static_client: a per-server client that was either entered by hand or registered through dynamic client registration by a request that did not name credential_mode, so Barndoor cannot tell which. It changes when an update stores a client whose source is known: managed credentials, a client Barndoor registers, or a new client ID sent with credential_mode: manual. none: the server holds no OAuth client (not yet configured, or its provider does not use OAuth).

Available options:
managed,
cimd,
dcr,
manual,
static_client,
none
uses_cimd
boolean
default:false
required
deprecated

Deprecated: use credential_mode. Whether this live server identifies itself to the provider with Barndoor's OAuth Client ID Metadata Document.

tools_count
integer
required
read-only
resources_count
integer
required
read-only