Aller au contenu

Guide MCP

Votre assistant utilise vos propres systèmes

Connectez un service que vous utilisez déjà, ou déposez l'un de nos programmes de départ sur votre hébergement. Votre assistant répond alors avec de vraies réservations, commandes et informations de compte.

Trouvez votre activité

Comment ça marche

MCP (Model Context Protocol) est un standard ouvert pour relier des assistants IA à d'autres logiciels. Un serveur MCP propose une liste d'outils, comme find_slots ou my_orders. Vous le connectez une fois dans MagizAI, vous choisissez les outils que l'assistant peut utiliser, et il les appelle dès qu'une question du visiteur en a besoin.

  1. 01

    Connecter

    Compétences, puis Serveurs MCP. Collez l'adresse https et le jeton. MagizAI lit la liste des outils.

  2. 02

    Choisir les outils

    Cliquez sur Gérer. Cochez les outils à utiliser. Un outil non coché n'est jamais appelé.

  3. 03

    Sûr ou Sensible

    Un outil Sûr s'exécute tout de suite. Un outil Sensible attend que le visiteur recopie un code à six chiffres : rien ne change sans son accord.

  4. 04

    Lier les comptes à la connexion

    Pour un outil qui lit les données d'un client, réglez son argument e-mail ou compte sur « Rempli depuis le visiteur connecté ». Il n'est alors jamais pris dans la conversation.

Les limites à connaître

Voici les vraies limites côté MagizAI. Un serveur qui les respecte fonctionne du premier coup.

LimiteValeurCe que cela implique
TransportStreamable HTTP en httpsL'adresse doit être publique. Les serveurs qui tournent seulement sur un ordinateur (stdio) ne peuvent pas être connectés.
ConnexionAucune, jeton Bearer, en-tête personnalisé, ou nom d'utilisateur et mot de passeLes services qui n'acceptent qu'une connexion OAuth ne peuvent pas encore être connectés.
Durée par appel10 secondesLe visiteur attend la réponse. Répondez depuis un index ou un cache, pas depuis un rapport lent.
Résultat lu par l'assistantLes 1 500 premiers caractèresRenvoyez un texte court et factuel : cinq résultats avec l'essentiel, pas une fiche entière.
Outils par serveur50Un serveur par usage. Quelques outils clairs valent mieux que beaucoup d'outils qui se recoupent.
ArgumentsTexte, nombres, vrai/faux, choix fixes, listes simplesoneOf, $ref, pattern et les listes d'objets ne sont pas encore pris en charge. Un outil qui les utilise affiche « Inutilisable ».
Serveurs par espaceSelon votre offreCompétences, puis Serveurs MCP indique combien votre offre en permet.

Clients connectés

Des outils comme « mes commandes » ou « mes rendez-vous » ne doivent montrer que les données du client connecté. MagizAI s'appuie pour cela sur un jeton d'identité signé par votre site, jamais sur ce que tape le visiteur.

  1. Dans MagizAI, ouvrez le chatbot, section Identité de visiteur signée, et générez un secret. Gardez-le sur votre serveur.
  2. Quand un client est connecté à votre site, votre serveur signe un jeton court (HS256) avec son e-mail et une expiration, et l'ajoute à la balise du widget dans data-identity.
  3. Dans les réglages de l'outil MCP, réglez l'argument e-mail sur « Rempli depuis le visiteur connecté ». MagizAI le remplit depuis le jeton vérifié et refuse l'appel si le visiteur n'est pas connecté.
<?php
// On your server, for the signed-in customer. $secret comes from the chatbot's
// "Signed visitor identity" setting and never goes to the browser.
function magiz_identity(string $email, string $name, string $secret): string
{
    $b64 = fn ($s) => rtrim(strtr(base64_encode($s), '+/', '-_'), '=');
    $head = $b64(json_encode(['alg' => 'HS256', 'typ' => 'JWT']));
    $body = $b64(json_encode([
        'email' => $email,
        'name'  => $name,
        'iat'   => time(),
        'exp'   => time() + 3600,
    ]));
    return "$head.$body." . $b64(hash_hmac('sha256', "$head.$body", $secret, true));
}
?>
<script src="https://magiz.ai/widget.js" data-key="YOUR_WIDGET_KEY"
        data-identity="<?= magiz_identity($user->email, $user->name, $secret) ?>" defer></script>

Le jeton doit contenir exp et durer 24 heures au plus. Le secret ne va jamais dans le navigateur, seul le jeton final y va. Les sites WHMCS l'obtiennent automatiquement avec notre module WHMCS.

Exemples par activité

Pour chaque activité : un vrai cas d'usage, une conversation type et deux façons de faire. Un service à connecter dès aujourd'hui, ou un programme de départ à déposer sur votre hébergement et à relier à vos propres données.

Utilisez le module WHMCS. Les hébergeurs n'ont pas besoin de serveur MCP : le module MagizAI pour WHMCS répond sur les factures, services, domaines et tickets des clients connectés, et affiche vos offres sous forme de cartes.

Module WHMCS

Ou connectez

Stripe

Les abonnés demandent quand leur ligne expire et si une chaîne est incluse. L'assistant le lit dans votre panneau et répond à 2 h du matin, sans ticket.

Conversation type

Visiteur: My TV stopped working, is my subscription expired?

Assistant: Your Family package is active until the 24th and 2 of your 3 devices are in use, so it hasn't expired. Try restarting the app on the TV.

Visiteur: Do you have 4K sports?

Assistant: Sports 4K is in the Premium package (Rs 899 a month, 5 devices).

Réglez les outils ainsi

  • packagesSûr
  • find_channelSûr
  • my_subscriptionSûr· email rempli depuis le visiteur connecté

Programme de départ

Télécharger magizai-mcp-iptv.zip · 9 KB

SHA-256 14f5a08449fb90bbbab4956b82dd061d376d84b01a45d29807be09d590741964

Ou connectez

n8nStripe

Les patients voient les vrais créneaux libres et les réservent. Connectés, ils voient leurs propres rendez-vous à venir.

Conversation type

Visiteur: Can I see a doctor tomorrow morning?

Assistant: Yes. Tomorrow Dr. Aisha Rather is free at 09:00 and 09:20, and Dr. Imran Shah (children) at 10:00. Which one suits you?

Visiteur: 9:20 with Dr. Rather please, it's for a cough. I'm Sara Ahmed, sara@example.com

Assistant: To book 09:20 tomorrow with Dr. Aisha Rather, please type the code 482915 to confirm.

Visiteur: 482915

Assistant: You're booked for 09:20 tomorrow. Your reference is RFC-3A91C2. Please arrive 10 minutes early.

Réglez les outils ainsi

  • clinic_infoSûr
  • find_slotsSûr
  • request_bookingSensible
  • my_appointmentsSûr· patient_email rempli depuis le visiteur connecté

Programme de départ

Télécharger magizai-mcp-clinic.zip · 10 KB

SHA-256 8f9cf73d524e9d4e14f52745bf5180fd864899c20ce631461b6b38e86ee7ce03

Ou connectez

n8nZapier

Les patients demandent le prix d'un soin et les disponibilités du cabinet, puis demandent un rendez-vous dans la conversation.

Conversation type

Visiteur: How much is a root canal?

Assistant: A root canal starts at Rs 6,000 per tooth and usually takes two visits. The crown is extra. Would you like a free time to come in?

Visiteur: Yes, tomorrow afternoon if possible

Assistant: Tomorrow Dr. Nida Wani is free at 12:30 and Dr. Omar Lone at 17:00. Which one works for you?

Réglez les outils ainsi

  • treatment_pricesSûr
  • find_slotsSûr
  • request_appointmentSensible

Programme de départ

Télécharger magizai-mcp-dental.zip · 9 KB

SHA-256 60dfa4b72880d5760d9081c4cff5edde6d1503d3ac4b4895ecd88de292ca2f69

Ou connectez

n8nZapier

Les étudiants cherchent des cours par matière et date de début, et les candidats connectés suivent leur dossier.

Conversation type

Visiteur: When does the Python course start and are there seats?

Assistant: Data science with Python (DS201) starts in about a month, runs 16 weeks on Tuesdays and Thursdays 18:00-20:00, and costs Rs 24,000. Only 3 seats are left.

Visiteur: I applied already, what's my status?

Assistant: Your application APP-2231 needs one document: please upload your class 12 marksheet in the student portal.

Réglez les outils ainsi

  • find_coursesSûr
  • my_applicationsSûr· email rempli depuis le visiteur connecté

Programme de départ

Télécharger magizai-mcp-education.zip · 9 KB

SHA-256 224fd0609f46b61e8b160277c8ad3bb66aaa195f4519efa7943d477bd8aa19cd

Ou connectez

AirtableZapier

Les clients vérifient prix, stock et tailles, et suivent leurs propres commandes avec le transporteur et le numéro de suivi.

Conversation type

Visiteur: Where is my order?

Assistant: Order #1042 (Rs 7,450) shipped 3 days ago with Delhivery, tracking DLV778812. Order #1051 is being packed now.

Visiteur: Is the rose pashmina back in stock?

Assistant: The rose pashmina is out of stock at the moment. The natural one is Rs 6,500 and 4 are in stock.

Réglez les outils ainsi

  • product_stockSûr
  • store_policySûr
  • my_ordersSûr· email rempli depuis le visiteur connecté

Programme de départ

Télécharger magizai-mcp-ecommerce.zip · 9 KB

SHA-256 d8aa3bdd8a91a371a6cda133261d2192cac461d134752e268707564ae0d8a945

Ou connectez

Shopify StorefrontStripe

Les acheteurs cherchent par quartier, budget et chambres, consultent le détail d'un bien et demandent une visite.

Conversation type

Visiteur: Any 2 or 3 bedroom flats to rent in Srinagar under 30k?

Assistant: Yes: RE-102, a furnished 2-bedroom in Jawahar Nagar, 1,050 sq ft, Rs 28,000 a month, available now. Want to see it?

Visiteur: Yes, Saturday morning

Assistant: I'll request a viewing of RE-102 for Saturday morning. Please type the code 551208 to confirm.

Réglez les outils ainsi

  • search_listingsSûr
  • listing_detailsSûr
  • request_viewingSensible

Programme de départ

Télécharger magizai-mcp-real-estate.zip · 10 KB

SHA-256 d0c1dad84a9d6e405900c053965699b4a2ebcfba303f561def3da12f7413b544

Ou connectez

AirtableMake

Les clients vérifient les chambres libres pour leurs dates, comparent les circuits et envoient une demande de réservation.

Conversation type

Visiteur: Room for 2 from next Friday for 3 nights?

Assistant: Yes. A deluxe double with lake view is Rs 4,500 a night, Rs 13,500 for 3 nights, breakfast included. The houseboat room is Rs 6,500 a night with dinner too. Which would you like?

Visiteur: What Gulmarg trips do you have?

Assistant: The Srinagar and Gulmarg package is 4 nights at Rs 18,500 per person, with a houseboat night, the Gulmarg day trip with gondola tickets and airport transfers.

Réglez les outils ainsi

  • check_availabilitySûr
  • tour_packagesSûr
  • request_bookingSensible

Programme de départ

Télécharger magizai-mcp-hotel.zip · 10 KB

SHA-256 fd27c3ea208e91ec02b500aca0dfefe6b24b06213a6d70dd80b00298bbbe0c95

Ou connectez

Maken8n

Les prospects voient vos services et prix de départ. Les clients connectés voient l'étape de leur projet, la prochaine échéance et leur responsable.

Conversation type

Visiteur: What's happening with our website project?

Assistant: The new company website (PRJ-310) is in design review. The next step is your homepage design sign-off, due in 3 days. Mehak is managing it.

Réglez les outils ainsi

  • servicesSûr
  • my_projectsSûr· email rempli depuis le visiteur connecté

Programme de départ

Télécharger magizai-mcp-agency.zip · 8 KB

SHA-256 ce433a86b097aed3a901946d19693087a7db3c9053447dd1f99435f440d7c4be

Ou connectez

ZapierAtlassian

Finance et assurance

MagizAI pour cette activité

Les visiteurs comparent les garanties. Les clients connectés voient leurs dates de renouvellement et l'état d'un sinistre, sans appeler.

Conversation type

Visiteur: Where is my hospital claim?

Assistant: Claim CLM-5501 (Rs 42,000) on your Family Health Shield policy is under review. Our assessor will call you within 2 working days.

Visiteur: When does my health policy renew?

Assistant: POL-88120 renews in about 40 days. The premium is Rs 14,500.

Réglez les outils ainsi

  • productsSûr
  • my_policiesSûr· email rempli depuis le visiteur connecté
  • my_claimsSûr· email rempli depuis le visiteur connecté

Programme de départ

Télécharger magizai-mcp-insurance.zip · 9 KB

SHA-256 f07d4b768d2a0fc51722111a98ae5c2f3bb2961992bc3f45f4a9b5db0010ec31

Ou connectez

StripeZapier

Les utilisateurs apprennent qu'un incident est connu avant d'ouvrir un ticket, comparent les offres et voient leurs sièges et leur consommation.

Conversation type

Visiteur: Our emails aren't arriving

Assistant: There is a known issue right now: some emails are delayed by up to 10 minutes and a fix is in progress. They will arrive.

Visiteur: How close are we to our limit?

Assistant: You've used 84,000 of 100,000 requests this month (84%) on the Growth plan, and 7 of 10 seats. It renews in 12 days.

Réglez les outils ainsi

  • service_statusSûr
  • plansSûr
  • my_accountSûr· email rempli depuis le visiteur connecté

Programme de départ

Télécharger magizai-mcp-saas.zip · 9 KB

SHA-256 5b8e77ea251d2588cf41fb48e65f715a72dd3f0e5d5c790bcde0bbff2e02ab2d

Ou connectez

StripeLinear

Les clients lisent la carte, vérifient une table pour ce soir, la réservent et voient leurs réservations.

Conversation type

Visiteur: What's special today? We're vegetarian.

Assistant: Today's vegetarian special is phirni (Rs 160). For mains, the dum aloo is Rs 320. Would you like a table?

Visiteur: Table for 4 tomorrow at 8pm

Assistant: A table for 4 is free tomorrow at 20:00. To reserve it, please type the code 730461.

Réglez les outils ainsi

  • menuSûr
  • check_tableSûr
  • reserve_tableSensible
  • my_reservationsSûr· email rempli depuis le visiteur connecté

Programme de départ

Télécharger magizai-mcp-restaurant.zip · 10 KB

SHA-256 d4ac852d93806ce3417a0610d1eba5fee6fe883b60a3028cb8a7298d892634d4

Ou connectez

ZapierMake

Toute autre activité

MagizAI pour cette activité

Le point de départ le plus simple : des réponses tirées de votre propre table d'infos (horaires, adresse, paiement) et des demandes de rappel.

Conversation type

Visiteur: Are you open on Sunday? Where can I park?

Assistant: We're closed on Sundays; Monday to Saturday we're open 09:30-19:00. There's parking behind the building on Residency Road.

Réglez les outils ainsi

  • business_infoSûr
  • request_callbackSensible

Programme de départ

Télécharger magizai-mcp-general.zip · 9 KB

SHA-256 cb3994107ab2d6434741a01c7bca0c47aac603d2c6f9b4d9c51f26030c489d99

Ou connectez

Zapiern8n

Services à connecter dès aujourd'hui

Ces services proposent leur propre serveur MCP, que MagizAI peut connecter avec une clé. Donnez à chaque clé le minimum de droits nécessaires : l'assistant ne peut faire que ce que la clé permet.

ServiceAdresseConnexionUtile pour
Shopify Storefront
https://{your-shop}.myshopify.com/api/mcp
https://{your-shop}.myshopify.com/api/ucp/mcp
AucuneRecherche de produits, panier, politiques et FAQ de la boutique. Connectez les deux adresses : la recherche de produits est sur la seconde.
Stripe
https://mcp.stripe.com
Bearer : une clé restreinte (rk_…)Consulter paiements, factures et abonnements. Donnez à la clé des droits de lecture seulement.
Zapier
https://mcp.zapier.com/api/v1/connect
Bearer : votre jeton Zapier MCPToute action configurée dans Zapier, sur des milliers d'applications. Le plus simple pour atteindre un système sans serveur MCP.
Make
https://<votre zone>/mcp, indiquée dans Make
Bearer : votre jeton MCP MakeVos scénarios Make, chacun devient un outil.
n8n
L'URL de production d'un nœud « MCP Server Trigger »
Bearer ou en-tête personnaliséTout workflow que vous créez. n8n auto-hébergé garde les données clients sur votre serveur, ce qui convient aux cliniques.
Airtable
https://mcp.airtable.com/mcp
Bearer : un jeton d'accès personnelDes bases comme une liste de cours ou de biens. Limitez le jeton aux bases utiles à l'assistant.
Linear
https://mcp.linear.app/mcp
Bearer : une clé APITickets et projets, pour des questions comme « le bug que j'ai signalé est-il corrigé ? ».
Atlassian
https://mcp.atlassian.com/v2/mcp
Nom d'utilisateur et mot de passe : votre e-mail et un jeton APIJira et Confluence. Un administrateur de l'organisation doit d'abord autoriser la connexion par jeton API.

WordPress et WooCommerce

Le MCP Adapter de WordPress (et le MCP de WooCommerce, en aperçu développeur) se connectent avec un nom d'utilisateur WordPress et un mot de passe d'application. Choisissez « Nom d'utilisateur et mot de passe » dans MagizAI. Les guides officiels passent par un proxy local : testez la connexion directe sur un site de test d'abord.

Pas encore utilisables

HubSpot, Notion, Square, Cal.com et Calendly n'acceptent qu'une connexion OAuth sur leurs serveurs MCP hébergés, que MagizAI ne gère pas encore. Passez par Zapier, Make ou n8n. Supabase fonctionne, mais son jeton ouvre tout votre compte, y compris l'exécution de SQL : ne le reliez pas à un assistant public.

Lancer un programme de départ

Chaque programme de départ est un petit programme PHP sans dépendance. Il tourne sur un hébergement mutualisé ordinaire, contient des données de démonstration pour fonctionner dès le dépôt, et un seul fichier tools.php à relier à votre base. Nécessite PHP 7.4 ou plus récent avec PDO (SQLite pour la démonstration, ou MySQL).

  1. Téléchargez le programme de votre activité et déposez son dossier sur votre site, par exemple dans public_html/mcp/.
  2. Copiez config.sample.php en config.php et mettez dans token un long secret aléatoire. Le serveur refuse de tourner avec le jeton d'exemple.
  3. Vérifiez qu'il répond. La commande ci-dessous doit lister les outils.
curl -X POST https://yourdomain.com/mcp/index.php \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
  1. Dans MagizAI, connectez-le avec l'adresse de index.php et l'authentification par jeton Bearer, puis réglez les outils comme indiqué sur sa carte.
  2. Posez une question à votre assistant depuis le chat de votre site. Appels d'outils récents, sur la page du serveur, montre chaque appel.

Utilisez vos vraies données

Renseignez dsn, db_user et db_pass dans config.php avec votre base MySQL ou MariaDB, puis adaptez le SQL de tools.php à vos tables. Chaque outil est un bloc : un nom, une phrase qui dit quand l'utiliser, ses arguments et une fonction qui renvoie un texte court.

<?php
// tools.php: one block per tool. $db is a PDO connection from config.php.
$server->tool(array(
    'name' => 'my_orders',
    'description' => 'Use when a signed-in customer asks where their order is.',
    'inputSchema' => array('type' => 'object', 'properties' => array(
        'email' => array('type' => 'string', 'maxLength' => 190),
    ), 'required' => array('email')),
    'annotations' => array('readOnlyHint' => true),
    'handler' => function (array $args) use ($db) {
        $q = $db->prepare('SELECT number, status, tracking FROM orders
                           WHERE email = ? ORDER BY placed_on DESC LIMIT 5');
        $q->execute(array($args['email']));
        $out = array();
        foreach ($q->fetchAll() as $o) {
            $out[] = "#{$o['number']}: {$o['status']} {$o['tracking']}";
        }
        return $out ? implode("\n", $out) : 'No orders found.';
    },
));

Le fichier .htaccess fourni n'ouvre au web que index.php. Sur nginx, ajoutez la même règle vous-même, sinon la base de démonstration pourrait être téléchargée.

Créer le vôtre

Tout langage convient s'il parle Streamable HTTP. Voici les options maintenues.

Créer le vôtre
PHP / Laravellaravel/mcpMcp::web('/mcp', Server::class)->middleware('auth:sanctum')
PHPmcp/sdkcomposer require mcp/sdk
PythonFastMCPmcp.run(transport="http") + StaticTokenVerifier
TypeScript@modelcontextprotocol/servernpm i @modelcontextprotocol/server @modelcontextprotocol/node
Gomodelcontextprotocol/go-sdkmcp.NewStreamableHTTPHandler(...)

WordPress et WooCommerce : installez plutôt une extension

Votre boutique contient déjà les produits, les stocks et les commandes. Installez l'extension, cochez ce que l'assistant peut utiliser, et il répond depuis WooCommerce en direct : recherche et stock, frais de livraison pour un code postal, validité d'un code promo, et les commandes et le suivi du client connecté. 32 outils, aucun code à écrire.

Télécharger magizai-wordpress-1.3.0.zip · 72 KB

SHA-256 8a2a40bf78ff83d84e2785f02de937fad8691a85112521c99337f905711efbd5

Starter Next.js et JavaScript

La même chose que les programmes PHP, écrite pour l'App Router de Next.js et sans dépendance : l'adresse, sept outils d'exemple (offre, consommation, factures, lien de facturation, réinitialisation du mot de passe, ticket), le code qui signe l'identité du client, et la fenêtre de chat qui suit la connexion et la déconnexion. Testé avec le client MagizAI lui-même.

Télécharger magizai-mcp-nextjs.zip · 12 KB

SHA-256 91aaa173184890491a46c212eb40865e74f36681cd598eac78231bd5d48fbbb9

Règles pour des outils efficaces

  • Une phrase claire par outil qui dit quand l'utiliser. L'assistant choisit les outils en lisant ces descriptions.
  • Marquez les consultations avec readOnlyHint et tout ce qui supprime ou annule avec destructiveHint. MagizAI n'accepte jamais qu'un outil destructif soit marqué Sûr.
  • Validez aussi chaque argument de votre côté, et limitez chaque requête aux lignes du client connecté.
  • Renvoyez un texte court avec les faits utiles. Jamais de mots de passe, de numéros de carte complets ou de notes internes.
  • Traitez un appel d'outil comme toute requête d'API publique : vérifiez le jeton, journalisez et limitez le débit.

Dépannage

Ce que vous voyezQue faire
Le serveur doit être accessible sur Internet en https.L'adresse est privée, locale ou pas en https. Placez le serveur sur une adresse https publique.
Votre offre n'inclut pas les serveurs MCP. Passez à une offre supérieure pour en connecter un.Passez à une offre supérieure dans Facturation. Vos réglages d'outils sont conservés et reviennent quand l'offre le permet.
Inutilisable : …Les arguments de l'outil utilisent une forme que MagizAI ne gère pas encore. Limitez-les à du texte, des nombres, vrai/faux, des choix fixes et des listes simples.
Modifié sur le serveur — vérifiez et enregistrez pour le réutiliserL'outil a changé sur le serveur. Ouvrez le serveur, vérifiez l'outil et enregistrez.
La connexion échoue avec 401Le jeton dans MagizAI ne correspond pas à config.php. Sur Apache, le .htaccess fourni transmet l'en-tête Authorization, ce que certains hébergeurs exigent.
« Set a secret token in config.php »Le programme utilise encore le jeton d'exemple. Mettez-en un vrai dans config.php.
« This needs the visitor to be signed in. »L'outil est lié au visiteur connecté, et ce visiteur n'est pas connecté ou son jeton d'identité a échoué. Vérifiez Identité de visiteur signée sur le chatbot.
Aucun appel d'outilL'assistant n'utilise jamais un outil : vérifiez qu'il est coché, que sa compétence est activée dans Compétences et que sa description dit clairement quand l'utiliser.

Bloqué sur une connexion ?

Envoyez-nous l'adresse du serveur et ce que vous voyez. Nous vous dirons ce qui ne va pas.