> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lobbystack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gérer votre réceptionniste depuis un assistant IA

> Connectez Claude, ChatGPT et d'autres clients MCP à LobbyStack pour consulter les appels, réserver des rendez-vous et mettre à jour ce que sait votre réceptionniste.

LobbyStack exploite un serveur Model Context Protocol (MCP). Connectez-y un assistant IA et posez vos questions en langage courant : « Qui a appelé hier sans réserver ? », « Réserve un nettoyage pour Dana Whitfield mardi matin » ou « Désormais, ferme le samedi ».

L'assistant suit les mêmes règles que l'[API REST](/fr/api/overview). Il voit une seule entreprise, il ne peut faire que ce que sa clé API autorise, et chaque modification qu'il fait est inscrite dans le journal d'audit de l'entreprise.

## Se connecter

| Paramètre | Valeur |
| - | - |
| URL du serveur | `https://app.lobbystack.com/api/mcp` |
| Transport | Streamable HTTP |
| Authentification | Connexion avec LobbyStack (OAuth), ou `Authorization: Bearer <API key>` |

Les déploiements auto-hébergés servent le même chemin sur leur propre domaine, par exemple `https://lobbystack.example.com/api/mcp`.

Les assistants se connectent de deux façons :

* **Connexion avec LobbyStack.** Ajoutez l'URL du serveur à l'assistant. Il ouvre une page LobbyStack où vous vous connectez, choisissez l'entreprise et décidez de ce que l'assistant peut faire. Utilisez cette méthode pour les connecteurs Claude et ChatGPT.
* **Clé API.** Créez une clé dans **Réglages** > **Clés API** et ajoutez-la à la configuration de l'assistant. Utilisez cette méthode pour les scripts, l'intégration continue et les clients qui permettent de définir des en-têtes de requête. Consultez [Authentification](/fr/api/authentication).

Suivez le guide pour [Claude](/fr/ai/connect-claude), [ChatGPT](/fr/ai/connect-chatgpt) ou [un autre client MCP](/fr/ai/connect-other-clients).

## Connexion avec LobbyStack

LobbyStack exploite un serveur d'autorisation OAuth 2.1 pour les clients MCP, comme le décrit la [spécification d'autorisation MCP](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization). Votre assistant le trouve seul à partir de l'URL du serveur.

Lors de la connexion, LobbyStack vous demande de :

1. Vous connecter, si ce n'est pas déjà fait.
2. Choisir l'entreprise. Vous ne voyez que les entreprises dont vous êtes propriétaire ou administrateur.
3. Choisir ce que l'assistant peut faire. Chaque autorisation qu'il a demandée est cochée au départ ; décochez celles que vous ne voulez pas accorder.

L'assistant obtient alors l'accès à cette seule entreprise. Les jetons d'accès durent une heure, et l'assistant les renouvelle sans vous redemander votre accord tant que la période d'inactivité ne dépasse pas 30 jours. Chaque renouvellement remplace le jeton d'actualisation précédent, et la réutilisation d'un ancien jeton met fin à la connexion.

Les propriétaires et les administrateurs voient tous les assistants connectés à l'entreprise dans **Réglages** > **Applications connectées**, avec la personne qui les a connectés, leurs autorisations et la date de leur dernière requête. Cliquez sur **Déconnecter** pour couper l'accès immédiatement. Si la personne qui a connecté l'assistant n'est plus propriétaire ou administrateur, la connexion cesse aussi de fonctionner.

<Accordion title="Détails pour les développeurs de clients MCP">
  | Élément | Valeur |
  | - | - |
  | Métadonnées de la ressource protégée | `/.well-known/oauth-protected-resource/api/mcp` |
  | Émetteur du serveur d'autorisation | `https://app.lobbystack.com/api/auth` |
  | Métadonnées du serveur d'autorisation | `/.well-known/oauth-authorization-server/api/auth` |
  | Enregistrement du client | Client ID Metadata Documents (`client_id` en HTTPS) ou enregistrement dynamique du client à `/api/auth/oauth2/register` |
  | Types d'autorisation | `authorization_code` avec PKCE (`S256`, obligatoire), `refresh_token` |
  | Indicateur de ressource | Envoyez `resource=https://app.lobbystack.com/api/mcp`. Les jetons destinés à d'autres ressources sont refusés. |
  | Portées | Les portées des outils du tableau ci-dessous, plus `offline_access` pour les jetons d'actualisation |
  | Révocation | `/api/auth/oauth2/revoke` (RFC 7009) |

  Une réponse `401` de `/api/mcp` contient `WWW-Authenticate: Bearer resource_metadata="..."`. Les clients dont l'URI de redirection est une adresse de bouclage, comme `http://127.0.0.1:6276/callback`, s'enregistrent comme applications natives ; les autres URI de redirection doivent utiliser HTTPS.
</Accordion>

## Outils

| Outil | Portée | Ce qu'il fait |
| - | - | - |
| `get_business` | `business:read` | Nom de l'entreprise, fuseau horaire, heures d'ouverture et mode de réservation |
| `list_services` | `business:read` | Services que les clients peuvent réserver |
| `list_staff` | `business:read` | Personnes qui prennent des rendez-vous et services qu'elles offrent |
| `update_business_hours` | `business:write` | Remplace les heures d'ouverture de la semaine |
| `list_calls` | `calls:read` | Appels, du plus récent au plus ancien, filtrés par heure de début |
| `get_call` | `calls:read` | Un appel avec sa transcription |
| `search_contacts` | `contacts:read` | Contacts par téléphone, courriel ou partie du nom |
| `get_contact` | `contacts:read` | Un contact |
| `create_contact` | `contacts:write` | Ajoute un contact |
| `update_contact` | `contacts:write` | Modifie les coordonnées d'un contact |
| `list_appointments` | `appointments:read` | Rendez-vous filtrés par statut, heure de début ou contact |
| `get_appointment` | `appointments:read` | Un rendez-vous |
| `check_availability` | `appointments:read` | Créneaux libres pour un service, sur 7 jours au plus, pour n'importe quel membre du personnel ou pour un seul |
| `book_appointment` | `appointments:write` | Réserve un créneau libre |
| `cancel_appointment` | `appointments:write` | Annule un rendez-vous |
| `reschedule_appointment` | `appointments:write` | Déplace un rendez-vous vers un autre créneau libre ou un autre membre du personnel |
| `list_messages` | `messages:read` | Messages que le réceptionniste a pris pour votre équipe |
| `add_knowledge` | `knowledge:write` | Ajoute une FAQ ou un texte que le réceptionniste peut utiliser |

Les portées sont les mêmes pour OAuth et pour les clés API. Les outils renvoient les mêmes objets que l'API REST, avec les heures en UTC. Les outils en lecture seule portent l'annotation `readOnlyHint`, et les outils qui annulent, déplacent ou remplacent des données portent `destructiveHint`, pour que votre assistant puisse vous demander votre accord avant de les exécuter.

La portée `webhooks:manage` n'a aucun outil MCP. Une clé qui n'a que cette portée ne peut pas se connecter.

## Mode de réservation

`book_appointment` et `reschedule_appointment` ne fonctionnent que si **Prise de rendez-vous** est réglé sur **Réserve les rendez-vous** (`booking_mode` `instant`). Dans les autres modes, ils renvoient une erreur au lieu de réserver :

| Réglage | `booking_mode` | Code d'erreur | Ce que l'assistant doit faire |
| - | - | - | - |
| **Prend les demandes** | `request` | `booking_requires_confirmation` | Vous indiquer que votre équipe confirme les demandes depuis la boîte de réception |
| **Ne réserve pas** | `off` | `booking_disabled` | Vous indiquer que la réservation est désactivée |

Vous modifiez ce réglage dans **Agent** > **Paramètres IA** > **Rendez-vous**. L'annulation fonctionne dans tous les modes.

## Erreurs

Un appel d'outil qui échoue renvoie un résultat marqué comme erreur. Son texte est du JSON avec les mêmes codes que l'[API REST](/fr/api/requests) :

```json theme={null}
{ "error": { "code": "slot_unavailable", "message": "That time is not available. Pick another time from GET /availability." } }
```

Le serveur lui-même répond `401` quand la clé ou le jeton d'accès est absent, inconnu, expiré ou révoqué, et `403` quand il n'a aucune des portées utilisées par le serveur MCP.

## Limites et nouvelles tentatives

Chaque appel d'outil compte dans une limite de 120 requêtes par minute. Une clé API partage sa limite avec les requêtes REST faites avec la même clé ; chaque connexion OAuth a sa propre limite. Lister les outils ne compte pas. Au-delà de la limite, l'outil renvoie `rate_limited` avec le nombre de secondes à attendre.

`book_appointment`, `create_contact` et `add_knowledge` acceptent un `idempotency_key` facultatif. Si vous réessayez avec la même valeur dans les 24 heures, vous obtenez le premier résultat au lieu d'un doublon. Ces clés sont les mêmes que l'en-tête REST `Idempotency-Key` pour `POST /appointments`, `POST /contacts` et `POST /knowledge` : une nouvelle tentative par MCP d'une requête REST, ou l'inverse, renvoie le premier résultat. La même clé avec des détails différents renvoie `idempotency_key_reused`.

## Journal d'audit

LobbyStack inscrit chaque modification faite par le serveur MCP dans le journal d'audit de l'entreprise, avec l'acteur `mcp` et l'identifiant de la clé API ou, pour OAuth, l'identifiant de la connexion et la personne qui l'a approuvée. Il n'enregistre jamais les clés ni les jetons. Pour couper l'accès d'un assistant, déconnectez-le dans **Réglages** > **Applications connectées** ou révoquez sa clé dans **Réglages** > **Clés API**.

## Guide pour les agents IA

Le [skill LobbyStack](/ai/lobbystack-skill) explique les outils, les flux de travail courants et la gestion des erreurs sous une forme que vous pouvez donner à un agent comme instructions.
