Tu primera política
Escribe una regla de permitir/denegar para controlar qué herramientas MCP puede invocar tu agente.
Comportamiento por defecto: denegación implícita
Si ninguna política coincide con un par (agentId, toolName) , la solicitud es bloqueada. Debes permitir explícitamente cada herramienta que tu agente necesite.
Cómo se evalúan las políticas
Solo las solicitudes tools/call se comprueban con las políticas. Los demás métodos MCP (tools/list, resources/read) pasan sin revisión.
Permitir una herramienta
Permite a tu agente llamar a read_file en cualquier ruta:
curl -X POST https://api.shieldagent.io/policies \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <admin-key>' \
-d '{
"tenantId": "<tenant-id>",
"agentId": "<agent-id>",
"toolName": "read_file",
"action": "allow"
}'Denegar con una condición
Bloquea llamadas a bash que contengan rm -rf:
{
"tenantId": "<tenant-id>",
"agentId": "<agent-id>",
"toolName": "bash",
"action": "deny",
"conditions": [
{
"type": "param_contains",
"param": "arguments.command",
"value": "rm -rf"
}
]
}Todas las condiciones usan lógica AND — cada condición debe coincidir para que la regla se aplique. Si una condición falla, el evaluador pasa a la siguiente regla.
Política a nivel de tenant
Establece agentId en null para aplicar la regla a todos los agentes del tenant. Las reglas específicas por agente siempre prevalecen sobre las reglas a nivel de tenant.
{
"tenantId": "<tenant-id>",
"agentId": null,
"toolName": "tools_list",
"action": "allow"
}Acciones de política
| Acción | Comportamiento |
|---|---|
| allow | Permite la llamada a la herramienta (sujeta a condiciones) |
| deny | Bloquea la llamada a la herramienta y devuelve un error al agente |
| shadow | Registra la llamada sin bloquearla; útil para observar nuevas herramientas antes de aplicar la política |