Conectar un agente de IA con MCP

Da a un agente acceso de solo lectura a tus datos con una clave de API y el servidor MCP del nodo.

Cada nodo de TeselaDB tiene un servidor del Model Context Protocol con las herramientas de MongoDB MCP Server. Esta guía conecta un cliente MCP (un asistente de escritorio, un IDE o tu propio agente) con permisos de solo lectura.

1. Un usuario solo para el agente

JavaScript
db.getSiblingDB("admin").createUser({
  user: "agente",
  pwd: passwordPrompt(),
  roles: [{ role: "read", db: "tienda" }],
});

2. Una clave de API

Shell
teseladb admin apikey create --user agente

La clave (tdb_…) se muestra una sola vez y caduca a los 90 días por defecto. Lleva como mucho los roles del usuario.

3. Configura el cliente MCP

La mayoría de clientes leen una configuración como esta. teseladb mcp habla por stdio y reenvía al puerto HTTP del nodo; la clave va en una variable de entorno, nunca en los argumentos:

JSON
{
  "mcpServers": {
    "teseladb": {
      "command": "teseladb",
      "args": ["mcp", "--uri", "https://node-01:27080"],
      "env": { "TESELADB_API_KEY": "tdb_…" }
    }
  }
}

Si tu cliente admite MCP por HTTP, apúntalo a https://node-01:27080/mcp con la cabecera Authorization: Bearer.

4. Pregunta

El agente ve herramientas como list-collections, collection-schema, find, aggregate y count. Prueba con «¿Cuántos pedidos pagados hubo ayer?»: el agente mira el esquema de pedidos y lanza un count o un aggregate.

Lo que el agente no puede hacer

  • El servidor MCP arranca en solo lectura. Las herramientas que escriben solo aparecen si las activas con el parámetro de clúster mcpOptions.
  • aggregate rechaza $out y $merge.
  • Cada herramienta comprueba los privilegios con los roles de la clave, y cada llamada queda en el registro de auditoría con transport: "mcp".

Para quitarle el acceso, revoca la clave: teseladb admin apikey revoke <id>. Todos los nodos la rechazan en menos de un segundo.