Serveur MCP


Serveur MCP

Skalin expose votre espace de travail aux agents IA via le Model Context Protocol (opens new window) (MCP). Claude, ChatGPT, Cursor, Copilot ou votre propre agent lit le même contexte Customer Success que l'IA de Skalin — comptes, healthscore, usage produit, thèmes Voice of Customer, renouvellements, tâches — et propose des actions qu'un utilisateur Skalin valide dans l'application.

Point d'accès : https://mcp.skalin.io/mcp (Streamable HTTP).

# Connexion

# Avec un connecteur MCP (Claude, ChatGPT, Cursor)

  1. Un administrateur crée un connecteur dans Skalin : Intégrations › API › Connecteurs MCP, bouton Créer un connecteur. Choisissez l'agent dans Agents connus pour pré-remplir son URL de redirection. Vous obtenez un identifiant client (mcp_…) et un secret client (mcs_…), affiché une seule fois.
  2. Dans l'agent, ajoutez un connecteur personnalisé avec le point d'accès https://mcp.skalin.io/mcp, puis renseignez l'identifiant et le secret client dans ses paramètres OAuth.
  3. À la première utilisation, chaque utilisateur se connecte à Skalin et autorise l'agent.

Un utilisateur qui travaille dans deux espaces installe le connecteur de chacun.

# Avec une clé API (en-têtes statiques)

Pour un outil qui accepte des en-têtes statiques (Claude Code, Cursor, un framework d'agents) :

  1. Créez une clé API dans Skalin : Intégrations › API › Clés d'API. Vous obtenez un identifiant (skm_…) et un secret (sks_…), affiché une seule fois.
  2. Donnez à votre agent le point d'accès et l'identifiant sous forme d'en-tête : Authorization: Bearer skm_xxx.sks_yyy.

Claude Code :

claude mcp add --transport http skalin https://mcp.skalin.io/mcp --header "Authorization: Bearer skm_xxx.sks_yyy"
1

Cursor (.cursor/mcp.json) :

{
  "mcpServers": {
    "skalin": {
      "url": "https://mcp.skalin.io/mcp",
      "headers": { "Authorization": "Bearer skm_xxx.sks_yyy" }
    }
  }
}
1
2
3
4
5
6
7
8

L'identifiant est aussi accepté en HTTP Basic (skm_xxx:sks_yyy), ou sous forme de jeton obtenu auprès de https://auth.skalin.io/oauth/token avec grant_type=client_credentials et audience=https://mcp.skalin.io/.

# Ce que l'agent peut faire

Lire — tous les outils qu'utilise l'IA de Skalin : chercher des comptes, lire le contexte et l'historique de healthscore d'un compte, son usage et l'activité de ses contacts, ses interactions et ses insights ; classer le portefeuille par usage, lister les renouvellements à venir, les comptes sans contact récent, les comptes churnés, les tâches ouvertes ; explorer les thèmes Voice of Customer et leurs verbatims.

Proposer — créer ou mettre à jour une tâche, commenter une tâche ou une interaction, activer un playbook, ajuster le CSM Pulse, remplacer les tags d'un compte, d'un contact ou d'une interaction. Aucune de ces actions n'écrit quoi que ce soit : l'outil valide la demande contre vos données et enregistre une proposition. Un utilisateur de votre espace l'applique ou la refuse depuis Mes actions › Propositions des agents. L'agent reçoit un proposal_id et peut en suivre le sort avec get_proposal.

Ressources — skalin://customer/{id}/context, /healthscore, /insights, /interactions, /alerts, skalin://topics, skalin://portfolio/renewals.

Prompts — prepare_meeting, portfolio_triage, voice_of_customer, ainsi que les prompts enregistrés dans votre espace et partagés avec tous.

# Périmètre, limites et audit

  • Une clé API comme un connecteur voit tout son espace de travail, comme l'API d'intégration. Se connecter par un connecteur prouve que l'utilisateur appartient à l'espace, sans restreindre ce que l'agent lit : l'agent agit pour l'espace, c'est pourquoi il ne peut que lire et proposer.
  • Quotas : 120 requêtes par minute et par espace, 5 000 par jour et par clé ou par utilisateur connecté. Au-delà, le serveur répond 429 avec un en-tête Retry-After.
  • Chaque appel est journalisé — quelle clé ou quel connecteur, quel utilisateur, quel outil, quels paramètres (jamais les résultats). Les administrateurs le consultent dans Intégrations › API › Journal MCP.
  • Une proposition que personne ne traite expire après 14 jours. La même proposition envoyée deux fois par un agent renvoie le même proposal_id (duplicate: true), jamais une seconde carte.
Contributeurs: Julien