MCP Server

MCP server

Connect Claude, Cursor or any Model Context Protocol client to Slide with a URL and an API key. Reads are open, writes are opt-in, and your key's scopes are still the boundary.

TransportHTTP
AuthBearer key

Overview

The Model Context Protocol lets an AI assistant call tools on your behalf. The Slide MCP server exposes the platform as such a tool set, so an assistant can search contacts, read delivery logs, inspect automation runs and, when you allow it, send messages and build flows.

There is nothing to install and nothing to run. It is a hosted endpoint you point a client at, authenticated with an ordinary Slide API key.

NoteEvery tool call is made with your key and passes through the same checks a normal API request does. The server can never do more than the key allows.

Endpoint and transport

PropertyValue
Endpointhttps://slide.synquic.com/api/mcp
TransportStreamable HTTP
AuthenticationAuthorization: Bearer sk_live_...
Write accessX-Slide-MCP-Writes: true
Rate limitsShared with the REST API, not additional to it

Connecting a client

Create a key from API keys first, scoped to what you want the assistant to reach. Then configure your client.

Claude Code

One command. It registers the server and stores the header with it.

terminal
claude mcp add --transport http slide https://slide.synquic.com/api/mcp \
  --header "Authorization: Bearer sk_live_..."

Cursor

Add the server to your MCP configuration file. Restart Cursor after saving so it picks up the new entry.

mcp.json
{
  "mcpServers": {
    "slide": {
      "url": "https://slide.synquic.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}

Any other MCP client

Nothing here is client-specific. Any client that speaks MCP over streamable HTTP works: point it at the endpoint above and give it the Authorization header. If your client takes a URL and a header map, it is supported.

What it can do

Tools are grouped by the part of the platform they reach. Which of them appear depends on your key's scopes and on whether writes are enabled.

AreaWhat the assistant can do
Contacts and notesSearch the unified contacts hub, read a contact history, and leave notes an agent can pick up later.
MessagingRead delivery logs and templates across WhatsApp, email, SMS and RCS. Send through one unified call, with fallback between channels.
AutomationsList, read and build automation flows, inspect run history step by step, and diagnose why a flow did not fire.
Voice agentsCreate and configure AI voice agents, read call records and transcripts, and review call analytics.
CommerceAnswer order status and delivery questions from connected store data, and check whether a discount code is still valid.
Everything elseA generic request tool reaches any endpoint the API exposes, so new capabilities are usable the day they ship.

Reads, writes and scopes

Reads are always on

Every read tool is available as soon as the connection authenticates: contacts, campaigns, message logs, automation runs, call records and analytics. Reads cannot change anything or reach a customer.

Enabling writes

Anything that sends a message, launches a campaign or places a call is withheld until you opt in, per connection, with one header. This is deliberate: the cost of an assistant that cannot send is an inconvenience, the cost of one that can send by accident is a message to a real customer.

mcp.json
{
  "mcpServers": {
    "slide": {
      "url": "https://slide.synquic.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_...",
        "X-Slide-MCP-Writes": "true"
      }
    }
  }
}
WarningEven with writes enabled, an automation created through the API is always created paused. Nothing an assistant builds starts firing on its own, it has to be activated from the dashboard.

Your key is still the boundary

Enabling writes does not widen the key. A tool that reaches an endpoint your scopes do not cover returns 403, exactly as the same request would from curl. To let an assistant do more, widen the key deliberately, in the dashboard.

LayerWhat it controls
API key scopesThe absolute ceiling. Nothing over MCP can exceed it.
X-Slide-MCP-WritesWhether write tools are offered at all on this connection.
Paused-on-createAutomations built by an assistant never run until a human activates them.

Troubleshooting

SymptomCause
The client connects but lists no toolsThe Authorization header is missing or malformed. It must read exactly "Bearer sk_live_..." with a single space after Bearer.
Only read tools appearExpected. Write tools are withheld until the X-Slide-MCP-Writes header is set to "true" on the connection.
A tool call returns 403The key's scopes do not cover that endpoint. Scopes are enforced identically over MCP and over HTTP, so widen the key in the dashboard.
A tool call returns 429The per-key rate limit was hit. MCP shares the same limits as the REST API rather than having its own.
An automation was created but does not runAutomations created through the API are always created paused, by design. Activate it from the dashboard after reviewing it.

FAQ

QuestionAnswer
What is the Slide MCP server?It is an implementation of the Model Context Protocol that exposes Slide to an AI assistant. Once connected, Claude or Cursor can read your contacts, campaigns, message logs and analytics, and, when you allow it, send messages, build automations and manage voice agents.
Do I need to install anything?No. Point your MCP client at https://slide.synquic.com/api/mcp and authenticate with a Slide API key. There is no package to install and nothing to run.
Can an AI assistant message my customers by accident?No. Every tool that sends a message, launches a campaign or places a call is withheld unless you explicitly enable writes on the connection. Read tools are always available. Even with writes enabled, an automation created through the API is always created paused.
Can the MCP server do more than my API key allows?No. Every tool call is made with your own key and passes through the same checks a normal API request does. An endpoint your key's scopes do not cover returns a 403, exactly as it would from curl.

Connect an assistant

Create a scoped key, paste the endpoint into your client, and start reading.