The SSE protocol will be deprecated soon. Please use streamable-http as the connectionType moving forward.

Prerequisites

To get the most out of this guide, you’ll need to:

1. Create a Slack MCP Server

Use the following endpoint to create a new remote Slack MCP server instance:

Request

curl --request POST \
  --url https://api.klavis.ai/mcp-server/instance/create \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
  "serverName": "Slack",
  "userId": "<YOUR_USER_ID>",
  "platformName": "<YOUR_PLATFORM_NAME>"
}'

Response

{
  "serverUrl": "https://slack-mcp-server.klavis.ai/sse?instance_id=<instance-id>",
  "instanceId": "<instance-id>"
}
serverUrl specifies the endpoint of the Slack MCP server, which allows you to interact with Slack workspaces and channels.
instanceId is used to get an authentication token. After you complete the OAuth flow, this token allows the MCP server to access Slack on your behalf.

2. Slack OAuth Flow

To enable your MCP server to access Slack, you need to authenticate with Slack’s OAuth flow.

const authUrl = `https://api.klavis.ai/oauth/slack/authorize?instance_id=${instanceId}`;
window.location.href = authUrl;

Watch the Example

Explore MCP Server Tools