MCP
vokse embarque un serveur MCP distant : les mêmes outils audités que ceux de l'assistant et de l'application, exposés via le Model Context Protocol. Une URL, OAuth standard, pas de binaires, pas de clés API.
L'endpoint
Tout se passe sur un unique endpoint Streamable HTTP. Rien à télécharger, rien à configurer au-delà de l'URL :
https://api.vokse.ai/mcpClaude (web et bureau) et ChatGPT prennent l'URL comme connecteur personnalisé dans leurs paramètres. Les clients en ligne de commande et les éditeurs l'enregistrent une seule fois :
claude mcp add --transport http vokse https://api.vokse.ai/mcpAutorisation
Le serveur est une ressource protégée OAuth 2.1. Les clients découvrent tout via les métadonnées standard, aucune configuration propre à vokse :
- Le client récupère les métadonnées de la ressource protégée et y trouve le serveur d'autorisation.
- Il s'identifie avec un Client ID Metadata Document (le profil MCP 2026-07-28) ; l'enregistrement dynamique des clients reste disponible en secours.
- Votre navigateur ouvre l'écran de consentement vokse : vous choisissez sur quels foyers le client peut agir, et s'il est en lecture seule ou peut écrire.
- Le client reçoit des jetons d'accès de courte durée liés à l'endpoint MCP. Aucun secret longue durée ne quitte jamais vokse.
curl https://api.vokse.ai/.well-known/oauth-protected-resource/mcpFoyers
Les outils agissent sur un foyer par appel : passez son ULID comme householdId, ou omettez-le quand la connexion couvre exactement un foyer. Appelez d'abord list_households pour voir ce que l'utilisateur a accordé, l'ensemble est vérifié côté serveur à chaque appel et recoupé avec ses appartenances réelles.
Les outils destructifs confirment
Supprimer une transaction, réinitialiser un mois, déplacer de l'argent dans le budget : au lieu d'exécuter, l'outil répond par une action en attente que l'utilisateur doit approuver.
{ "status": "confirmation_required", "tool": "soft_delete_transaction", "pendingActionId": "01JC…", "prompt": "Delete the €42.50 transaction at Migros on 2026-08-12?", "expiresAt": "2026-08-18T18:00:00.000Z", "hint": "Show the prompt to the user. If they approve, call confirm_action with { pendingActionId }; if they decline, call cancel_action."}Montrez l'invite à l'utilisateur. En cas d'accord, appelez confirm_action avec le pendingActionId (idempotent, un confirm répété renvoie le résultat stocké) ; en cas de refus, appelez cancel_action. Les actions en attente expirent d'elles-mêmes.
Révoquer l'accès
Chaque connexion est listée dans Paramètres → MCP, avec son niveau d'accès et ses foyers. La déconnexion supprime l'autorisation et ses jetons ; l'appel suivant de ce client est refusé.