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

  1. Dans Claude, ouvrez les paramètres des connecteurs et ajoutez un connecteur personnalisé avec l'URL https://mcp.stunden.ch/mcp.
  2. Claude vous redirige vers Stunden. Connectez-vous avec votre compte Stunden.
  3. Si vous appartenez à plusieurs entreprises, choisissez celle à laquelle cet accès s'applique.
  4. Sélectionnez les autorisations à accorder et approuvez. Stunden ne propose que les autorisations que votre rôle permet dans cette entreprise.
  5. 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

  1. Votre client Claude envoie l'appel d'outil avec votre jeton au serveur passerelle mcp.stunden.ch.
  2. La passerelle vérifie le jeton auprès de Stunden et appelle l'API Stunden avec ce même jeton.
  3. Stunden vérifie le jeton, votre appartenance à l'entreprise et l'autorisation, puis répond.
  4. 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.