Skip to main content
Voir en Markdown

Mode client

Le mode client est le miroir du mode serveur : au lieu qu'un assistant extérieur interroge vos données, ce sont vos propres agents qui appellent des outils hébergés ailleurs — recherche web, récupération de documents, ou tout ce qu'un serveur MCP externe publie.

Contrairement au mode serveur, celui-ci requiert AI_PROVIDER. Sovrium est ici l'appelant : un modèle doit donc tourner de votre côté pour décider quand un outil vaut la peine d'être invoqué.

Déclarer les serveurs externes

Les serveurs relèvent de l'opérateur, pas du schéma — une URL et un identifiant sont des faits de déploiement. MCP_CLIENT_SERVERS est une liste séparée par des virgules, et l'authentification de chaque entrée est configurée par sa position, indexée à partir de 1, dans cette liste :

MCP_CLIENT_SERVERS=https://search.example.com/mcp,https://docs.example.com/mcp

MCP_AUTH_TYPE_1=bearer
MCP_AUTH_TOKEN_1=sk-...

MCP_AUTH_TYPE_2=header
MCP_AUTH_HEADER_2=X-Api-Key
MCP_AUTH_TOKEN_2=...
Variable Valeurs Signification
MCP_CLIENT_SERVERS URL séparées par des virgules Les serveurs externes. Non définie, le mode client est désactivé.
MCP_AUTH_TYPE_{N} bearer, header, none Comment s'authentifier au serveur N. Vaut none par défaut.
MCP_AUTH_TOKEN_{N} chaîne Le secret envoyé au serveur N.
MCP_AUTH_HEADER_{N} nom d'en-tête Quel en-tête le porte, quand le type vaut header.

Restreindre un agent

Le bloc mcp d'un agent est une liste blanche appliquée au catalogue d'outils découvert. Il répond à « lesquels cet agent peut-il utiliser », pas à « quels serveurs existent ».

agents:
  - name: research-agent
    role: analyst
    systemPrompt: Research topics using approved external tools. Always cite sources.
    tools:
      tables: [findings]
      actions: [record.create, record.read]
    mcp:
      allowedTools: [web-search]
Propriété Effet
mcp.allowedTools Noms d'outils externes que cet agent peut invoquer. Omis, tout le catalogue est permis.

Deux listes blanches entrent alors en jeu et elles ne se recouvrent pas. tools délimite ce que l'agent peut faire à l'intérieur de Sovrium — ses tables et ses actions. mcp.allowedTools délimite ce qu'il peut atteindre à l'extérieur. Un agent peut être en lecture seule en interne et chercher malgré tout sur le web, ou l'inverse.

Inspecter ce qui est disponible

Deux points de terminaison en lecture seule permettent de vérifier le câblage sans solliciter de modèle. Les deux répondent 404 avec { "enabled": false } quand MCP_CLIENT_SERVERS n'est pas définie : « désactivé » se distingue donc de « route absente ».

curl https://votre-app.example.com/api/ai/mcp/client/status
{
  "enabled": true,
  "servers": [
    { "url": "https://search.example.com/mcp", "authType": "bearer", "status": "connecting" }
  ]
}

Les jetons ne sont jamais renvoyés — le résumé porte l'URL, le type d'authentification et le nom d'en-tête, et rien de secret.

curl https://votre-app.example.com/api/ai/mcp/client/tools

Le catalogue d'outils démarre avec web-search et document-fetch, et la véritable découverte par tools/list le remplace dès qu'un serveur configuré est joignable. Ce sont ces noms initiaux qu'une entrée allowedTools doit reprendre aujourd'hui.

Appeler un agent

POST /api/agents/{name}/chat transmet un message au fournisseur avec le catalogue d'outils filtré de cet agent, et renvoie une enveloppe { "reply": … }. L'exécution est délibérément tolérante : si un serveur externe est injoignable ou qu'un appel d'outil échoue, le modèle répond quand même en texte plutôt que de faire échouer la requête. Un agent dépendant d'un serveur instable se dégrade en une réponse moins bonne, pas en une erreur 500.

Pages associées

Dernière mise à jour 27 juillet 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta — les contributions et corrections sont les bienvenues.

Construit avec Sovrium