Dvar peut inspecter et appliquer les frontières d’outils Model Context Protocol sans faire confiance aveuglément aux descriptions serveur. Le flux de revue repose sur des inventaires, des diffs sémantiques et des lockfiles explicites.
Scanner un serveur MCP
npx dvar scan https://mcp.example.com/mcp \
--server-id production-crm \
--out dvar.inventory.jsonL’inventaire enregistre les métadonnées serveur observées, les noms d’outils, descriptions, schémas, annotations, capacités inférées, destinations, risques et hashes canoniques.
Examiner et verrouiller
npx dvar diff dvar.inventory.json --lockfile dvar.lock.json
npx dvar lock dvar.inventory.json --out dvar.lock.jsonLe scan ne modifie pas dvar.lock.json. Un lockfile est un enregistrement d’approbation. Traitez les changements de schémas, descriptions, annotations, destinations ou capacités comme des événements de revue.
Appliquer les appels MCP
npx dvar proxy \
--upstream https://mcp.example.com/mcp \
--server-id production-crm \
--policy dvar.yaml \
--lockfile dvar.lock.json \
--listen 127.0.0.1:4319Pointez le client MCP vers le proxy local. Dvar évalue tools/call avant de transférer la requête upstream.
Politique d’intégrité
integrity:
requireLockfile: true
onUnknownServer: deny
onUnknownTool: require_approval
onDescriptionChange: require_approval
onSchemaChange: deny
onCapabilityExpansion: denyEn mode strict, les échecs d’intégrité non déclarés échouent fermé. En mode monitor, Dvar transfère l’appel mais enregistre would_deny ou would_require_approval.
Frontière de sécurité
Un lockfile prouve la continuité d’un inventaire revu. Il ne prouve pas qu’une implémentation de serveur distant soit bénigne. Conservez l’autorisation applicative, les contrôles de tenant, les scopes OAuth, les contrôles réseau et la gestion des secrets.