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/mcpTransport : 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_contentRecherche par mot-clé sur les articles de blog, études de cas, épisodes de podcast et entrées du glossaire.
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| query | string (min 2) | oui | Terme recherché (insensible à la casse). |
| limit | number (1-50) | non | Nombre 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_servicesCatalogue 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
| Nom | Type | Requis | Description |
|---|---|---|---|
| category | 'cto' | 'produit' | 'agile' | 'ia' | 'direction' | 'diagnostic' | non | Filtre 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_serviceDé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
| Nom | Type | Requis | Description |
|---|---|---|---|
| slug | string | oui | Slug 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_pagesIndex à 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
| Nom | Type | Requis | Description |
|---|---|---|---|
| type | 'hub' | 'pillar' | 'service' | 'landing' | 'reference' | non | Filtre 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_postsListe les articles publiés, triés du plus récent au plus ancien.
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| category | 'agility' | 'ai' | 'territory' | 'team' | 'entrepreneurship' | non | Filtre par catégorie. |
| limit | number (1-200) | non | Max 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_postMétadonnées complètes d'un article (titre, extrait, date, catégorie, URL canonique).
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| slug | string | oui | Slug 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_studiesListe les études de cas clients (client, secteur, résultats, durée).
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| limit | number (1-100) | non | Max 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_studyContenu complet d'une étude : contexte, problème, mission, actions, résultats, stack, témoignage.
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| slug | string | oui | Slug 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Épisodes de CAMINumérique (numéro, invité, thèmes, date de publication).
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| limit | number (1-100) | non | Max 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_episodeDétails d'un épisode : description longue, timestamps, thèmes, transcription si disponible.
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| slug | string | oui | Slug 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_entriesTermes du glossaire (terme, cluster, courte définition).
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| cluster | 'agile' | 'produit' | 'tech' | 'ia' | 'transformation' | non | Filtre 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_entryTerme, définitions courte et longue, exemple, erreur fréquente, liens associés.
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| slug | string | oui | Slug 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.