Serveur MCP pour agents IA
POST /mcp est un serveur Model Context Protocol sans état —
du JSON-RPC 2.0 simple sur HTTP, une requête, une réponse, rien mémorisé
entre les appels. Un agent obtient exactement la même validation
déterministe, schématron uniquement, que l'API REST — jamais une version
plus souple ou « plus intelligente » : aucune IA/LLM ne s'exécute à
l'intérieur de FactureCheck lui-même, ici ou ailleurs.
Outils
- validate_invoice — valider une facture UBL, CII, ou un PDF hybride Factur-X/ZUGFeRD. Lecture seule.
- explain_rule — rechercher un code de règle (par ex.
BR-CO-15) dans la taxonomie : explication en langage clair, cause probable, comment corriger. - repair_invoice — réparation structurelle prudente (voir ce qui est corrigé, ce qui ne l'est jamais) plus revalidation.
- validate_batch — valider toutes les factures d'un ZIP en un seul appel (limites : 10 Mo de ZIP / 200 fichiers / 50 Mo au total / 20 Mo par fichier décompressé).
- verify_report — confirmer si un hash de rapport a réellement été émis par ce service (voir preuve d'émission).
- lookup_lifecycle_status — rechercher un code de statut de cycle de vie AFNOR XP Z12-012 français, en vérifiant éventuellement qu'une transition depuis un code précédent est documentée (voir codes de statuts).
Authentification et quota
Chaque appel exige un en-tête X-Api-Key — il n'y a pas de
repli anonyme sur ce point d'entrée, contrairement au chemin public
/api/v1/validate. validate_invoice et
validate_batch consomment le même quota mensuel que leurs
équivalents REST (GET /api/usage indique ce qu'il en reste) ;
repair_invoice, verify_report,
explain_rule et lookup_lifecycle_status n'en
consomment pas.
Connecter un client
Exemple d'appel tools/list :
curl -X POST https://facturecheck.eu/mcp \
-H "Content-Type: application/json" \
-H "X-Api-Key: VOTRE_CLE_API" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Exemple d'entrée de serveur distant pour un client compatible MCP :
{
"mcpServers": {
"facturecheck": {
"url": "https://facturecheck.eu/mcp",
"headers": { "X-Api-Key": "VOTRE_CLE_API" }
}
}
}