Docs / MCP server - Stable

Reference des tools MCP Knowledge

Chaque tool exposé par le serveur MCP Knowledge, avec paramètres, forme de retour, et usage typique.

Le serveur MCP Knowledge expose huit tools. Chacun wrappe un endpoint de l'API Knowledge. Cette page décrit ce que chaque tool fait, les arguments qu'il accepte, et ce qu'il retourne.

Pour wire le serveur dans votre MCP host, voir Quickstart : Knowledge comme serveur MCP.


knowledge_query

Chercher des rules dans le tenant de l'appelant par texte libre.

Paramètres

NomTypeRequisNotes
querystringouiTermes de recherche libres.
policy_idstringnonRestreindre à une seule Policy.
entry_typestringnonSeul "rule" est significatif aujourd'hui.

Retour - liste formatée de résultats avec entry type, titre, snippet, auteur, date. String vide si aucun résultat.

Usage typique - l'agent demande "que sait le tenant sur les limites de refund ?" avant de proposer une action.


knowledge_check

Verdict sur une action envisagée contre les targets autorisés de l'appelant.

Paramètres

NomTypeRequisNotes
intended_actionstringouiDescription libre de ce que l'appelant veut faire.
scopeobjectnonDimensions de scope structurées (jurisdiction, asset_class, client_classification, ...). Les rules dont la scope key ne match pas sont skippées.
metricsobjectnonFaits runtime que les rules évaluent : nombres (thresholds), booléens (attestations), strings (ids, timestamps). Tout ce sur quoi une rule peut gater qui n'est pas une scope dim va ici.

Retour - bloc verdict :

Verdict: BLOCK | ALLOW | REQUIRE_APPROVAL | WARN
Consultation: cns-...

Cited rules (N, winning severity):
  [severity] rule_id
    statement
    Rationale: ...

Plus une ligne récap si d'autres rules ont fired à severity plus basse (precedence trace).

Usage typique - l'agent demande "j'ai le droit de faire X dans ce scope avec ces metrics ?" et branche sur l'effect retourné.


knowledge_resolve

Verdict à deux étages, context-progressive. L'agent envoie ce qu'il sait ; le moteur soit retourne un verdict, soit liste les champs manquants que l'agent doit acquérir avant de re-invoquer.

Paramètres

NomTypeRequisNotes
action_typestringouiL'opération évaluée (ex. refund_request, trade_execution). Utilisé pour résoudre le target applicable.
contextobjectnonFaits connus comme {field_name: value_or_fact}. Les scalaires nus sont auto-wrappés en user-asserted facts. Les fact dicts complets passent tels quels : {"value": X, "source": "CRM", "verification_status": "verified"}.
correlationobjectnonIDs externes pour corréler cet appel à une conversation, un run d'agent, une interaction. Stocké sur la Consultation, non interprété.

Retour - une des deux formes :

  • INCOMPLETE : liste des champs requis avec type, reason, allowed_values / range / source_requirement / acceptable sources.
  • COMPLETE : verdict + dominating rule + cited rules + normative_hash + consultation id.

Usage typique - agents conversationnels qui construisent le contexte tour par tour. Voir Résolution progressive de contexte.


knowledge_request_approval

Soumettre une demande d'approbation humaine pour une action qu'un check a flagée.

Paramètres

NomTypeRequisNotes
intended_actionstringouiRésumé natural-language court pour le compliance officer.
justificationstringouiLa prose que l'officer lit pour décider approve ou refuse. Doit parler spécifiquement aux rules qui bloquent le contexte.
contextobjectouiLe MÊME context (scope + metrics) qui a produit le verdict block de knowledge_check. Le backend re-run le check pour dériver les rules couvertes.
requested_bystringnonprincipal_id sous lequel la demande est filée. Fall back au requester par défaut du tenant si omis.
requested_by_typestringnon"human" / "agent" / "system". Défaut : le type configuré du tenant.

Retour - approval_request_id, status, et la liste des rule_ids que le backend a attachés comme triggers. Vérifiez que la trigger list match ce que knowledge_check a retourné - un mismatch veut dire que le contexte passé ici diffère du contexte checké.

Usage typique - l'agent hit require_approval sur knowledge_check, rédige une justification, soumet, puis polle.

Pourquoi re-passer context, pas triggers : un seul code path répond à "qu'est-ce qui bloque ce contexte ?" pour le read (check) et le write (approval). Empêche les blockers "wave 2" cachés derrière la dominating severity de surfacer après approbation.


knowledge_get_approval_status

Poll une demande d'approbation.

Paramètres

NomTypeRequisNotes
approval_request_idstringouiL'id retourné par knowledge_request_approval.

Retour - status, requester, action summary, plus décideur + timestamp de décision + override_id résultant + commentaire de décision une fois résolu.

Usage typique - l'agent polle jusqu'à ce que le status flip de pending à approved / refused, puis procède en conséquence.


knowledge_create_rule

Créer une nouvelle Rule sous une Policy existante. Requiert write access sur le tenant.

Paramètres

NomTypeRequisNotes
policy_idstringouiLa Policy à laquelle la rule appartient.
statementstringouiTexte directif - ce que dit la rule.
authorstringouiNom de l'auteur.
severitystringnonabsolute_ban / hard_block / require_approval / informative / allow. Défaut hard_block.
effectstringnonblock / allow / require_approval / warn. Défaut block.
priorityintegernonPlus haut gagne les égalités. Défaut 50.
rowsstring (JSON)nonBody decision-table multi-row. Chaque row : {"position", "scope", "condition?", "output?"}.
scopestring (JSON)nonCommodité pour rule single-row. Ignoré si rows est set.
conditionstring (JSON)nonCommodité pour rule single-row. Ignoré si rows est set.
rationalestringnonMotivation plain-text.
derogation_allowedbooleannonSi un Override peut lifter cette rule. Défaut true.

Retour - rule_id, severity, récap du nombre de rows, et le statement.

Usage typique - flow d'authoring où l'LLM propose une rule et l'humain approuve. Rare depuis un runtime agent.


knowledge_list_rules

Énumérer les rules actives d'une Policy.

Paramètres

NomTypeRequisNotes
policy_idstringouiPolicy à lister.

Retour - liste formatée de rule_id + severity + statement.

Usage typique - l'agent inspecte une Policy existante avant de proposer un amendement.


knowledge_create_override

Accorder une exception scope-bounded sur une ou plusieurs Rules pour une audience spécifique.

Paramètres

NomTypeRequisNotes
targetslistouiListe d'objets {"target_id", "target_type"}.
justificationstringouiAudit trail expliquant l'exception.
approved_bystringouiNom de l'approver.
audience_typestringnon"individual" (liste de principals) ou "domain" (domain entier). Défaut "individual".
audience_principal_idslistnonPrincipals pour audience individual.
audience_domain_idstringnonDomain id pour audience domain.
expires_atstringnonTimestamp ISO où l'override cesse de s'appliquer.
conditionsstringnonDescription libre du gate.

Retour - override_id, count des targets, audience type.

Usage typique - une fois qu'une approval est accordée, l'Override résultant est créé ici (typiquement par le code back-office, pas par l'agent).


Auth et configuration

Le serveur MCP appelle Knowledge avec une clé API service-level positionnée en KNOWLEDGE_API_KEY au startup. Chaque tool call passe par cette clé. Pas d'impersonation caller-identity par appel aujourd'hui.

Pour le transport remote (streamable-http), le MCP host s'authentifie au serveur lui-même avec soit un bearer statique (MCP_ACCESS_TOKEN), soit OAuth 2.1. Voir Quickstart : Knowledge comme serveur MCP pour les détails de wiring.