Ir al contenido

Usar el servidor MCP

Esta guía explica cómo conectar un cliente MCP externo —Claude Code, un editor, el MCP Inspector— al propio servidor de herramientas 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. Faltan familias enteras de herramientas que cabría esperar: no hay herramientas de reuniones ni de calendario, ni tampoco de proyectos.

La superficie MCP comparte el listener 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 Cerrar 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: indica en ejecución o detenido y el puerto en el que escucha

La superficie está activada por defecto en una instalación nueva, así que un cliente en loopback funciona sin pasar por los ajustes. 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 por defecto, así que el endpoint solo es alcanzable desde la máquina en la que se ejecuta cc_server, salvo que lo hayas arrancado 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 lo tomará de un .mcp.json del proyecto: somete los servidores MCP de ámbito de proyecto a 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 quede registrado dos veces.

Punto de control: pide al cliente que liste sus herramientas. Deberías ver entradas mcp__* que cubren tickets, espacios, memoria, el grafo de código y la revisión.

  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 petición POST /mcp

Una superficie sin token rechaza con 403 a cualquier cliente que no sea de loopback. Es fail-closed por diseño: el token es lo que hace posible servir fuera del host.

Los cambios de token se aplican de inmediato a la superficie en marcha, sin reinicio.

Toda herramienta que toque datos con ámbito de espacio de trabajo exige 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 de la URL de tu navegador o de la app: /workspaces/<workspace_id>/…. Las únicas excepciones son las herramientas que abarcan de verdad 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 usuario propio, así que esas herramientas operan sobre los feeds del propietario del servidor.

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

  • Restricción 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 alcanzar una herramienta de escritura omitiendo space_id: el modo se consulta en su ejecución activa.
  • Barandillas de acción. 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 construyen 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 que el descubrimiento filtre nada: un cliente MCP externo se niega a llamar a una herramienta que no esté en su lista en caché, de modo que ocultar herramientas las rompe en lugar de ordenarlas.

  • Comprueba que la tarjeta Servidor MCP ponga en ejecución
  • Comprueba que el puerto coincida con el de tu cc_server
  • En Claude Code, comprueba que has 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. Establece uno y envíalo.

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

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

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

Una llamada a una herramienta se rechaza por desconocida

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

Herramientas MCP lista el catálogo. Llama al nombre exactamente como aparece allí.