Le connecteur MCP de Kelki permet à votre assistant IA de préparer avec vous une demande de rappel par un professionnel du métier, dans votre ville, partout en France. Adresse du serveur: https://kelki.fr/mcp, sans compte ni clé. Vous confirmez votre demande d’un clic dans l’e‑mail reçu, et elle part vers les professionnels de votre secteur.
Les 4 outils
Définitions exactes renvoyées par tools/list, exemples exécutés sur les listes réelles. Requêtes en version 2025-11-25 (en‑tête MCP-Protocol-Version: 2025-11-25). Chaque résultat contient un texte lisible, le même contenu en JSON et structuredContent conforme à outputSchema.
trouver_service — Trouver le bon métier
- lecture seule: oui (readOnlyHint = true)
- destructif: non (destructiveHint = false)
- idempotent: oui (idempotentHint = true)
- monde ouvert: non (openWorldHint = false)
Recherche, parmi les 89 métiers de Kelki, ceux qui correspondent à un besoin décrit avec des mots courants (« fuite sous l’évier », « coupe de cheveux à domicile », « nid de guêpes »). Renvoie pour chaque métier probable son identifiant, son nom, la liste fermée de ses prestations (celles du formulaire « Rappelez‑moi » de kelki.fr, plus « Autre besoin ») et les prestations qui correspondent aux mots du besoin. Lecture seule.
Résultat (structuredContent): ok (booléen), besoin (chaîne), metiers (tableau de objets), erreur (chaîne), champ (chaîne), choix (tableau de chaîne).
Exemple d’appel:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "trouver_service",
"arguments": {
"besoin": "fuite sous l’évier"
}
}
}
Réponse (extrait: premier élément de la liste):
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "text",
"text": "Métiers correspondant à « fuite sous l’évier » (le plus probable d'abord) :\n1. Plombier (metier = plombier) — correspond à : Recherche et réparation de fuites\n Prestations : Recherche et réparation de fuites ; Débouchage de canalisations ; Installation et remplacement de robinetterie ; Installation et réparation de chauffe-eau ; Entretien et réparation de chaudière ; Rénovation de salle de bain ; Intervention après dégât des eaux ; Installation et raccordement électroménager ; Autre besoin\n…"
},
{
"type": "text",
"text": "{\"ok\": true, \"besoin\": \"fuite sous l’évier\", \"metiers\": [{\"metier\": \"plombier\", \"nom\": \"Plombier\", \"activite\": \"plomberie\", \"famille\": \"Réparations et urgences\", \"prestations\": [\"Recherche et réparation de fuites\", \"Débouchage de canalisations\", \"Installation et remplacement de robinetterie\", \"Installation et réparation de chauffe-eau\", \"Entretien et réparation de chaudière\", \"Rénovation de salle de bain\", \"Intervention après dégât des eaux\", \"Installation et raccordement électroménager\", \"Autre besoin\"], \"prestations_correspondantes\": [\"Recherche et réparation de fuites\"], \"page\": \"https://kelki.fr/plombier/\"}]}"
}
],
"structuredContent": {
"ok": true,
"besoin": "fuite sous l’évier",
"metiers": [
{
"metier": "plombier",
"nom": "Plombier",
"activite": "plomberie",
"famille": "Réparations et urgences",
"prestations": [
"Recherche et réparation de fuites",
"Débouchage de canalisations",
"Installation et remplacement de robinetterie",
"Installation et réparation de chauffe-eau",
"Entretien et réparation de chaudière",
"Rénovation de salle de bain",
"Intervention après dégât des eaux",
"Installation et raccordement électroménager",
"Autre besoin"
],
"prestations_correspondantes": [
"Recherche et réparation de fuites"
],
"page": "https://kelki.fr/plombier/"
}
]
},
"isError": false
}
}
lister_prestations — Prestations et délais d'un métier
- lecture seule: oui (readOnlyHint = true)
- destructif: non (destructiveHint = false)
- idempotent: oui (idempotentHint = true)
- monde ouvert: non (openWorldHint = false)
Renvoie les listes fermées du formulaire « Rappelez‑moi » de kelki.fr pour un métier: ses prestations (plus « Autre besoin », à décrire en quelques mots), les délais possibles (libellé et précision, adaptés au métier) et le texte d'accord exact que la personne accepte pour envoyer sa demande. Lecture seule.
Résultat (structuredContent): ok (booléen), metier (chaîne), nom (chaîne), activite (chaîne), famille (chaîne), prestations (tableau de chaîne), delais (tableau de objets), texte_accord (chaîne), page (chaîne), erreur (chaîne), champ (chaîne), choix (tableau de chaîne).
Exemple d’appel:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "lister_prestations",
"arguments": {
"metier": "plombier"
}
}
}
Réponse:
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "Plombier — prestations (une au choix) :\n- Recherche et réparation de fuites\n- Débouchage de canalisations\n…"
},
{
"type": "text",
"text": "{\"ok\": true, \"texte_accord\": \"J'accepte que ma demande et mes coordonnées soient transmises à un ou plusieurs professionnels du métier de mon secteur, qui pourront me rappeler à ce sujet.\", \"metier\": \"plombier\", \"nom\": \"Plombier\", \"activite\": \"plomberie\", \"famille\": \"Réparations et urgences\", \"prestations\": [\"Recherche et réparation de fuites\", \"Débouchage de canalisations\", \"Installation et remplacement de robinetterie\", \"Installation et réparation de chauffe-eau\", \"Entretien et réparation de chaudière\", \"Rénovation de salle de bain\", \"Intervention après dégât des eaux\", \"Installation et raccordement électroménager\", \"Autre besoin\"], \"delais\": [{\"libelle\": \"C’est urgent\", \"precision\": \"Dès que possible\"}, {\"libelle\": \"Cette semaine\", \"precision\": \"Dans les prochains jours\"}, {\"libelle\": \"Ce mois-ci\", \"precision\": \"Sans urgence\"}, {\"libelle\": \"Je me renseigne\", \"precision\": \"Pour un projet à venir\"}], \"page\": \"https://kelki.fr/plombier/\"}"
}
],
"structuredContent": {
"ok": true,
"texte_accord": "J'accepte que ma demande et mes coordonnées soient transmises à un ou plusieurs professionnels du métier de mon secteur, qui pourront me rappeler à ce sujet.",
"metier": "plombier",
"nom": "Plombier",
"activite": "plomberie",
"famille": "Réparations et urgences",
"prestations": [
"Recherche et réparation de fuites",
"Débouchage de canalisations",
"Installation et remplacement de robinetterie",
"Installation et réparation de chauffe-eau",
"Entretien et réparation de chaudière",
"Rénovation de salle de bain",
"Intervention après dégât des eaux",
"Installation et raccordement électroménager",
"Autre besoin"
],
"delais": [
{
"libelle": "C’est urgent",
"precision": "Dès que possible"
},
{
"libelle": "Cette semaine",
"precision": "Dans les prochains jours"
},
{
"libelle": "Ce mois-ci",
"precision": "Sans urgence"
},
{
"libelle": "Je me renseigne",
"precision": "Pour un projet à venir"
}
],
"page": "https://kelki.fr/plombier/"
},
"isError": false
}
}
verifier_lieu — Vérifier une ville
- lecture seule: oui (readOnlyHint = true)
- destructif: non (destructiveHint = false)
- idempotent: oui (idempotentHint = true)
- monde ouvert: non (openWorldHint = false)
Vérifie une ville ou un code postal en France (« Créteil », « 94000 », « Paris 15 ») et renvoie les villes existantes qui correspondent: nom, code postal, département, les plus peuplées d'abord (10 au plus). Une même ville peut avoir plusieurs codes postaux, ex. Saint‑Maur‑des‑Fossés (94100, 94210). Il s'agit du lieu où le service est demandé. Lecture seule.
Résultat (structuredContent): ok (booléen), recherche (chaîne), villes (tableau de objets), erreur (chaîne), champ (chaîne), choix (tableau de chaîne).
Exemple d’appel:
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "verifier_lieu",
"arguments": {
"ville_ou_code_postal": "Créteil"
}
}
}
Réponse (extrait: premier élément de la liste):
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"content": [
{
"type": "text",
"text": "1 ville(s) pour « Créteil » :\n- Créteil (94000), Val-de-Marne (94) : ville = Créteil, code_postal = 94000"
},
{
"type": "text",
"text": "{\"ok\": true, \"recherche\": \"Créteil\", \"villes\": [{\"ville\": \"Créteil\", \"code_postal\": \"94000\", \"libelle\": \"Créteil (94000)\", \"departement\": \"Val-de-Marne\", \"departement_code\": \"94\"}]}"
}
],
"structuredContent": {
"ok": true,
"recherche": "Créteil",
"villes": [
{
"ville": "Créteil",
"code_postal": "94000",
"libelle": "Créteil (94000)",
"departement": "Val-de-Marne",
"departement_code": "94"
}
]
},
"isError": false
}
}
demander_rappel — Envoyer une demande de rappel
- lecture seule: non (readOnlyHint = false)
- destructif: non (destructiveHint = false)
- idempotent: non (idempotentHint = false)
- monde ouvert: oui (openWorldHint = true)
Crée une demande de rappel sur Kelki et envoie à la personne un e‑mail de confirmation. La demande est transmise à un ou plusieurs professionnels du métier de son secteur après son clic sur « Confirmer ma demande » dans cet e‑mail (lien valable 48 h; sans clic, la demande et ses coordonnées sont effacées). metier, prestation et delai prennent les valeurs des listes de lister_prestations; ville et code_postal, celles de verifier_lieu; nom, telephone et email sont ceux donnés par la personne. accord vaut true quand la personne a accepté, après un récapitulatif de sa demande, ce texte: « J'accepte que ma demande et mes coordonnées soient transmises à un ou plusieurs professionnels du métier de mon secteur, qui pourront me rappeler à ce sujet. »
Résultat (structuredContent): ok (booléen), statut (chaîne), email_masque (chaîne), expire_le (chaîne), message (chaîne), demande (objet), erreur (chaîne), champ (chaîne), choix (tableau de chaîne).
Exemple d’appel (données fictives; l’appel réel enregistre la demande et envoie l’e‑mail de confirmation):
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "demander_rappel",
"arguments": {
"metier": "plombier",
"prestation": "Recherche et réparation de fuites",
"delai": "C’est urgent",
"ville": "Créteil",
"code_postal": "94000",
"nom": "Camille Exemple",
"telephone": "06 00 00 00 00",
"email": "camille@exemple.fr",
"message": "Joignable après 18 h",
"accord": true
}
}
}
Réponse:
{
"jsonrpc": "2.0",
"id": 5,
"result": {
"content": [
{
"type": "text",
"text": "Demande enregistrée. Dernière étape : un e-mail vient d'être envoyé à c•••@exemple.fr. La personne clique sur « Confirmer ma demande » dans les 48 heures pour la transmettre à un ou plusieurs professionnels du métier de son secteur, qui la rappelleront. Sans ce clic, la demande s'efface."
},
{
"type": "text",
"text": "{\"ok\": true, \"statut\": \"a_confirmer\", \"email_masque\": \"c•••@exemple.fr\", \"expire_le\": \"2026-11-02T09:30:00Z\", \"message\": \"Demande enregistrée. Dernière étape : un e-mail vient d'être envoyé à c•••@exemple.fr. La personne clique sur « Confirmer ma demande » dans les 48 heures pour la transmettre à un ou plusieurs professionnels du métier de son secteur, qui la rappelleront. Sans ce clic, la demande s'efface.\", \"demande\": {\"metier\": \"Plombier\", \"prestation\": \"Recherche et réparation de fuites\", \"delai\": \"C’est urgent\", \"lieu\": \"Créteil (94000)\"}}"
}
],
"structuredContent": {
"ok": true,
"statut": "a_confirmer",
"email_masque": "c•••@exemple.fr",
"expire_le": "2026-11-02T09:30:00Z",
"message": "Demande enregistrée. Dernière étape : un e-mail vient d'être envoyé à c•••@exemple.fr. La personne clique sur « Confirmer ma demande » dans les 48 heures pour la transmettre à un ou plusieurs professionnels du métier de son secteur, qui la rappelleront. Sans ce clic, la demande s'efface.",
"demande": {
"metier": "Plombier",
"prestation": "Recherche et réparation de fuites",
"delai": "C’est urgent",
"lieu": "Créteil (94000)"
}
},
"isError": false
}
}
Une valeur hors liste renvoie un résultat d’erreur explicite (isError: true) avec le paramètre en cause, pour que l’assistant corrige son appel:
{
"jsonrpc": "2.0",
"id": 9,
"result": {
"content": [
{
"type": "text",
"text": "Métier inconnu : « plombie ». Utilisez un identifiant renvoyé par trouver_service."
}
],
"structuredContent": {
"ok": false,
"erreur": "Métier inconnu : « plombie ». Utilisez un identifiant renvoyé par trouver_service.",
"champ": "metier"
},
"isError": true
}
}
Texte d’accord accepté par la personne avant demander_rappel: « J'accepte que ma demande et mes coordonnées soient transmises à un ou plusieurs professionnels du métier de mon secteur, qui pourront me rappeler à ce sujet. »
Ressources, prompt et interface à choix
ui://kelki/demande-v1.html — Formulaire de demande Kelki (text/html;profile=mcp-app): Parcours à choix: prestation, délai, ville, coordonnées, accord.
kelki://metiers — Les métiers de Kelki (application/json): Identifiant, nom, activité et famille de chaque métier.
kelki://accord — Texte d'accord et confirmation par e‑mail (text/plain): Texte accepté par la personne et déroulé de la confirmation.
kelki://metier/{metier} — Prestations et délais d'un métier (text/markdown): Prestations, délais et questions fréquentes publiées pour un métier. Une ressource par métier (89).
Prompt trouver_un_professionnel — « Être rappelé par un professionnel près de chez moi »: Préparer une demande de rappel Kelki: métier, prestation, délai, ville, puis confirmation. Arguments: besoin (obligatoire, Ce dont vous avez besoin, ex. « fuite sous l’évier »); ville (facultatif, Ville ou code postal du lieu).
Complétions (completion/complete): villes pour l’argument ville du prompt, noms des métiers pour besoin, identifiants des métiers pour le paramètre metier des ressources.
Interface à choix (MCP Apps): extension io.modelcontextprotocol/ui, ressource ui://kelki/demande-v1.html (text/html;profile=mcp-app), rattachée à trouver_service et lister_prestations par _meta.ui.resourceUri. Dans les assistants compatibles, la personne choisit la prestation, le délai et sa ville dans des boutons, saisit ses coordonnées, coche l’accord et envoie; le composant appelle verifier_lieu et demander_rappel par l’assistant, sans requête réseau directe. Les autres assistants gardent le mode texte.
Consignes envoyées à l’assistant (champ instructions):
Kelki (kelki.fr) transmet une demande de rappel à un ou plusieurs professionnels du métier choisi, dans la ville de la personne : dépannage, travaux, beauté, conseil, auto, événementiel…, partout en France. Kelki ne publie ni classement ni avis de professionnels : la demande part vers les professionnels du secteur, qui rappellent la personne.
Déroulé d'une demande, avec les mêmes listes de choix que le formulaire « Rappelez-moi » du site :
1. trouver_service : métiers correspondant au besoin décrit ; la personne choisit le sien.
2. lister_prestations : prestations du métier (plus « Autre besoin », à décrire en quelques mots), délais possibles et texte d'accord. La personne choisit une prestation et un délai dans ces listes ; elle peut ajouter un commentaire libre.
3. verifier_lieu : villes et codes postaux existants ; si plusieurs correspondent, la personne choisit.
4. Nom, téléphone (numéro français) et e-mail sont ceux que la personne donne elle-même.
5. Avant demander_rappel : récapitulatif de la demande et texte d'accord exact présentés à la personne ; accord = true après son oui explicite.
6. demander_rappel enregistre la demande et envoie un e-mail à la personne : la demande est transmise aux professionnels après son clic sur « Confirmer ma demande » (lien valable 48 h ; sans clic, elle est effacée).
Le service est gratuit pour la personne. Données et fonctionnement : https://kelki.fr/assistant-ia/
Installer le connecteur
Partout, la même adresse: https://kelki.fr/mcp, en accès libre.
Claude (claude.ai, Claude Desktop, applications mobiles)
- Personnaliser › Connecteurs › « + Ajouter » › « Ajouter un connecteur personnalisé ».
- Nom:
Kelki; URL: https://kelki.fr/mcp; connexion: « sans connexion ». Validez avec « Ajouter ». - Dans une conversation: « + » › Connecteurs › activez Kelki.
Offres Team et Enterprise: le propriétaire de l’organisation ajoute le connecteur dans Paramètres de l’organisation › Connecteurs, puis chaque membre l’active.
ChatGPT (web)
- Page Plugins (chatgpt.com/plugins) › bouton « + » › « Add custom MCP server ».
- Nom:
Kelki; Server URL: https://kelki.fr/mcp; authentification: « No authentication ». - « Create as a plugin », puis installez le plugin et utilisez‑le dans une conversation.
Disponibilité selon votre formule ChatGPT et les réglages de votre espace de travail.
Le Chat (Mistral)
- Intelligence › Connecteurs › « + Ajouter un connecteur » › onglet « Connecteur MCP personnalisé ».
- Nom:
kelki; URL du serveur: https://kelki.fr/mcp; « Connecter » (accès libre). - Dans une conversation, activez le connecteur dans la liste des outils.
L’ajout est fait par l’administrateur de l’espace (sur les offres Free, Pro et Student: le titulaire du compte).
Claude Code
claude mcp add --transport http kelki https://kelki.fr/mcp
Pour tous vos projets: ajoutez --scope user. Fichier de projet .mcp.json:
{
"mcpServers": {
"kelki": {
"type": "http",
"url": "https://kelki.fr/mcp"
}
}
}
Cursor
Fichier ~/.cursor/mcp.json (tous les projets) ou .cursor/mcp.json (un projet):
{
"mcpServers": {
"kelki": {
"url": "https://kelki.fr/mcp"
}
}
}
VS Code
Commande « MCP: Add Server » › HTTP, ou fichier .vscode/mcp.json:
{
"servers": {
"kelki": {
"type": "http",
"url": "https://kelki.fr/mcp"
}
}
}
Autres clients MCP
Tout client compatible Streamable HTTP: adresse https://kelki.fr/mcp, en accès libre. Carte du serveur: /mcp/server‑card.