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

# MCP : piloter votre boutique avec un agent IA

> Connectez Claude ou tout client MCP à votre boutique : 30 outils, permissions une par une, jeton révocable.

Le **Model Context Protocol (MCP)** permet à un assistant IA de lire et d'agir sur votre boutique avec les outils que vous lui accordez, et uniquement ceux-là. Pulse-Sell expose un serveur MCP : vous créez une **connexion**, vous cochez ses permissions, vous collez le jeton dans votre client.

> [!NOTE]
>
> Le MCP agit au nom de **votre** boutique. Il est distinct de la [clé d'API publique](https://docs.pulse-sell.com/authentication.md) (pour vos serveurs) et des [Pulses](https://docs.pulse-sell.com/pulses/overview.md) (pour être prévenu).

## Créer une connexion

**1. Ouvrir l'écran**

Dans le tableau de bord, ouvrez **Intégrations**, puis **MCP & Agents IA**.

**2. Choisir les permissions**

Chaque permission correspond à un outil réel. Cochez le minimum nécessaire : un agent qui ne fait que consulter n'a pas besoin de `refund_order`.

**3. Copier le jeton**

Il commence par `mcp_` et **s'affiche une seule fois**. Seule une empreinte est conservée chez nous : si vous le perdez, supprimez la connexion et créez-en une autre.

## Brancher votre client

Le serveur parle JSON-RPC 2.0 en HTTPS. Adresse : `https://api.pulse-sell.com/api/mcp/rpc`, avec l'en-tête `Authorization: Bearer mcp_…`.

```bash theme={null}
curl -X POST https://api.pulse-sell.com/api/mcp/rpc \
  -H "Authorization: Bearer $PULSESELL_MCP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

La réponse ne liste que les outils accordés à ce jeton. Pour appeler un outil :

```bash theme={null}
curl -X POST https://api.pulse-sell.com/api/mcp/rpc \
  -H "Authorization: Bearer $PULSESELL_MCP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_sales_stats","arguments":{"days":30}}}'
```

Méthodes gérées : `initialize`, `tools/list`, `tools/call`. Tout autre appel répond `-32601`.

## Les 30 outils

| Groupe | Outils |
| - | - |
| Produits | `list_products`, `get_product`, `create_product`, `update_product`, `delete_product` |
| Ventes | `list_orders`, `get_order`, `fulfill_order`, `cancel_order`, `refund_order`, `get_sales_stats` |
| Boutique | `get_store`, `update_store` |
| Remises | `list_discounts`, `create_discount`, `deactivate_discount` |
| Clients & CRM | `list_contacts`, `list_contact_lists`, `list_contact_groups`, `list_leads` |
| Automatisations | `list_workflows`, `create_workflow`, `run_workflow` |
| Affiliation | `list_affiliates`, `list_commissions` |
| Coaching | `list_bookings` |
| Messagerie & IA | `send_whatsapp_message`, `send_email`, `send_whatsapp_campaign`, `generate_funnel` |

> [!WARNING]
>
> Les outils d'écriture (`refund_order`, `cancel_order`, `delete_product`, `send_*`) ont des effets réels et visibles par vos clients. Accordez-les seulement aux agents que vous surveillez.

## Sécurité

* **Jeton haché** : le secret est stocké sous forme de hachage bcrypt, jamais en clair.
* **Permissions vérifiées à chaque appel** : un outil non accordé répond `403` (`-32003`), même si l'agent le connaît.
* **Limite** : 60 requêtes par minute et par connexion (`429`, code `-32002`).
* **Suivi** : date de dernier usage, nombre d'appels, nombre d'erreurs et dernière erreur sont visibles sur chaque connexion.
* **Révocation immédiate** : supprimer la connexion invalide le jeton aussitôt.

## Tester sans client

L'écran MCP propose un **appel de test** avec les mêmes permissions que le jeton réel, pour vérifier un outil avant de le confier à un agent.

## Codes d'erreur

| Code | Sens |
| - | - |
| `-32001` | Jeton invalide ou révoqué (HTTP 401) |
| `-32002` | Limite de 60 requêtes/minute dépassée (HTTP 429) |
| `-32003` | Outil non accordé à ce jeton (HTTP 403) |
| `-32601` | Méthode ou outil inconnu |
| `-32602` | Paramètres manquants |

## Équipe et MCP

Une connexion MCP appartient à la personne qui la crée et agit sur **sa propre** boutique. Un collaborateur d'une autre boutique ne peut donc pas en créer une pour cette boutique : le propriétaire la crée lui-même. Voir [Équipe et collaborateurs](https://docs.pulse-sell.com/guides/team.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.