Agent integrations

    Documentation du serveur MCP

    Camin Pulse expose un serveur Model Context Protocol public, lecture seule, pour permettre à des agents IA (ChatGPT, Claude, Cursor, Codex…) d'interroger notre contenu : articles, études de cas, épisodes de podcast et glossaire.

    Endpoint

    https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp

    Transport : Streamable HTTP (MCP 2025-06-18). Aucune authentification n'est requise — le serveur est public. Les requêtes POST doivent inclure les en-têtes Content-Type: application/json et Accept: application/json, text/event-stream.

    Connecter un client MCP

    Pour Claude Desktop, Cursor ou tout client compatible MCP, ajoutez cette entrée à votre configuration :

    {
      "mcpServers": {
        "camin-pulse": {
          "url": "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp"
        }
      }
    }

    Lister les outils disponibles

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

    Outils

    12 outils lecture seule. Cliquez sur un outil pour voir ses paramètres et un exemple d'appel.

    Recherche transverse

    search_content
    Lecture seule

    Recherche par mot-clé sur les articles de blog, études de cas, épisodes de podcast et entrées du glossaire.

    Paramètres

    NomTypeRequisDescription
    querystring (min 2)ouiTerme recherché (insensible à la casse).
    limitnumber (1-50)nonNombre max de résultats (défaut 20).

    Exemple d'arguments

    {
      "query": "agilité",
      "limit": 5
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "search_content",
             "arguments": {
               "query": "agilité",
               "limit": 5
             }
           }
         }'

    Lister les offres / services

    list_services
    Lecture seule

    Catalogue des offres Camin Pulse (CTO/CTPO/DSI temps partagé, coaching agile, product management, IA — audit/agents/RAG, audit produit-tech, diagnostic, Studio à Impulsion).

    Paramètres

    NomTypeRequisDescription
    category'cto' | 'produit' | 'agile' | 'ia' | 'direction' | 'diagnostic'nonFiltre par catégorie de service.

    Exemple d'arguments

    {
      "category": "ia"
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "list_services",
             "arguments": {
               "category": "ia"
             }
           }
         }'

    Récupérer une offre

    get_service
    Lecture seule

    Détails complets d'une offre : cible, problème, méthode, livrables, durée, tarif indicatif, URL canonique, pages associées (hub, pilier, landings, diagnostic) et résumé markdown prêt à afficher côté client (champ `displaySummary`).

    Paramètres

    NomTypeRequisDescription
    slugstringouiSlug de l'offre.

    Exemple d'arguments

    {
      "slug": "fractional-cto"
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "get_service",
             "arguments": {
               "slug": "fractional-cto"
             }
           }
         }'

    Lister les pages clés du site

    list_site_pages
    Lecture seule

    Index à plat des pages clés du site : hubs thématiques, piliers nationaux, offres, landings géographiques, pages de référence (manifeste, diagnostic, etc.).

    Paramètres

    NomTypeRequisDescription
    type'hub' | 'pillar' | 'service' | 'landing' | 'reference'nonFiltre par type de page.

    Exemple d'arguments

    {
      "type": "hub"
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "list_site_pages",
             "arguments": {
               "type": "hub"
             }
           }
         }'

    Lister les articles de blog

    list_blog_posts
    Lecture seule

    Liste les articles publiés, triés du plus récent au plus ancien.

    Paramètres

    NomTypeRequisDescription
    category'agility' | 'ai' | 'territory' | 'team' | 'entrepreneurship'nonFiltre par catégorie.
    limitnumber (1-200)nonMax d'articles (défaut 50).

    Exemple d'arguments

    {
      "category": "ai",
      "limit": 10
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "list_blog_posts",
             "arguments": {
               "category": "ai",
               "limit": 10
             }
           }
         }'

    Récupérer un article

    get_blog_post
    Lecture seule

    Métadonnées complètes d'un article (titre, extrait, date, catégorie, URL canonique).

    Paramètres

    NomTypeRequisDescription
    slugstringouiSlug de l'article.

    Exemple d'arguments

    {
      "slug": "esn-locale-montpellier"
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "get_blog_post",
             "arguments": {
               "slug": "esn-locale-montpellier"
             }
           }
         }'

    Lister les études de cas

    list_case_studies
    Lecture seule

    Liste les études de cas clients (client, secteur, résultats, durée).

    Paramètres

    NomTypeRequisDescription
    limitnumber (1-100)nonMax d'études (défaut 50).

    Exemple d'arguments

    {
      "limit": 20
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "list_case_studies",
             "arguments": {
               "limit": 20
             }
           }
         }'

    Récupérer une étude de cas

    get_case_study
    Lecture seule

    Contenu complet d'une étude : contexte, problème, mission, actions, résultats, stack, témoignage.

    Paramètres

    NomTypeRequisDescription
    slugstringouiSlug de l'étude.

    Exemple d'arguments

    {
      "slug": "carlili-dsi-externalisee"
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "get_case_study",
             "arguments": {
               "slug": "carlili-dsi-externalisee"
             }
           }
         }'

    Lister les épisodes du podcast

    list_podcast_episodes
    Lecture seule

    Épisodes de CAMINumérique (numéro, invité, thèmes, date de publication).

    Paramètres

    NomTypeRequisDescription
    limitnumber (1-100)nonMax d'épisodes (défaut 50).

    Exemple d'arguments

    {
      "limit": 10
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "list_podcast_episodes",
             "arguments": {
               "limit": 10
             }
           }
         }'

    Récupérer un épisode

    get_podcast_episode
    Lecture seule

    Détails d'un épisode : description longue, timestamps, thèmes, transcription si disponible.

    Paramètres

    NomTypeRequisDescription
    slugstringouiSlug de l'épisode.

    Exemple d'arguments

    {
      "slug": "episode-2-emmanuel-gleyze-prise-de-parole"
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "get_podcast_episode",
             "arguments": {
               "slug": "episode-2-emmanuel-gleyze-prise-de-parole"
             }
           }
         }'

    Lister le glossaire

    list_glossary_entries
    Lecture seule

    Termes du glossaire (terme, cluster, courte définition).

    Paramètres

    NomTypeRequisDescription
    cluster'agile' | 'produit' | 'tech' | 'ia' | 'transformation'nonFiltre par cluster thématique.

    Exemple d'arguments

    {
      "cluster": "ia"
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "list_glossary_entries",
             "arguments": {
               "cluster": "ia"
             }
           }
         }'

    Récupérer une entrée du glossaire

    get_glossary_entry
    Lecture seule

    Terme, définitions courte et longue, exemple, erreur fréquente, liens associés.

    Paramètres

    NomTypeRequisDescription
    slugstringouiSlug de l'entrée.

    Exemple d'arguments

    {
      "slug": "product-discovery"
    }

    Appel via cURL (JSON-RPC)

    curl -X POST "https://igfdyzratzwgrcfiycqo.supabase.co/functions/v1/mcp" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{
           "jsonrpc": "2.0",
           "id": 1,
           "method": "tools/call",
           "params": {
             "name": "get_glossary_entry",
             "arguments": {
               "slug": "product-discovery"
             }
           }
         }'

    Format de réponse

    Chaque outil renvoie du contenu MCP standard : content: [{ type: "text", text: "..." }] avec la donnée sérialisée en JSON, et un champ structuredContent pour un accès direct à l'objet.

    Une question ?

    Un besoin d'intégration spécifique, un outil manquant ? Contactez-nous via le diagnostic.