MCP server
MCP server
Skalin exposes your workspace to AI agents through the Model Context Protocol (opens new window) (MCP). Claude, ChatGPT, Cursor, Copilot or your own agent reads the same customer-success context the Skalin AI uses — accounts, healthscore, product usage, Voice of Customer topics, renewals, tasks — and proposes actions that a Skalin user approves in the app.
Endpoint: https://mcp.skalin.io/mcp (Streamable HTTP).
# Connecting
- Create an API key in Skalin: Settings › Integrations › API keys. You get a key id (
skm_…) and a secret (sks_…), shown once. - Give your agent the endpoint and the credential as a header:
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"
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"skalin": {
"url": "https://mcp.skalin.io/mcp",
"headers": { "Authorization": "Bearer skm_xxx.sks_yyy" }
}
}
}
2
3
4
5
6
7
8
The credential is also accepted as HTTP Basic (skm_xxx:sks_yyy), or as a bearer token obtained from https://auth.skalin.io/oauth/token with grant_type=client_credentials and audience=https://mcp.skalin.io/.
Claude.ai and ChatGPT connectors
These require OAuth with dynamic client registration, which is coming in a next version. Today they connect through a tool that accepts static headers (Claude Code, Cursor, an agent framework).
# What the agent can do
Read — every tool the Skalin AI uses: search accounts, read an account's context and healthscore history, its usage and contact activity, its interactions and insights; rank the portfolio by usage, list upcoming renewals, accounts without recent contact, churned accounts, open tasks; explore Voice of Customer topics and verbatims.
Propose — create or update a task, comment a task or an interaction, activate a playbook, adjust the CSM Pulse, replace the tags of an account, a contact or an interaction. None of these writes anything: the tool validates the request against your data and records a proposal. A user of your workspace applies or rejects it from My actions › Agent proposals. The agent gets a proposal_id back and can follow up with get_proposal.
Resources — skalin://customer/{id}/context, /healthscore, /insights, /interactions, /alerts, skalin://topics, skalin://portfolio/renewals.
Prompts — prepare_meeting, portfolio_triage, voice_of_customer, plus the prompts saved in your workspace and shared with everyone.
# Scope, limits and audit
- An API key sees its whole workspace, like the integration API. There is no per-user scope: the agent acts for the workspace, which is why it can only read and propose.
- Quotas: 120 requests per minute per workspace, 5 000 per day per key. Above that the server answers
429with aRetry-Afterheader. - Every call is logged — which key, which tool, which parameters (never the results). Administrators see it under Settings › AI.
- A proposal nobody decides expires after 14 days. The same proposal sent twice by an agent yields the same
proposal_id(duplicate: true), never a second card.