Aller au contenu

Retour à Guardrino

Intégration · Disponible

Le proxy de sécurité MCP

Il se place entre un agent et ses serveurs MCP et vérifie ce que disent les outils, ce que l’agent leur envoie et ce qu’ils renvoient.

Statut : disponible. Cette intégration est construite et testée. HisnLabs livre Guardrino aux entreprises du programme pilote ; certains réglages peuvent encore changer avant la diffusion générale.

Référence développeur · Guide d’installation · Plateformes d’IA · Fiche du modèle ouvert · Proxy compatible OpenAI · Streaming · LiteLLM · Tutoriel : application compatible OpenAI · Tutoriel : LiteLLM · Tutoriel : outils MCP

Essayez-le dès aujourd’hui Guardrino-t7 Open, une version antérieure de notre classifieur, est publique sur Hugging Face sous licence Apache-2.0. La démo fonctionne dans votre navigateur : ce que vous tapez reste sur votre appareil. Démo en direct · Fiche du modèle · La même démo sur Hugging Face

Ce qui est vérifié

MomentContrôle
Les outils sont listésLes descriptions d’outils sont analysées, car un agent les lit comme des instructions.
Un appel partLes arguments sont vérifiés : jeton canari, données personnelles et URL.
Un résultat revientLe résultat est analysé comme contexte, par fenêtres, pour que les longues sorties soient lues en entier.

Un résultat est jugé comme tout document que le modèle lit comme donnée. Vous pouvez essayer le même contrôle à la main via l’API d’inspection, avec direction à context.

POST /v1/inspect HTTP/1.1
Content-Type: application/json

{
  "text": "<tool result text>",
  "direction": "context",
  "app": "support-agent",
  "conversation_id": "conversation-7f3a"
}

Transports

Le proxy parle le transport HTTP diffusable (streamable HTTP) de MCP (une route par serveur, /mcp/{name}) et, pour les serveurs locaux, stdio.

Configuration

Listez les serveurs MCP devant lesquels le proxy se place. Il reste désactivé tant que servers n’est pas défini, et chaque serveur a sa propre route.

[mcp]
on_tool_poisoning = "drop"   # "drop": remove a flagged tool from the list | "refuse": refuse the whole list
timeout_secs = 120
servers = [
  { name = "files", url = "https://mcp.example/mcp", headers = { Authorization = "Bearer UPSTREAM_TOKEN" } },
]

Pointez votre agent vers le proxy plutôt que vers le serveur MCP.

{
  "mcpServers": {
    "files": { "url": "https://guardrino.example/mcp/files" }
  }
}

Pour un serveur stdio local, lancez guardrino-mcp-stdio --server-cmd "<commande>" à la place du serveur dans la configuration de l’agent. Il exécute la commande et vérifie chaque message dans les deux sens de la même façon ; aucune entrée servers n’est nécessaire.

{
  "mcpServers": {
    "files": { "command": "guardrino-mcp-stdio", "args": ["--server-cmd", "npx some-mcp-server"] }
  }
}

Un appel refusé reçoit une erreur JSON-RPC (code -32000, data.code content_blocked). Un outil signalé est retiré de la liste, ou toute la liste est refusée, selon on_tool_poisoning. Pas encore couvert : les requêtes et notifications lancées par le serveur (comme le sampling) ne sont pas inspectées, et les lots JSON-RPC sont refusés.

Protéger vos outils MCP : guide d’installation

Demander un accès anticipé