Documentation
Connecteur MCP Stunden
Cette page décrit le connecteur entre Stunden et Claude : ce qu'il permet, comment le connecter, quelles données il traite et comment mettre fin à l'accès.
Ce que fait le connecteur
Le connecteur donne à Claude accès à une entreprise Stunden via le Model Context Protocol (MCP). Il expose 104 outils. Selon les autorisations accordées, Claude peut lire des données et créer ou modifier des enregistrements, par exemple créer une facture ou saisir des heures. Les modifications effectuées par un outil prennent effet immédiatement dans Stunden.
| URL du serveur | https://mcp.stunden.ch/mcp |
|---|---|
| Transport | Streamable HTTP |
| Authentification | Flux OAuth 2.0 authorization code avec PKCE (S256), scope mcp:tools |
| Portée de l'accès | Une entreprise Stunden par connexion |
| Prérequis | Un compte Stunden membre de l'entreprise et un client Claude capable d'ajouter un connecteur MCP distant |
Connecter dans Claude
- Dans Claude, ouvrez les paramètres des connecteurs et ajoutez un connecteur personnalisé avec l'URL https://mcp.stunden.ch/mcp.
- Claude vous redirige vers Stunden. Connectez-vous avec votre compte Stunden.
- Si vous appartenez à plusieurs entreprises, choisissez celle à laquelle cet accès s'applique.
- Sélectionnez les autorisations à accorder et approuvez. Stunden ne propose que les autorisations que votre rôle permet dans cette entreprise.
- Stunden vous renvoie vers Claude et les outils sont prêts à l'emploi.
Chaque personne dispose d'un jeton de connecteur par entreprise. Une nouvelle connexion pour la même entreprise remplace son secret et ses autorisations : le jeton précédent cesse de fonctionner.
Autorisations
Vous choisissez les autorisations sur la page de consentement de Stunden. Un outil ne fonctionne que si le jeton possède l'autorisation correspondante. Sans elle, l'outil reste visible dans Claude et répond par une erreur.
Stunden vérifie votre appartenance à l'entreprise à chaque requête API, et les autorisations par rapport à votre rôle actuel à chaque renouvellement du jeton. Les autorisations que votre rôle ne permet plus sont retirées du jeton. S'il n'en reste aucune, le jeton est supprimé.
Les modules sous licence nécessitent aussi une licence active dans l'entreprise. N'accordez que ce que Claude doit utiliser : pour les rapports, les autorisations de lecture suffisent.
Facturation (licence : Facturation)
| Autorisation | Accès |
|---|---|
| Lire les clients et les adresses, rechercher dans le registre du commerce suisse | Lecture |
| Créer et modifier des clients | Écriture |
| Lire les factures, les statuts et les PDF | Lecture |
| Créer, modifier et envoyer des factures | Écriture |
| Lire les notes de crédit et les PDF | Lecture |
| Lire les rappels et les PDF | Lecture |
| Lire les offres et les PDF | Lecture |
| Créer, modifier et envoyer des offres | Écriture |
| Lire les produits et les catégories | Lecture |
| Créer et modifier des produits | Écriture |
| Lire la valorisation de l'inventaire | Lecture |
| Lire les écritures de TVA | Lecture |
| Lire les heures et les frais non facturés | Lecture |
Factures récurrentes (licence : Factures par abonnement)
| Autorisation | Accès |
|---|---|
| Lire les factures récurrentes | Lecture |
| Créer, modifier, suspendre et reprendre des factures récurrentes | Écriture |
Dépenses (licence : Gestion des dépenses)
| Autorisation | Accès |
|---|---|
| Lire les dépenses, les justificatifs et les catégories | Lecture |
| Créer des dépenses | Écriture |
| Lire les factures fournisseurs | Lecture |
Projets (licence : Projets)
| Autorisation | Accès |
|---|---|
| Lire les projets | Lecture |
| Créer et modifier des projets | Écriture |
| Lire les tâches | Lecture |
| Créer et modifier des tâches | Écriture |
Suivi du temps (licence : Suivi du temps)
| Autorisation | Accès |
|---|---|
| Lire les saisies de temps | Lecture |
| Créer des saisies de temps | Écriture |
Planification des horaires (licence : Planification des horaires)
| Autorisation | Accès |
|---|---|
| Lire les horaires | Lecture |
| Créer des horaires | Écriture |
Congés et absences (licence : Congés et absences)
| Autorisation | Accès |
|---|---|
| Lire les demandes de congé et les soldes de vacances | Lecture |
| Créer, approuver, refuser, retirer et annuler des demandes de congé | Écriture |
| Lire les arrêts maladie | Lecture |
| Créer et clôturer des arrêts maladie | Écriture |
Inventaire (licence : Inventaire)
| Autorisation | Accès |
|---|---|
| Lire l'inventaire et les attributions | Lecture |
| Créer, modifier, attribuer et supprimer des éléments d'inventaire | Écriture |
Plateforme (aucune licence requise)
| Autorisation | Accès |
|---|---|
| Lire les données des employés, y compris le numéro AVS, la date de naissance et l'adresse | Lecture |
| Créer et modifier des employés (l'IBAN, le numéro AVS et le mot de passe ne peuvent pas être définis) | Écriture |
| Lire les analyses et les rapports | Lecture |
| Lire les pages du wiki | Lecture |
| Créer, modifier et supprimer des pages du wiki | Écriture |
| Lire les abonnements webhook (utilisée par aucun outil du connecteur) | Lecture |
| Créer et supprimer des abonnements webhook (utilisée par aucun outil du connecteur) | Écriture |
| Lire les articles du centre d'aide | Lecture |
Paie (licence : Paie)
| Autorisation | Accès |
|---|---|
| Lire les paies clôturées et les fiches de salaire | Lecture |
| Calculer la paie (utilisée par aucun outil du connecteur) | Écriture |
Caisse (licence : Caisse)
| Autorisation | Accès |
|---|---|
| Lire les transactions POS, les clôtures journalières, les tickets et les caisses | Lecture |
Outils
Chaque outil porte des annotations MCP qui le signalent comme lecture seule, écriture ou destructif. L'usage qu'en fait un client, par exemple pour demander une confirmation avant l'exécution, dépend du client.
| Domaine | Outils |
|---|---|
| Compte et centre d'aide (4) | whoami, list_kb_categories, search_kb_articles, get_kb_article |
| Clients (5) | list_clients, get_client, create_client, update_client, search_company |
| Factures et prestations non facturées (9) | list_invoices, list_open_invoices, get_invoice, get_invoice_pdf, create_invoice, update_invoice, send_invoice, get_unbilled_overview, get_unbilled_by_client |
| Factures récurrentes (6) | list_recurring_invoices, get_recurring_invoice, create_recurring_invoice, update_recurring_invoice, pause_recurring_invoice, resume_recurring_invoice |
| Offres (6) | list_offers, get_offer, get_offer_pdf, create_offer, update_offer, send_offer |
| Notes de crédit et rappels (5) | list_credit_notes, get_credit_note, get_credit_note_pdf, list_dunning, get_dunning_pdf |
| Produits (5) | list_products, get_product, list_product_categories, create_product, update_product |
| Dépenses et factures fournisseurs (6) | list_expenses, get_expense, get_expense_receipt, list_expense_categories, create_expense, list_payables |
| TVA (1) | list_vat_entries |
| Employés (4) | list_employees, get_employee, create_employee, update_employee |
| Projets et tâches (9) | list_projects, get_project, create_project, update_project, add_project_member, remove_project_member, list_tasks, create_task, update_task |
| Saisie du temps (5) | list_time_entries, create_time_entry, create_time_entries, update_time_entry, get_missing_time |
| Congés et maladie (11) | list_leave_requests, list_absence_types, get_vacation_balance, get_vacation_history, create_leave_request, approve_leave_request, withdraw_leave_request, request_leave_cancellation, list_sick_leaves, create_sick_leave, close_sick_leave |
| Horaires (2) | list_shifts, create_shift |
| Salaires (2) | list_completed_payrolls, get_payslips |
| Point de vente (3) | list_pos_transactions, list_pos_checks, list_cash_registers |
| Inventaire (9) | list_assets, get_asset, create_asset, update_asset, delete_asset, assign_asset, unassign_asset, change_asset_status, get_inventory_valuation |
| Wiki (5) | list_wiki_pages, get_wiki_page, create_wiki_page, update_wiki_page, delete_wiki_page |
| Analyses (7) | get_business_health, get_employee_productivity, get_revenue_summary, get_project_profitability, get_utilization_report, get_overdue_overview, get_time_report |
Ces outils ont un effet irréversible : des données sont supprimées, un e-mail quitte le système ou une intégration externe doit ensuite être adaptée.
send_invoice, send_offer, delete_asset, delete_wiki_page, remove_project_member
Exemples de requêtes
- Donne-moi une vue d'ensemble de mon entreprise.
- Montre-moi toutes les factures impayées.
- Crée une facture pour Müller AG : 10 heures de conseil à CHF 180.
- Quels projets sont rentables cette année ?
- Quelle est la charge de mon équipe ce mois-ci ?
- Crée une tâche pour Tom : terminer la refonte du logo d'ici vendredi.
- Saisis 3 heures sur le projet Alpha pour aujourd'hui.
- Sarah est-elle en congé la semaine prochaine ?
Flux de données et journalisation
- Votre client Claude envoie l'appel d'outil avec votre jeton au serveur passerelle mcp.stunden.ch.
- La passerelle vérifie le jeton auprès de Stunden et appelle l'API Stunden avec ce même jeton.
- Stunden vérifie le jeton, votre appartenance à l'entreprise et l'autorisation, puis répond.
- La passerelle retire quelques champs internes et renvoie le résultat à votre client Claude.
Les résultats des outils quittent Stunden. Ils sont transmis au client Claude de la personne qui a établi la connexion, donc à Anthropic aux États-Unis, qui les traite selon le compte Claude et les conditions de cette personne. Stunden n'a aucune influence sur ce traitement. Ne partez pas du principe qu'il a lieu en Suisse.
Les résultats peuvent contenir des données personnelles. get_employee renvoie le dossier complet d'une personne, y compris le numéro AVS, la date de naissance et l'adresse, ainsi que les données salariales et fiscales si votre rôle y a accès. list_employees renvoie un dossier réduit. Les IBAN ne font pas partie de l'API des employés. N'accordez les autorisations relatives aux employés et aux salaires que si ces données peuvent être transmises à Claude.
La passerelle n'a pas de base de données. Elle ne conserve ni jetons ni résultats d'outils et traite chaque requête avec une nouvelle instance de serveur.
Ce que la passerelle journalise
La passerelle écrit les entrées suivantes dans son journal de service :
| Événement | Journalisé |
|---|---|
| Appel d'outil réussi | Aucune entrée. |
| Appel d'outil échoué | Nom de l'outil et texte de l'erreur. Les arguments de l'outil ne sont pas journalisés en tant que tels, mais le texte de l'erreur peut reprendre des détails de validation. |
| Appel à l'API Stunden refusé ou échoué | En plus, l'URL de la requête, le statut HTTP et les 1000 premiers caractères de la réponse. L'URL contient le chemin et la chaîne de requête : les identifiants et valeurs de filtre d'une lecture échouée apparaissent donc dans le journal, et la réponse peut contenir des données d'entreprise. |
| Erreur inattendue dans la passerelle | Le message d'erreur avec des détails techniques. |
| Connexion et vérification du jeton | Le numéro d'enregistrement du jeton et, en cas d'échec, le statut HTTP et la réponse de Stunden. Le secret du jeton n'est jamais journalisé. |
Cela décrit la journalisation applicative de la passerelle. Les journaux d'accès des serveurs web placés devant elle ne sont pas couverts ici. Stunden journalise lui-même les paramètres techniques de chaque requête OAuth, comme l'identifiant client et l'URL de redirection, mais ni jetons ni codes d'autorisation.
Durée de vie des jetons
| Code d'autorisation | Valable 10 minutes, à usage unique. |
|---|---|
| Jeton d'accès | Valable un an. Chaque renouvellement émet un nouveau jeton pour un an ; un jeton expiré ne fonctionne plus. |
| Jeton de renouvellement | Valable 30 jours et remplacé à chaque utilisation. Chaque renouvellement émet aussi un nouveau jeton d'accès et supprime l'ancien. |
| Départ d'une entreprise | Lorsqu'une personne quitte une entreprise ou est archivée, ses jetons pour cette entreprise sont supprimés. |
Révoquer l'accès
- Vos propres connexions : dans Stunden, ouvrez Moi > Mes connexions et révoquez la connexion.
- Administrateurs : Organisation > Intégrations liste tous les jetons API de l'entreprise, et toute personne disposant de l'autorisation organization.manage peut les révoquer.
- Clients : le point de terminaison de révocation OAuth accepte le jeton d'accès ou le jeton de renouvellement.
La révocation supprime le jeton. La passerelle vérifie le jeton à chaque requête : l'appel d'outil suivant échoue et le jeton de renouvellement est également refusé. Pour réutiliser le connecteur, connectez-le de nouveau.
Supprimer le connecteur dans Claude ne change que Claude. Pour être certain que l'accès a pris fin, révoquez aussi la connexion dans Stunden.
Dépannage
| Problème | Solution |
|---|---|
| Un outil échoue avec une erreur d'autorisation | Le jeton n'a pas l'autorisation. Connectez-vous de nouveau et sélectionnez-la. Si elle n'est pas proposée, votre rôle ne la permet pas, ou il s'agit d'un des outils listés sous Outils dont la page de consentement ne propose pas l'autorisation. |
| This endpoint requires a license for: … | L'entreprise ou votre utilisateur n'a pas de licence pour ce module. Un administrateur peut l'attribuer dans Stunden. |
| Your membership in this business has ended | La personne qui a établi la connexion n'appartient plus à l'entreprise. Connectez-vous avec un compte actif. |
| Claude demande une nouvelle connexion | Le jeton a été révoqué, remplacé ou supprimé, ou le jeton de renouvellement a expiré après 30 jours sans utilisation. Connectez-vous de nouveau. |
| La page de consentement affiche peu d'autorisations | Seules les autorisations que votre rôle permet dans l'entreprise sélectionnée sont affichées. Demandez à un administrateur d'adapter votre rôle, ou faites établir la connexion par une personne ayant le bon rôle. |
| Claude travaille dans la mauvaise entreprise | Une connexion s'applique à une seule entreprise. Connectez-vous de nouveau et choisissez l'autre entreprise. |
| La page de consentement répond invalid_client ou invalid_request | Le client n'est pas enregistré auprès de Stunden. Les connexions fonctionnent depuis les clients dont l'URL de redirection est enregistrée, comme claude.ai. |
Support
Pour toute question sur le connecteur, contactez le support Stunden. Indiquez-nous le nom de l'outil et l'heure de l'erreur. N'envoyez jamais votre jeton.
- E-mail: [email protected]
- Téléphone: +41 31 511 51 71
- Page de contact
- Politique de confidentialité