Skip to content

Connect an MCP server

POST
/voice/mcp-servers

Register a Model Context Protocol server agents can call tools on.

transport_type decides which other field is required: sse needs connection_url, stdio needs command. It is closed to those two here.

env_vars IS A SECRET FIELD. It is write-only by convention on this surface - the read routes return the server’s tools, not its environment - and anything put here is available to the process voice starts.

org_id is not in the body. Voice’s own model requires it; it is supplied from the key, so a caller cannot register a server into another tenant.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

An MCP server an agent can call tools on.

org_id is deliberately ABSENT even though voice’s model requires it: it is pinned from the API key by the router and a body-supplied value would be a tenancy hole.

object
args
Any of:
Array<string>
command
Any of:
string
connection_url
Any of:
string
description
Any of:
string
<= 500 characters
enabled
boolean
default: true
env_vars
Any of:
object
key
additional properties
string
name
required
string
>= 1 characters <= 100 characters
transport_type
required

sse for a remote server reached over HTTP, stdio for a local process.

string
Allowed values: sse stdio

Responses

201

Successful Response

object
data
required

One voice object - a collection, an agent, a route, a chat.

Open-shaped: voice adds fields to these bodies on its own release cadence and a dropped-or-added key must not be a 500 in this service.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string