Développeurs

Développez sur Kaption avec MCP

Kaption ouvre WhatsApp aux apps et agents d'IA via un seul serveur MCP. Cette page recense tous les endpoints, documents et dépôts dont vous avez besoin.

Adresse du serveur MCP

https://mcp.kaptionai.com/mcp

L'endpoint

Un serveur MCP distant en Streamable HTTP. Il parle JSON-RPC 2.0 et fonctionne avec tout client MCP qui prend en charge OAuth. Les outils s'exécutent dans l'extension ou l'app de bureau Kaption, sur l'ordinateur de l'utilisateur : Kaption doit donc être ouvert.

Authentification

OAuth 2.1 avec PKCE (S256) et enregistrement dynamique des clients. Il n'y a qu'une seule portée, kaption:access. Les utilisateurs se connectent avec leur numéro de téléphone et un code reçu sur WhatsApp, puis choisissent la durée de la connexion. Les jetons d'accès expirent au bout d'une heure. Les appels sans jeton reçoivent une réponse HTTP 401 avec un en-tête WWW-Authenticate qui pointe vers les métadonnées de la ressource protégée.

Référence

Endpoints et documents

Outils

Outils

Le serveur cloud expose ces outils. Depuis Kaption 0.94, send_message fonctionne sauf si l'utilisateur a désactivé « Autoriser les assistants à envoyer des messages depuis cet ordinateur » dans Kaption pour ce compte WhatsApp ; un assistant ne peut pas modifier ce réglage, et il doit quand même confirmer le texte et le destinataire avec l'utilisateur. Il met en file d'attente un message, avec au plus une pièce jointe de 8 Mio, vers une discussion existante avec une personne ou un groupe éligible, pour la première livraison autorisée, et « en file d'attente » ne prouve pas la livraison. Réglage désactivé, l'IA peut laisser un brouillon ou programmer un message à une personne. Les discussions que l'utilisateur a verrouillées dans WhatsApp ne sont jamais visibles.

  • query
  • list_contacts
  • get_contact
  • get_contact_groups
  • list_groups
  • get_group
  • export_contacts
  • download_media
  • get_analytics
  • summarize_conversation
  • manage_chat
  • manage_reminders
  • manage_lists
  • manage_labels
  • manage_notes
  • manage_scheduled_messages
  • send_message
  • call_recordings
Bon à savoir

Limites

  • Les outils ne fonctionnent que lorsque l'utilisateur a Kaption ouvert : WhatsApp Web avec l'extension, ou l'app de bureau.
  • L'accès est limité en fréquence. L'envoi de messages en masse ou non sollicités est contraire aux conditions.
  • Un message programmé est destiné à une seule personne et fait au maximum 800 caractères.
  • L'envoi depuis cet ordinateur est limité à 8 messages par heure et 20 par jour, plus des limites et des délais pour les groupes, et l'ordinateur et WhatsApp doivent rester ouverts.
Développeurs

Sécurité

Signalez les vulnérabilités en privé à security@kaptionai.com. Merci de ne pas ouvrir d'issue publique.

application/problem+json

Erreurs

Chaque erreur produite par le serveur est un document de problème RFC 9457, servi en application/problem+json, avec type, title, status, detail et un code lisible par machine. Décidez selon code ; detail est destiné aux personnes. Les erreurs ne sont jamais en HTML.

Dans le transport MCP (/mcp et /sse), les erreurs de protocole sont des objets d’erreur JSON-RPC, comme l’exige la spécification MCP, et un outil en échec renvoie un résultat avec isError: true.

StatutCodes
400bad_requestinvalid_jsoninvalid_inputinvalid_content_typeinvalid_phonemissing_credentialsmissing_parametersinvalid_account_idinvalid_connection_idinvalid_authorization_requestinvalid_oauth_stateinvalid_sessionotp_invalidotp_expiredotp_attempts_exceededverification_expiredconnect_code_malformedconnect_code_expired
401unauthorizedauthentication_requiredinvalid_tokenmissing_bearer_tokeninvalid_credentials
403forbidden
404not_foundnot_configuredreviewer_not_configured
405method_not_allowed
406not_acceptable
409conflict
410gone
413payload_too_large
415unsupported_media_type
422unprocessable_content
426upgrade_required
429rate_limited
500internal_errorotp_send_failedauthorization_failed
501not_implemented
502bad_gatewayupstream_errorhandshake_unavailable
503service_unavailable
504gateway_timeout
429 · Retry-After

Limites d’utilisation

Les requêtes limitées reçoivent 429 avec un en-tête Retry-After (secondes) et le code rate_limited. Les réponses comptées portent RateLimit-Limit, RateLimit-Remaining et RateLimit-Reset (secondes) pour la politique la plus proche de l’épuisement, et RateLimit-Policy liste toutes celles qui s’appliquent.

PolitiqueLimiteFenêtreCompté sur
otp-send-account5060 min (fixe)/authorize/send-otp, /ext-auth/send-otp
otp-send-ip10060 min (fixe)/authorize/send-otp, /ext-auth/send-otp, /authorize/resend-otp
otp-resend-account310 min (fixe)/authorize/resend-otp
connect-code-redeem-ip2010 min (repart à chaque tentative)/connect/remember, /authorize/connect-code
connect-code-start-account1060 min (repart à chaque tentative)/ext/connect-code/start
reviewer-login-ip1015 min (repart à chaque tentative)/authorize/reviewer-login

Les appels d’outils ont un quota fixé par le forfait Kaption (https://kaptionai.com/fr/pricing/). Au-delà, l’appel reçoit une erreur d’outil MCP avec un lien vers les tarifs ; la connexion reste ouverte et ce n’est pas un HTTP 429. Lister les outils, se connecter et les appels en échec ne comptent pas. L’envoi massif ou non sollicité reste interdit par les conditions, et l’accès peut être suspendu pour protéger le service.

Deprecation · Sunset

Politique de dépréciation

  • Les changements incompatibles du point d’accès MCP, de son contrat HTTP ou d’un outil sont annoncés sur cette page au moins 90 jours avant leur entrée en vigueur.
  • Les réponses concernées portent alors un en-tête Deprecation (RFC 9745), un en-tête Sunset (RFC 8594) avec la date d’arrêt, et un Link rel="deprecation" vers les notes de migration.
  • Ajouter des outils, des champs facultatifs ou des codes d’erreur n’est pas un changement incompatible.

Questions

Existe-t-il une API REST ?

L'interface publique de Kaption est le serveur MCP. Le fichier OpenAPI décrit cet endpoint HTTP pour que les outils qui lisent OpenAPI puissent le trouver ; les opérations elles-mêmes sont des outils MCP appelés via JSON-RPC.

Puis-je lister les outils sans me connecter ?

Non. Chaque appel, y compris initialize et tools/list, nécessite un jeton. Les noms des outils figurent sur cette page et dans la fiche serveur.

Quels clients sont compatibles ?

Claude, ChatGPT, Cursor et les autres clients qui prennent en charge les serveurs MCP distants avec OAuth. Les clients qui exécutent des serveurs locaux peuvent utiliser le paquet npm.

Transcrivez un audio maintenant