Skip to main content
Una sola tool cubre los sistemas externos por MCP: driftless_broker. Opera una Connection que ya existe, y nunca conecta ni desconecta una (el setup es un flujo liderado por humanos en el dashboard o la CLI, no en la superficie de MCP). Si un agente necesita una operación que la tool no lista, tiene que reportar la capability faltante, nunca escribir un script.
El Broker está gated: apagado por defecto en producción (DRIFTLESS_BROKER_ENABLED), con una lane externa aparte (DRIFTLESS_BROKER_ROLLOUT) y grants por principal. Una acción listada no es una utilizable: un caller OAuth/MCP sin rostro y sin grant obtiene un resultado vacío incluso contra una connection saludable.

La tool broker

driftless_broker es basada en action: pasa action para elegir la operación. Las credenciales se resuelven del lado del servidor y cada llamada queda auditada. El setup (connect / disconnect) y escribir scripts de Nango son carriles separados, solo para humanos, no alcanzables aquí.

Acciones

Gates y permisos

Tres gates independientes y fail-closed aplican a un caller externo, en orden: el interruptor maestro (DRIFTLESS_BROKER_ENABLED), la lane externa (DRIFTLESS_BROKER_ROLLOUT) y un grant por principal. Una operación además debe estar permitida por la política; en producción el registry de política va vacío, así que ninguna escritura es invocable. Los scopes broker:* se aplican solo cuando el Broker está habilitado, y gobiernan la lane encima del rollout y los grants. Un caller interno (una API key propia o una sesión de dashboard) se salta el gate de grant pero igual necesita el resto.

Lecturas y materialización

Las lecturas difieren en si tocan al provider en vivo y en qué crean. records lee el mirror/cache; document-content lee en vivo mediante la ruta de documentos general para providers; index materializa connector documents propios de Driftless; import mapea records del mirror a Records de Collection. El retrieve de contexto normal nunca consulta un provider, y cuando una consulta de retrieve coincide con connector documents indexados que no pediste, la respuesta sugiere sources:['connectors'] en next_action en vez de incluirlos.

Disponibilidad

Relacionado