Ir al contenido

Usar el servidor MCP

Esta guía te muestra cómo conectar un cliente MCP externo — Claude Code, un editor, el MCP Inspector — al servidor de herramientas propio de Control Center.

Control Center registra 110 herramientas y las sirve por el Model Context Protocol en la versión de protocolo 2024-11-05. Familias enteras de herramientas que podrías esperar no están: no hay herramientas de reuniones ni de calendario, y tampoco de proyectos.

La superficie MCP comparte el mismo socket de escucha principal de cc_server. No hay un puerto MCP aparte.

Endpoint Método Propósito
/mcp POST Transporte Streamable HTTP — es lo que habla un cliente
/mcp DELETE Terminar una sesión
/sse GET Flujo de notificaciones enviadas por el servidor

Así que una instalación local predeterminada está en http://127.0.0.1:9030/mcp.

  1. Ve a Ajustes → Servidor → Servidores MCP
  2. Lee la tarjeta Servidor MCP — muestra si está en ejecución o detenido y el puerto en el que escucha

La superficie viene activada de forma predeterminada en una instalación nueva, así que un cliente de loopback funciona sin tocar ningún ajuste. Iniciar al abrir la app controla si vuelve tras un reinicio; Iniciar / Detener son controles de sesión que no cambian esa preferencia.

El servidor se enlaza a loopback de forma predeterminada, así que solo se puede llegar al endpoint desde la máquina donde se ejecuta cc_server, a menos que lo hayas iniciado con --bind any.

Apunta tu cliente al endpoint Streamable HTTP. La forma exacta de la configuración es cosa de tu cliente; la URL es la misma en cualquier caso.

{
"mcpServers": {
"control-center": {
"type": "http",
"url": "http://127.0.0.1:9030/mcp"
}
}
}

Claude Code no tomará esto de un .mcp.json de proyecto — pone los servidores MCP con alcance de proyecto detrás de una solicitud de aprobación que un claude -p no interactivo nunca responde. Pasa la configuración de forma explícita:

Ventana de terminal
claude --mcp-config /path/to/mcp.json --strict-mcp-config

--strict-mcp-config hace que Claude use solo ese archivo, de modo que el mismo servidor no se descubra también desde el proyecto y se registre dos veces.

Punto de control: pídele al cliente que liste sus herramientas. Deberías ver entradas mcp__* que abarcan tickets, espacios, memoria, el grafo de código y revisiones.

  1. En Ajustes → Servidor → Servidores MCP, en la fila Token de autenticación, pulsa Establecer y pega un token
  2. Envíalo como Authorization: Bearer <token> en cada solicitud POST /mcp

Una superficie sin token rechaza con 403 cualquier llamada que no venga de loopback. Eso es fail-closed por diseño: el token es lo que hace posible, en primer lugar, servir fuera del host.

Los cambios de token se aplican de inmediato a la superficie en vivo — sin reiniciar.

Toda herramienta que toca datos con ámbito de espacio de trabajo requiere workspace_id, y una llamada sin él se rechaza en lugar de resolverse contra algún espacio de trabajo «actual»:

{
"workspace_id": "acme",
"title": "Fix login bug",
"priority": "high"
}

El id es el que aparece en la URL de tu navegador o de la app: /workspaces/<workspace_id>/…. Las únicas excepciones son las herramientas que de verdad abarcan varios espacios de trabajo, como list_workspaces y las herramientas del feed de noticias — el feed de noticias es por usuario y un agente no tiene un usuario propio, así que esas herramientas operan sobre los feeds del propietario del servidor.

Las herramientas con ámbito de repositorio comprueban además que el repo esté vinculado a ese espacio de trabajo.

  • Compuerta por modo. Una llamada se resuelve en el servidor contra el modo del espacio del agente que llama. Un agente en un modo de solo lectura no puede llegar a una herramienta de escritura omitiendo space_id — el modo se consulta a partir de su ejecución activa.
  • Barandillas de acciones. Las herramientas que mutan declaran sus clases de efecto y pasan por la misma política que usa el resto del producto. Consulta Configurar barandillas.
  • Confirmación. Algunas herramientas destructivas arman una carga de confirmación que debe aprobarse antes de que la llamada continúe.

El catálogo completo se anuncia en tools/list sin ninguna compuerta de descubrimiento — un cliente MCP externo se niega a llamar a una herramienta que no esté en su lista en caché, así que ocultar herramientas las rompe en lugar de ordenarlas.

  • Comprueba que la tarjeta Servidor MCP indique que está en ejecución
  • Comprueba que el puerto coincida con el de tu cc_server
  • En Claude Code, comprueba que hayas pasado --mcp-config y --strict-mcp-config

403 desde una máquina que no es el servidor

Sección titulada «403 desde una máquina que no es el servidor»

No hay ningún token de portador configurado. Configura uno y envíalo.

Una llamada de herramienta falla con «Missing or invalid argument: workspace_id»

Sección titulada «Una llamada de herramienta falla con «Missing or invalid argument: workspace_id»»

Añade workspace_id. No hay ningún espacio de trabajo implícito.

Una llamada de herramienta se rechaza por desconocida

Sección titulada «Una llamada de herramienta se rechaza por desconocida»

Herramientas MCP enumera el catálogo. Llama a la herramienta con el nombre exacto que aparece ahí.