Intramedial est en bêta restreinte. À l’inscription ou à la connexion, vous devez fournir le mot de passe de bêta-testeur que vous avez reçu ou en demander un à preview@intramedial.com. Merci.
Chargement…
mcp.enforceModule 04
Module du plan
MCP gateway enforcement
Placez une façade devant un serveur MCP pour que chaque appel d'outil soit admis comme toute autre intention, et qu'un appel refusé n'atteigne jamais le serveur.
mcp.enforce demande à Intralock si un agent peut appeler un outil MCP et renvoie un verdict, sans modèle dans le chemin. La même passerelle peut aussi transmettre un appel à un amont enregistré selon le mode de l'espace de travail : observe enregistre, advise signale, enforce refuse.
Intralock · Baux · Parley · Fleet Map
A Trustvice Product
Les agents agissent quand le plan dit oui, et le registre dit pourquoi.
Faites passer actions d’agents, hash de contenu, contrôles d’API, requêtes DNS, webhooks, appels LLM et commits git par Intramedial. Obtenez un reçu signé vérifiable par tous – sans nous croire.
mcp/enforce renvoie allow ou refuse et ne transmet rien. Pour que la passerelle admette, nettoie, transmette et filtre un appel, enregistrez un amont avec upstream-add et envoyez l'appel à mcp/call.
Registre
Le registre
Ce qui est enregistré
actorDid
Obligatoire. L'agent qui effectue l'appel. Un agent authentifié ne peut nommer que lui-même.
tool
Obligatoire. Le nom de l'outil MCP. C'est aussi la ressource admise, sauf si resource est envoyé.
Facultatif. Un outil dont le nom ressemble à une mutation, comme fs.write, est admis en write quoi que vous envoyiez. Seul delete est conservé.
confirmationToken
Facultatif. Le jeton qu'un approbateur a émis pour une écriture ou une suppression nécessitant confirmation.
allow
Dans la réponse : si Intralock a admis l'intention.
reason
Dans la réponse : pourquoi, par exemple quarantine ou une habilitation manquante.
llm
Dans la réponse : false. Le verdict vient d'une fonction pure.
protocolVersion
La version du protocole MCP utilisée par la passerelle.
Mécanisme
Pas à pas
Comment ça marche
Formes et phases
A
observe
Le mode par défaut. call transmet sans contrôle d'admission et note l'appel comme observed. Le journal fantôme de l'espace de travail se remplit de ce que les agents auraient fait.
B
advise
call admet l'intention et indique ce que le plan aurait répondu, par exemple would be refused, mais transmet quand même. Les transformations déclarées s'appliquent toujours.
C
enforce
call admet l'intention et ne transmet que si elle est autorisée. Un appel refusé renvoie forwarded: false et ne quitte jamais la passerelle.
Pas à pas
Définir le mode
mode accepte observe, advise ou enforce et l'enregistre pour l'espace de travail. Commencez en observe et lisez shadow avant de changer.
Enregistrer un amont
upstream-add nomme un serveur MCP par son URL, avec un identifiant de connexion facultatif ou un lot de correspondance qui classe ses outils.
Envoyer un appel
call prend , , et . La passerelle déduit l'action et la ressource, admet l'intention et transmet si elle est autorisée.
S’exécute dans un workspace de démonstration partagé avec une clé de démonstration : tout le monde peut voir ce qu’il contient, n’envoyez donc rien de privé. Docs mcp.enforce
Réponses
Appuyez sur Exécuter pour envoyer la requête de gauche au workspace de démonstration partagé.
S’exécute dans un workspace de démonstration partagé avec une clé de démonstration : tout le monde peut voir ce qu’il contient, n’envoyez donc rien de privé.
Code
Exemple en direct
Une vraie requête
Une requête dans la forme acceptée par l’API, et un exemple de réponse dans la forme renvoyée par le module.
Un outil nommé bash ou fs.write est admis comme une écriture : il exige donc une habilitation et, avec le plancher de confirmation, l'approbation d'un humain avant exécution.
Essayer avant d'appliquer
Restez en observe une semaine. shadow liste les 50 derniers appels vus par le plan, pour voir lesquels auraient été refusés.
Désamorcer les réponses
call filtre la réponse de l'amont, désamorce le texte ayant la forme d'une instruction et définit instructionShaped dans provenance, pour qu'un résultat d'outil ne puisse pas passer pour une instruction.
Retirer les arguments risqués
En advise et enforce, call retire command et shell des arguments et liste les noms retirés dans stripped.
Quand utiliser autre chose
Un simple contrôle d'admission sans cadrage MCP. Utilisez coordination.admit ; la passerelle l'appelle pour vous.
Recueillir une décision humaine pour une écriture. Les approbateurs utilisent coordination.approve ; la passerelle ne renvoie que l'approvalId.
Contrôler des dépôts GitHub. Utilisez github.enforce, qui admet les ressources repo: et renvoie le résultat à GitHub.
Preuves
Garanties
Ce qu’il fait, et ce qu’il ne fait pas
Un module est une affirmation forte sur un sujet étroit. Fiez-vous-y exactement pour ce qu’il est.
Il le fait
enforce exécute l'admission Intralock quel que soit le mode enregistré, donc le verdict est la même réponse de fonction pure que coordination.admit.
En mode enforce, un call refusé n'est pas transmis : la réponse indique forwarded: false et aucune requête ne part vers l'amont.
Chaque requête enforce et observe ajoute un événement mcp.shadow, et chaque appel un événement mcp.call, au registre.
Un nom d'outil de forme mutation ne peut pas être rétrogradé en read ou call par la requête.
Il ne le fait pas
Qu'un client ne peut pas contourner la passerelle. Elle n'admet que les appels qui lui sont envoyés ; un agent qui connaît l'adresse du serveur peut l'appeler directement.
Qu'une réponse filtrée est sûre. Le désamorçage et l'indicateur instructionShaped sont des heuristiques sur du texte, pas une garantie.
Qu'une adresse d'amont est sûre. Le contrôle lit le texte de l'URL et ne voit pas comment un nom d'hôte se résout.
Que le mode de la réponse est le mode utilisé. Sur enforce, il indique le mode enregistré, qui peut être observe, alors que le verdict est toujours celui d'Intralock.
Détails
Notes de conception
Avant de construire
Forme du verdict
enforce renvoie la ligne fantôme avec shadow: false, plus allow, reason, l'action admise, llm: false et protocolVersion.
Approbations
Un write sans jeton revient de call avec allow: false et un approvalId. La route enforce ne renvoie que allow et reason.
Lots de correspondance
Un amont peut porter un lot de correspondance qui nomme l'action et la ressource de chaque outil. Un outil mappé est admis selon sa ressource plutôt que celle par défaut.
Autorisations
mode, upstream-add et upstream-remove exigent policies.approve. enforce, call et shadow n'ont pas d'autorisation propre : le verdict d'admission est le contrôle.
Limites et mesure
call interrompt un amont à 8000 ms et refuse une réponse de plus de 1 MiB.
Au plus 50 amonts sont enregistrés, l'historique des appels garde 200 lignes et shadow renvoie les 50 derniers événements.
Un lot de correspondance contient au plus 200 outils. Les entrées en trop sont ignorées.
enforce sans actorDid ou tool renvoie 400, comme call sans upstream.
Accès
API et MCP
REST et MCP
Authentifiez-vous avec une clé d’API d’espace de travail comme jeton Bearer. L’URL de base est https://api.intramedial.com.
Points d’accès REST
POST/api/v1/acp/mcp/enforceAdmettre un appel d'outil et renvoyer le verdict ; ne transmet rien.
POST/api/v1/acp/mcp/callAdmettre, nettoyer, transmettre et filtrer un appel via un amont.
POST/api/v1/acp/mcp/modeDéfinir le mode de passerelle de l'espace de travail.
GET/api/v1/acp/mcp/shadowLister les 50 derniers événements observés.
POST/api/v1/acp/mcp/upstream-addEnregistrer un serveur MCP amont.
Actions MCP
MCPcoordination.mcp.enforceDemander un verdict depuis un agent.
MCPcoordination.mcp.modeDéfinir le mode depuis un agent.
MCPcoordination.mcp.shadowLire le journal fantôme depuis un agent.