Servidores MCP (Model Context Protocol)
MCP es el estándar abierto que Theus usa para conectar herramientas externas —bases de datos, APIs, sistemas de tickets, navegadores— como servidores que exponen tools, recursos y prompts a tu sesión.
Cuando conectas un servidor MCP, sus herramientas aparecen automáticamente en la sesión de Theus con el prefijo del servidor y el modelo puede invocarlas igual que las herramientas nativas. Esta página cubre el comando /mcp dentro de la TUI, los subcomandos de línea de comandos theus mcp …, el formato de configuración, los transportes soportados y los servidores internos que Theus monta por su cuenta (Ñaupa, computer-use y el contexto del proyecto).
El comando /mcp
Dentro de una sesión de Theus, /mcp abre el panel de gestión de servidores MCP, donde ves el estado de cada conexión (conectado, deshabilitado, error) y puedes reconectar o activar/desactivar servidores. Acepta estos argumentos directos:
/mcp # abre el panel de configuración de servidores
/mcp enable [server] # habilita un servidor (o todos si omites el nombre)
/mcp disable [server] # deshabilita un servidor (o todos)
/mcp reconnect <server> # fuerza la reconexión de un servidor
Ejemplos:
/mcp enable # habilita todos los servidores configurados
/mcp disable sentry # deshabilita el servidor "sentry"
/mcp reconnect sentry # reconecta el servidor "sentry"
[enable|disable [server-name]]. Deshabilitar un servidor mantiene su configuración pero retira sus herramientas de la sesión hasta que vuelvas a habilitarlo.Añadir y configurar servidores MCP
Desde tu terminal (fuera de la sesión interactiva) usa el grupo de subcomandos theus mcp para administrar servidores. El subcomando principal es add:
theus mcp add <name> <commandOrUrl> [args...]
Opciones de theus mcp add
| Opción | Descripción |
|---|---|
-s, --scope <scope> | Ámbito de configuración: local (por defecto), user o project. |
-t, --transport <transport> | Tipo de transporte: stdio, sse o http. Por defecto stdio. |
-e, --env <env...> | Variables de entorno para el subproceso stdio (ej. -e API_KEY=xxx). |
-H, --header <header...> | Cabeceras HTTP/SSE (ej. -H "Authorization: Bearer ..."). |
--client-id <clientId> | Client ID de OAuth para servidores HTTP/SSE. |
--client-secret | Solicita el client secret de OAuth (o toma MCP_CLIENT_SECRET del entorno). |
--callback-port <port> | Puerto fijo para el callback de OAuth (para servidores con redirect URI pre-registrado). |
Ejemplos reales
# Servidor HTTP:
theus mcp add --transport http sentry https://mcp.sentry.dev/mcp
# Servidor HTTP con cabecera de autorización:
theus mcp add --transport http corridor https://app.corridor.dev/api/mcp --header "Authorization: Bearer ..."
# Servidor stdio con variables de entorno:
theus mcp add -e API_KEY=xxx my-server -- npx my-mcp-server
# Servidor stdio con flags del subproceso:
theus mcp add my-server -- my-command --some-flag arg1
-- se pasa tal cual como argumentos del subproceso stdio. Si el commandOrUrl parece una URL (empieza por http://, https://, localhost o termina en /sse o /mcp) pero no especificaste --transport, Theus te avisa de que lo está tratando como servidor stdio.Añadir con JSON
Para pegar una configuración completa (stdio o SSE) en formato JSON:
theus mcp add-json <name> '<json>' [--scope local|user|project]
Otros subcomandos theus mcp
| Subcomando | Qué hace |
|---|---|
theus mcp list | Lista los servidores MCP configurados. |
theus mcp get <name> | Muestra los detalles de un servidor. |
theus mcp remove <name> [--scope …] | Elimina un servidor. Sin --scope, lo quita del ámbito donde exista. |
theus mcp serve [--debug] [--verbose] | Arranca el propio Theus como servidor MCP. |
theus mcp add-from-theus-desktop [--scope …] | Importa servidores desde Theus Desktop (solo Mac y WSL). |
theus mcp reset-project-choices | Restablece las aprobaciones y rechazos de servidores de ámbito proyecto (.mcp.json). |
theus mcp list y theus mcp get omiten el diálogo de confianza del espacio de trabajo e inician los servidores stdio de .mcp.json para comprobar su estado. Usa estos comandos solo en directorios de confianza.Ámbitos de configuración
El ámbito (--scope) decide dónde se guarda la configuración y quién la ve:
| Ámbito | Significado | Dónde se guarda |
|---|---|---|
local | Privado para ti en este proyecto (por defecto). | Configuración global de Theus, asociada a la ruta del proyecto. |
project | Compartido con el equipo vía control de versiones. | .mcp.json en la raíz del proyecto. |
user | Disponible en todos tus proyectos. | Configuración global de tu usuario Theus. |
Formato del archivo .mcp.json
Los servidores de ámbito project viven en un archivo .mcp.json en la raíz del repositorio, bajo la clave mcpServers. Cada entrada se identifica por su nombre y describe su transporte:
{
"mcpServers": {
"my-server": {
"type": "stdio",
"command": "npx",
"args": ["my-mcp-server"],
"env": { "API_KEY": "${MY_API_KEY}" }
},
"sentry": {
"type": "http",
"url": "https://mcp.sentry.dev/mcp",
"headers": { "Authorization": "Bearer ${SENTRY_TOKEN}" }
}
}
}
${VAR} y ${VAR:-valor-por-defecto}. Así puedes versionar .mcp.json sin exponer secretos: los tokens se resuelven desde tu entorno al conectar.Servidores internos: los que Theus monta solo
Además de los servidores que configuras tú, Theus trae servidores MCP propios que se montan sin tocar .mcp.json ni theus mcp add:
| Servidor | Cómo se activa | Qué aporta |
|---|---|---|
theus-naupa |
Automático si el binario naupa está instalado. Kill-switch: THEUS_NO_NAUPA=1. |
El motor de inteligencia de código Ñaupa: grafo AST del proyecto (tree-sitter), cadenas de llamadas, consultas Cypher y búsqueda semántica en <1 ms. Las herramientas de lectura van pre-permitidas; las que escriben pasan por el flujo de permisos normal. Ver Ñaupa. |
theus-computer-use |
Opt-in explícito: THEUS_COMPUTER_USE=1 theus (solo macOS). Certifica tu equipo antes con theus --theus-computer-use-selftest. |
Control de escritorio: el agente ve la pantalla y opera mouse y teclado (screenshot, clics, type, key, scroll…). Requiere los permisos de Grabación de pantalla y Accesibilidad. Ver Computer-use. |
theus --project-context-mcp |
Modo servidor: lo arrancas tú (o el cliente MCP) como subproceso stdio. | Expone el contexto del proyecto — índice, recall híbrido y memorias — a otros agentes y editores MCP-compatibles. Detalle en la sección siguiente y en Theus como servidor MCP; sobre la memoria que sirve, ver Memoria. |
Theus como servidor MCP: el contexto de tu proyecto
Además de consumir servidores MCP, Theus puede servir la inteligencia de tu proyecto por MCP. El comando theus --project-context-mcp arranca un servidor MCP por stdio que expone el índice del proyecto — el mismo grafo vivo, recall híbrido y memorias persistentes que usa el agente — a cualquier herramienta compatible con MCP.
Herramientas expuestas:
recall— búsqueda híbrida sobre el proyecto: devuelve símbolos conarchivo:línea, memorias relacionadas y el subgrafo de relaciones, sin gastar tokens leyendo código.symbols— símbolos del proyecto (funciones, clases, interfaces) con ubicación exacta; admite filtrar por archivo.project_map— resumen del proyecto: archivos indexados, conteo de símbolos, entidades principales y esquema de base de datos si existe.remember— persiste una decisión o aprendizaje como memoria del proyecto (sobrevive sesiones y es recuperable porrecall).memories— lista las memorias guardadas del proyecto.
Registro en el .mcp.json del cliente (cualquier agente o editor MCP-compatible):
{
"mcpServers": {
"theus-context": {
"command": "theus",
"args": ["--project-context-mcp"]
}
}
}
~/.theus/knowledge/; y si el proyecto nunca se indexó, lo indexa automáticamente al arrancar. La raíz del proyecto se toma del directorio de trabajo o de THEUS_PROJECT_ROOT.Transportes soportados
stdio— Theus lanza el servidor como subproceso local y se comunica por entrada/salida estándar. Requierecommand, opcionalmenteargsyenv. Es el transporte por defecto.http— Servidor remoto por HTTP (streamable). Requiereurl; admiteheadersy OAuth.sse— Servidor remoto vía Server-Sent Events. Requiereurl; admiteheadersy OAuth.
Autenticación OAuth
Los servidores HTTP y SSE pueden requerir OAuth. Pasa --client-id y usa --client-secret para que Theus te pida el secreto de forma segura (o léelo de la variable MCP_CLIENT_SECRET). Si el servidor exige un redirect URI pre-registrado, fija el puerto de callback con --callback-port. Las opciones de OAuth solo aplican a HTTP/SSE; para stdio se ignoran con un aviso.
Variables de entorno relacionadas
| Variable | Efecto |
|---|---|
MCP_TIMEOUT | Tiempo máximo de arranque/conexión de un servidor MCP. |
MCP_TOOL_TIMEOUT | Tiempo máximo de ejecución de una herramienta MCP. |
MAX_MCP_OUTPUT_TOKENS | Límite de tokens en la salida devuelta por una herramienta MCP. |
MCP_CLIENT_SECRET | Fuente del client secret de OAuth cuando usas --client-secret. |
Flujo recomendado
- Añade el servidor con
theus mcp add …eligiendo el ámbito según quién debe verlo. - Verifica con
theus mcp listytheus mcp get <name>en un directorio de confianza. - Dentro de la sesión, gestiona el estado con
/mcp,/mcp enable,/mcp disabley/mcp reconnect.