La característica de conector del Protocolo de Contexto de Modelo (MCP) de Claude te permite conectarte a servidores MCP remotos directamente desde la API de Mensajes sin un cliente MCP separado.
Versión actual: Esta característica requiere el encabezado beta: "anthropic-beta": "mcp-client-2025-11-20"
La versión anterior (mcp-client-2025-04-04) está deprecada. Consulta la documentación de la versión deprecada a continuación.
El conector MCP utiliza dos componentes:
mcp_servers): Define los detalles de conexión del servidor (URL, autenticación)tools): Configura qué herramientas habilitar y cómo configurarlasEste ejemplo habilita todas las herramientas de un servidor MCP con configuración predeterminada:
Cada servidor MCP en la matriz mcp_servers define los detalles de conexión:
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN"
}| Propiedad | Tipo | Requerido | Descripción |
|---|---|---|---|
type | string | Sí | Actualmente solo se admite "url" |
url | string | Sí | La URL del servidor MCP. Debe comenzar con https:// |
name | string | Sí | Un identificador único para este servidor MCP. Debe ser referenciado por exactamente un MCPToolset en la matriz tools. |
authorization_token | string | No | Token de autorización OAuth si es requerido por el servidor MCP. Consulta la especificación MCP. |
El MCPToolset vive en la matriz tools y configura qué herramientas del servidor MCP están habilitadas y cómo deben configurarse.
{
"type": "mcp_toolset",
"mcp_server_name": "example-mcp",
"default_config": {
"enabled": true,
"defer_loading": false
},
"configs": {
"specific_tool_name": {
"enabled": true,
"defer_loading": true
}
}
}| Propiedad | Tipo | Requerido | Descripción |
|---|---|---|---|
type | string | Sí | Debe ser "mcp_toolset" |
mcp_server_name | string | Sí | Debe coincidir con un nombre de servidor definido en la matriz mcp_servers |
default_config | object | No | Configuración predeterminada aplicada a todas las herramientas en este conjunto. Las configuraciones de herramientas individuales en configs anularán estos valores predeterminados. |
configs | object | No | Anulaciones de configuración por herramienta. Las claves son nombres de herramientas, los valores son objetos de configuración. |
Cada herramienta (ya sea configurada en default_config o en configs) admite los siguientes campos:
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | true | Si esta herramienta está habilitada |
defer_loading | boolean | false | Si es verdadero, la descripción de la herramienta no se envía al modelo inicialmente. Se utiliza con Herramienta de búsqueda de herramientas. |
Los valores de configuración se fusionan con esta precedencia (mayor a menor):
configsdefault_config a nivel de conjuntoEjemplo:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
"default_config": {
"defer_loading": true
},
"configs": {
"search_events": {
"enabled": false
}
}
}Resulta en:
search_events: enabled: false (de configs), defer_loading: true (de default_config)enabled: true (valor predeterminado del sistema), defer_loading: true (de default_config)El patrón más simple - habilita todas las herramientas de un servidor:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
}Establece enabled: false como predeterminado, luego habilita explícitamente herramientas específicas:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
"default_config": {
"enabled": false
},
"configs": {
"search_events": {
"enabled": true
},
"create_event": {
"enabled": true
}
}
}Habilita todas las herramientas de forma predeterminada, luego deshabilita explícitamente herramientas no deseadas:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
"configs": {
"delete_all_events": {
"enabled": false
},
"share_calendar_publicly": {
"enabled": false
}
}
}Combina lista blanca con configuración personalizada para cada herramienta:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
"default_config": {
"enabled": false,
"defer_loading": true
},
"configs": {
"search_events": {
"enabled": true,
"defer_loading": false
},
"list_events": {
"enabled": true
}
}
}En este ejemplo:
search_events está habilitado con defer_loading: falselist_events está habilitado con defer_loading: true (heredado de default_config)La API aplica estas reglas de validación:
mcp_server_name en un MCPToolset debe coincidir con un servidor definido en la matriz mcp_serversmcp_servers debe ser referenciado por exactamente un MCPToolsetconfigs no existe en el servidor MCP, se registra una advertencia de backend pero no se devuelve ningún error (los servidores MCP pueden tener disponibilidad de herramientas dinámica)Cuando Claude utiliza herramientas MCP, la respuesta incluirá dos nuevos tipos de bloques de contenido:
{
"type": "mcp_tool_use",
"id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
"name": "echo",
"server_name": "example-mcp",
"input": { "param1": "value1", "param2": "value2" }
}{
"type": "mcp_tool_result",
"tool_use_id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
"is_error": false,
"content": [
{
"type": "text",
"text": "Hello"
}
]
}Puedes conectarte a múltiples servidores MCP incluyendo múltiples definiciones de servidor en mcp_servers y un MCPToolset correspondiente para cada uno en la matriz tools:
{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [
{
"role": "user",
"content": "Use tools from both mcp-server-1 and mcp-server-2 to complete this task"
}
],
"mcp_servers": [
{
"type": "url",
"url": "https://mcp.example1.com/sse",
"name": "mcp-server-1",
"authorization_token": "TOKEN1"
},
{
"type": "url",
"url": "https://mcp.example2.com/sse",
"name": "mcp-server-2",
"authorization_token": "TOKEN2"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "mcp-server-1"
},
{
"type": "mcp_toolset",
"mcp_server_name": "mcp-server-2",
"default_config": {
"defer_loading": true
}
}
]
}Para servidores MCP que requieren autenticación OAuth, necesitarás obtener un token de acceso. El beta del conector MCP admite pasar un parámetro authorization_token en la definición del servidor MCP.
Se espera que los consumidores de API manejen el flujo OAuth y obtengan el token de acceso antes de hacer la llamada a la API, así como actualizar el token según sea necesario.
El inspector MCP puede guiarte a través del proceso de obtener un token de acceso para propósitos de prueba.
Ejecuta el inspector con el siguiente comando. Necesitas tener Node.js instalado en tu máquina.
npx @modelcontextprotocol/inspectorEn la barra lateral a la izquierda, para "Tipo de transporte", selecciona "SSE" o "HTTP Streamable".
Ingresa la URL del servidor MCP.
En el área derecha, haz clic en el botón "Abrir configuración de autenticación" después de "¿Necesitas configurar la autenticación?".
Haz clic en "Flujo OAuth rápido" y autoriza en la pantalla de OAuth.
Sigue los pasos en la sección "Progreso del flujo OAuth" del inspector y haz clic en "Continuar" hasta que llegues a "Autenticación completada".
Copia el valor de access_token.
Una vez que hayas obtenido un token de acceso usando cualquiera de los flujos OAuth anteriores, puedes usarlo en tu configuración del servidor MCP:
{
"mcp_servers": [
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "authenticated-server",
"authorization_token": "YOUR_ACCESS_TOKEN_HERE"
}
]
}Para explicaciones detalladas del flujo OAuth, consulta la sección de Autorización en la especificación MCP.
Si estás usando el encabezado beta deprecado mcp-client-2025-04-04, sigue esta guía para migrar a la nueva versión.
mcp-client-2025-04-04 a mcp-client-2025-11-20tools como objetos MCPToolset, no en la definición del servidor MCPAntes (deprecado):
{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [...],
"mcp_servers": [
{
"type": "url",
"url": "https://mcp.example.com/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN",
"tool_configuration": {
"enabled": true,
"allowed_tools": ["tool1", "tool2"]
}
}
]
}Después (actual):
{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [...],
"mcp_servers": [
{
"type": "url",
"url": "https://mcp.example.com/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "example-mcp",
"default_config": {
"enabled": false
},
"configs": {
"tool1": {
"enabled": true
},
"tool2": {
"enabled": true
}
}
}
]
}| Patrón antiguo | Patrón nuevo |
|---|---|
Sin tool_configuration (todas las herramientas habilitadas) | MCPToolset sin default_config o configs |
tool_configuration.enabled: false | MCPToolset con default_config.enabled: false |
tool_configuration.allowed_tools: [...] | MCPToolset con default_config.enabled: false y herramientas específicas habilitadas en configs |
Esta versión está deprecada. Por favor migra a mcp-client-2025-11-20 usando la guía de migración anterior.
La versión anterior del conector MCP incluía la configuración de herramientas directamente en la definición del servidor MCP:
{
"mcp_servers": [
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN",
"tool_configuration": {
"enabled": true,
"allowed_tools": ["example_tool_1", "example_tool_2"]
}
}
]
}| Propiedad | Tipo | Descripción |
|---|---|---|
tool_configuration | object | Deprecado: Usa MCPToolset en la matriz tools en su lugar |
tool_configuration.enabled | boolean | Deprecado: Usa default_config.enabled en MCPToolset |
tool_configuration.allowed_tools | array | Deprecado: Usa patrón de lista blanca con configs en MCPToolset |
curl https://api.anthropic.com/v1/messages \
-H "Content-Type: application/json" \
-H "X-API-Key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: mcp-client-2025-11-20" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [{"role": "user", "content": "What tools do you have available?"}],
"mcp_servers": [
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "example-mcp"
}
]
}'cache_control | object | No | Configuración del punto de ruptura de caché para este conjunto de herramientas |
Pégalo en el campo authorization_token en tu configuración del servidor MCP.