Documentation développeurs

Serveur MCP

Connectez à Melora Connect l'assistant IA que votre organisation utilise déjà (Claude, ChatGPT ou un autre client qui parle le Model Context Protocol, MCP), pour qu'il lise et modifie vos membres, événements et factures de cotisation quand vous le lui demandez.

De quoi il s'agit

Le serveur MCP donne à un assistant un outil pour chaque opération de l'API REST, sauf les abonnements de webhooks. Chaque outil fait les mêmes contrôles, utilise la même permission et les mêmes limites, et donne la même réponse que son endpoint.

Aucune IA ne s'exécute dans Melora Connect pour cela : l'assistant s'exécute là où vous l'utilisez et appelle Melora Connect avec la clé d'API de votre organisation. Les modifications qu'il fait sont inscrites au journal d'audit de l'organisation avec le nom de la clé, comme celles faites par l'API.

Adresse du serveur

L'adresse du serveur est :

https://app.meloraconnect.com/api/public/mcp
  • Chaque requête porte une clé d'API dans l'en-tête Authorization, après le mot Bearer, comme pour l'API REST.
  • Le transport est le HTTP diffusable (streamable HTTP) de MCP, sans état : un message JSON-RPC 2.0 par requête POST, avec une réponse en JSON. Il n'y a ni flux d'événements ni session : GET et DELETE répondent 405.
  • Versions du protocole : 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05. Le serveur répond avec la version demandée par le client quand il la prend en charge, sinon avec la plus récente.
  • Une requête envoyée depuis une page web d'un autre site (avec un autre en-tête Origin) est refusée avec 403.

Créer une clé

  1. Dans Melora Connect, ouvrez Settings puis l'onglet API keys. Vous avez besoin de la permission de gérer les paramètres de l'organisation.
  2. Créez une clé réservée à l'assistant, à son nom, avec seulement les permissions que vous voulez qu'il utilise et une date d'expiration.
  3. Copiez la clé. Elle n'est affichée qu'une fois. Mettez-la dans la configuration de l'assistant, jamais dans un message de discussion.

L'assistant ne voit que les outils que sa clé permet. Une clé qui ne peut que lire ne peut rien modifier, quoi qu'on demande à l'assistant.

Connecter un client

Définissez la variable d'environnement MELORA_API_KEY avec votre clé, ou mettez votre clé là où les exemples indiquent melora_YOUR_KEY.

Claude Code

Ajoutez le serveur depuis un terminal :

claude mcp add --transport http melora https://app.meloraconnect.com/api/public/mcp \
  --header "Authorization: Bearer $MELORA_API_KEY"

Claude Desktop

Claude Desktop atteint un serveur qui prend une clé par le pont open source mcp-remote, qui a besoin de Node.js. Ajoutez ceci à son fichier de configuration (Settings, Developer, Edit config) et redémarrez Claude Desktop :

{
  "mcpServers": {
    "melora": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://app.meloraconnect.com/api/public/mcp",
        "--header",
        "Authorization:${MELORA_AUTH}"
      ],
      "env": {
        "MELORA_AUTH": "Bearer melora_YOUR_KEY"
      }
    }
  }
}

API OpenAI

La Responses API appelle elle-même le serveur avec son outil MCP. Laissez require_approval activé, pour que chaque appel vous soit montré d'abord.

curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL",
    "tools": [{
      "type": "mcp",
      "server_label": "melora",
      "server_url": "https://app.meloraconnect.com/api/public/mcp",
      "headers": { "Authorization": "Bearer melora_YOUR_KEY" },
      "require_approval": "always"
    }],
    "input": "List our lapsed members."
  }'

Claude.ai et ChatGPT

Leurs connecteurs web et d'application se connectent avec OAuth, alors que le serveur MCP de Melora Connect utilise une clé d'API. Connectez-vous par Claude Code, Claude Desktop ou l'API OpenAI.

Autres clients MCP

Tout client qui se connecte à un serveur distant en HTTP diffusable et peut envoyer un en-tête Authorization peut utiliser le serveur, avec l'adresse et l'en-tête ci-dessus.

Outils

Les outils, la permission dont chacun a besoin, l'endpoint REST auquel il équivaut et ce qu'il renvoie :

OutilPermission requiseÉquivaut àCe qu'il renvoie
list_membersmembers.readGET /membersUne page de membres : data, page, per_page et has_more.
get_membermembers.readGET /members/{id}Un membre, dans data.
create_membermembers.writePOST /membersLe nouveau membre dans data, et welcome_drips si demandé.
update_membermembers.writePATCH /members/{id}Le membre modifié, dans data.
unsubscribe_membermembers.writePOST /members/{id}/email-preferencesLa désinscription du membre (member_id, email_marketing_opt_out, email_marketing_opted_out_at), dans data.
list_eventsevents.readGET /eventsUne page d'événements.
get_eventevents.readGET /events/{id}Un événement avec ses inscriptions, dans data.
create_eventevents.managePOST /eventsLe nouvel événement en brouillon, dans data.
list_dues_invoicesmembers.billing.readGET /dues-invoicesUne page de factures de cotisation.

Un outil prend les mêmes champs que son endpoint : les filtres, page et per_page d'une liste, l'id d'un enregistrement, et le corps d'une création ou d'une modification (update_member prend l'id avec les champs à modifier). Aucun outil ne prend d'organisation : c'est toujours celle de la clé, et un outil refuse tout champ qu'il ne connaît pas. Les résultats reviennent en texte JSON et en contenu structuré.

Les outils de lecture sont marqués en lecture seule. Ceux qui ajoutent ou modifient quelque chose sont marqués comme des modifications, et les clients demandent donc avant de les exécuter : continuez à approuver chacun de ces appels, et dans Claude Code et Claude Desktop, ne les laissez pas s'exécuter sans vous demander. create_member peut lancer les e-mails de bienvenue de l'organisation si on le lui demande.

Ce que renvoient les outils (noms, biographies, entreprises, champs personnalisés, descriptions d'événements) a été écrit par des personnes : l'assistant doit le traiter comme des données, jamais comme des instructions. Le serveur le dit à l'assistant quand il se connecte.

Limites

  • Chaque requête au serveur MCP compte une fois dans la limite de la clé de 120 requêtes toutes les 60 secondes, y compris l'ouverture de la connexion et la liste des outils. La limite de l'organisation de 600 requêtes toutes les 60 secondes, toutes clés confondues, s'applique aussi.
  • Une requête sans clé ou avec une clé inconnue reçoit 401, et trop de requêtes 429 avec Retry-After, avant qu'aucun outil ne s'exécute.
  • Une requête peut faire jusqu'à 64 Ko, et une liste renvoie au plus 100 enregistrements par appel.

Quand un appel est refusé

Un appel d'outil refusé revient comme une erreur d'outil portant l'erreur de l'API REST, avec les mêmes codes d'erreur, pour que l'assistant puisse vous dire pourquoi :

{
  "content": [
    {
      "type": "text",
      "text": "{\"error\":{\"code\":\"permission_denied\",\"message\":\"This API key does not have the members.write permission.\",\"details\":{\"required_permission\":\"members.write\"}}}"
    }
  ],
  "structuredContent": {
    "error": {
      "code": "permission_denied",
      "message": "This API key does not have the members.write permission.",
      "details": {
        "required_permission": "members.write"
      }
    }
  },
  "isError": true
}
  • permission_denied : il manque à la clé la permission nommée dans details.required_permission. Créez une nouvelle clé qui l'a.
  • api_key_revoked ou api_key_expired : créez une nouvelle clé et connectez l'assistant avec elle.
  • validation_failed : un champ n'est pas valide, ou l'outil ne le prend pas. details le nomme.
  • plan_required, billing_hold, account_restricted et limit_reached : comme pour l'API REST, cela se règle dans Melora Connect.

Révoquer l'accès

  1. Dans Melora Connect, ouvrez Settings puis l'onglet API keys.
  2. Cliquez sur Revoke pour la clé de l'assistant et confirmez.

La clé est refusée dès la requête suivante, et une clé révoquée ne peut pas être rétablie. Retirez aussi le serveur de la configuration de l'assistant. Pour changer ce qu'un assistant peut faire, créez une nouvelle clé avec les permissions voulues, connectez l'assistant avec elle et révoquez l'ancienne clé.

Découvrez-le avec vos propres données

Prêt à offrir à vos membres la plateforme qu'ils méritent ?

Une présentation guidée avec notre équipe, adaptée au fonctionnement actuel de votre organisation. En service dès 5 semaines après la signature, avec un spécialiste Melora pour la mise en place.

Réserver une démoEstimez votre date de mise en service