Saltar al contenido
Teramot MCP — Visión general

Teramot MCP — Visión general

El servidor Model Context Protocol (MCP) de Teramot permite que cualquier cliente de IA compatible con MCP (Claude, ChatGPT, Cursor y otros) trabaje directamente con su plataforma de datos de Teramot. Una vez conectado, el cliente puede explorar sus workspaces, proyectos y fuentes de datos, ver vistas previas de tablas y consultarlas, y construir nuevas tablas de resultados (gold), todo en lenguaje natural.

Implementa el transporte MCP Streamable HTTP, con OAuth 2.0 (o un token estático) para la autenticación.

Datos esenciales de conexión

Endpointhttps://mcp.teramot.com/mcp
TransporteStreamable HTTP (POST para JSON-RPC, GET para el stream SSE)
Client ID5nldf3wj83yz9f6zbrsjx
AutenticaciónOAuth 2.0 + PKCE, o una clave de API estática (Bearer token)
Servidorteramot-mcp v0.1.0

Tip

La mayoría de los usuarios nunca toca el protocolo directamente: vea Conectar su cliente para la configuración lista para copiar y pegar en Claude, ChatGPT, Cursor, v0.dev y Antigravity. Esta página documenta el protocolo subyacente para integraciones a medida.

Cómo funciona la conexión

  1. El cliente apunta a https://mcp.teramot.com/mcp y (en los clientes OAuth) al Client ID de arriba.
  2. El cliente llama a initialize y tools/list para descubrir las capacidades; estos métodos no requieren autenticación.
  3. Para cualquier trabajo real (tools/call), el cliente se autentica con un Bearer token, obtenido con el flujo automático de OAuth o con una clave de API estática. Vea Autenticación.

Transporte y endpoints

Todo el tráfico va a un único endpoint, https://mcp.teramot.com/mcp.

POST /mcp

Transporta pedidos JSON-RPC 2.0 (initialize, tools/list, tools/call, …). Las respuestas se devuelven como application/json o, en las operaciones con streaming, como text/event-stream.

POST /mcp HTTP/1.1
Host: mcp.teramot.com
Authorization: Bearer YOUR_TOKEN
Accept: application/json, text/event-stream
Content-Type: application/json
Mcp-Session-Id: SESSION_UUID   # echoed after initialize

GET /mcp

Abre un stream de Server-Sent Events para los mensajes del servidor al cliente. Requiere el encabezado Mcp-Session-Id que devuelve initialize; sin él, el servidor responde 401 Unauthorized (missing Mcp-Session-Id; re-initialize via POST).

Métodos de arranque (sin autenticación)

Para que los clientes puedan descubrir el servidor antes de autorizarse, tres métodos no requieren autenticación:

  • initialize
  • tools/list
  • notifications/initialized

Todos los demás métodos requieren un Bearer token válido.

Gestión de sesiones

initialize devuelve un encabezado de respuesta Mcp-Session-Id. Inclúyalo en los pedidos siguientes y en el stream de GET /mcp. Las sesiones se guardan en memoria y se reinician cuando el servidor se reinicia: si se pierde una sesión, simplemente vuelva a llamar a initialize.

Métodos MCP

initialize

Negocia la versión del protocolo y las capacidades. No requiere autenticación.

{
  "jsonrpc": "2.0",
  "id": "init-1",
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": { "tools": {} },
    "clientInfo": { "name": "MyApp", "version": "1.0.0" }
  }
}

La respuesta trae el encabezado Mcp-Session-Id para los pedidos siguientes.

tools/list

Lista las herramientas disponibles. No requiere autenticación (es parte del flujo de arranque). Vea el catálogo completo en la Referencia de herramientas.

{
  "jsonrpc": "2.0",
  "id": "list-tools",
  "method": "tools/list"
}

tools/call

Ejecuta una herramienta. Requiere autenticación (Bearer token).

{
  "jsonrpc": "2.0",
  "id": "call-tool",
  "method": "tools/call",
  "params": {
    "name": "preview_table",
    "arguments": { "table_name": "sales" }
  }
}

Manejo de errores

Se aplican los códigos de error estándar de JSON-RPC 2.0:

{
  "jsonrpc": "2.0",
  "id": "request-id",
  "error": { "code": -32602, "message": "Invalid params" }
}
CódigoSignificado
-32700Error de parseo (JSON inválido)
-32600Pedido inválido (JSON-RPC mal formado)
-32601Método no encontrado
-32602Parámetros inválidos
-32000Error interno o de autenticación

En la capa HTTP, un token ausente o vencido devuelve 401 Unauthorized.

Próximos pasos