Manage Model Context Protocol (MCP) servers for enhanced agent capabilities.
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
const client = new ElevenLabsClient({ apiKey: "your-api-key" });
// Access this API via: client.conversationalAi.mcpServers/**
* List all MCP server configurations
*/
client.conversationalAi.mcpServers.list(
requestOptions?: RequestOptions
): HttpResponsePromise<McpServersResponseModel>;
/**
* Create a new MCP server configuration
*/
client.conversationalAi.mcpServers.create(
request: McpServerRequestModel,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
/**
* Get a specific MCP server configuration
*/
client.conversationalAi.mcpServers.get(
mcp_server_id: string,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
/**
* Update an MCP server configuration
*/
client.conversationalAi.mcpServers.update(
mcp_server_id: string,
request?: McpServerConfigUpdateRequestModel,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
/**
* Delete an MCP server configuration
*/
client.conversationalAi.mcpServers.delete(
mcp_server_id: string,
requestOptions?: RequestOptions
): HttpResponsePromise<unknown>;
/**
* List tools available for an MCP server
*/
client.conversationalAi.mcpServers.tools.list(
mcp_server_id: string,
requestOptions?: RequestOptions
): HttpResponsePromise<ListMcpToolsResponseModel>;
/**
* Add approval for a specific MCP tool (per-tool approval mode)
*/
client.conversationalAi.mcpServers.toolApprovals.create(
mcp_server_id: string,
request: McpToolAddApprovalRequestModel,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
/**
* Remove approval for a specific MCP tool (per-tool approval mode)
*/
client.conversationalAi.mcpServers.toolApprovals.delete(
mcp_server_id: string,
tool_name: string,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
/**
* Update approval policy for MCP server
* DEPRECATED: Use PATCH /mcp-servers/{id} endpoint instead
*/
client.conversationalAi.mcpServers.approvalPolicy.update(
mcp_server_id: string,
request: McpApprovalPolicyUpdateRequestModel,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
/**
* Create configuration overrides for a specific MCP tool
*/
client.conversationalAi.mcpServers.toolConfigs.create(
mcp_server_id: string,
request: McpToolConfigOverrideCreateRequestModel,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
/**
* Get configuration overrides for a specific MCP tool
*/
client.conversationalAi.mcpServers.toolConfigs.get(
mcp_server_id: string,
tool_name: string,
requestOptions?: RequestOptions
): HttpResponsePromise<McpToolConfigOverride>;
/**
* Update configuration overrides for a specific MCP tool
*/
client.conversationalAi.mcpServers.toolConfigs.update(
mcp_server_id: string,
tool_name: string,
request?: McpToolConfigOverrideUpdateRequestModel,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
/**
* Delete configuration overrides for a specific MCP tool
*/
client.conversationalAi.mcpServers.toolConfigs.delete(
mcp_server_id: string,
tool_name: string,
requestOptions?: RequestOptions
): HttpResponsePromise<McpServerResponseModel>;
interface McpServerRequestModel {
/** MCP server configuration */
config: {
/** Server URL */
url: string;
/** Server name */
name: string;
};
}
interface McpServerConfigUpdateRequestModel {
/** Updated configuration fields */
config?: {
url?: string;
name?: string;
};
}
interface McpToolAddApprovalRequestModel {
/** Name of the tool to approve */
toolName: string;
/** Description of the tool */
toolDescription: string;
}
interface McpApprovalPolicyUpdateRequestModel {
/** Approval policy mode */
approvalPolicy: "auto_approve_all" | "manual_approve" | "per_tool";
}
interface McpToolConfigOverrideCreateRequestModel {
/** Name of the tool to configure */
toolName: string;
/** Optional configuration overrides */
config?: Record<string, unknown>;
}
interface McpToolConfigOverrideUpdateRequestModel {
/** Updated configuration overrides */
config?: Record<string, unknown>;
}