Connect Slack

Slack runs an official MCP server that lets a harness agent search messages and files, read channels and threads, post messages, and work with canvases and lists. Unlike Notion, Slack does not let MCP clients register themselves: your company creates a small Slack app once, and XPT Tracker connects through it.

Before you start

You need Why
Workspace admin role in XPT Tracker Only admins add and connect connectors
Permission to create an app in your Slack workspace, or a Slack admin who approves it Slack allows MCP only for apps internal to your workspace or published in the Slack Marketplace
A Slack account for the connection The connector acts as this user: agents post, search and read as them, and see only the channels they are in

Choose the account deliberately. A connector is shared by every agent it is given to. Many teams create a dedicated Slack user for agents and add it only to the channels agents should work in.

Step 1: create the Slack app

  1. Go to api.slack.com/apps, press Create New App, choose From a manifest, and pick your Slack workspace.
  2. Paste the manifest below. It already contains XPT Tracker's redirect URL and every user scope the Slack MCP server offers.
{
  "display_information": { "name": "XPT Tracker" },
  "features": {
    "bot_user": { "display_name": "XPT Tracker", "always_online": false }
  },
  "oauth_config": {
    "redirect_urls": ["https://app.xpt.ai/api/mcp-connectors/oauth/callback"],
    "scopes": {
      "bot": ["users:read"],
      "user": [
        "canvases:read", "canvases:write",
        "channels:history", "channels:read", "channels:write",
        "chat:write", "emoji:read",
        "files:read", "files:write",
        "groups:history", "groups:read", "groups:write",
        "im:history", "im:read", "im:write",
        "lists:read", "lists:write",
        "mpim:history", "mpim:read", "mpim:write",
        "reactions:read", "reactions:write",
        "search:read.files", "search:read.im", "search:read.mpim",
        "search:read.private", "search:read.public", "search:read.users",
        "users:read", "users:read.email"
      ]
    }
  },
  "settings": { "org_deploy_enabled": false, "socket_mode_enabled": false }
}

The bot user is never used by agents. Slack refuses to install an app that has no bot user, which is the only reason it is in the manifest.

  1. In the app's settings, open Agents & AI Apps and switch Model Context Protocol on.
  2. Open OAuth & Permissions and opt in to PKCE if the option is offered.
  3. Open Basic Information → App Credentials and copy the Client ID and Client Secret.
  4. If your Slack workspace requires approval for new apps, ask a Slack admin to approve it.

The redirect URL to register is also shown in XPT Tracker, in the connector's Advanced section, under Redirect URL to register with the provider.

Step 2: add the connector in XPT Tracker

  1. Open Workspace settings → MCP → Connectors and press Add connector.

  2. Fill in the form:

    Field Value
    Name Slack
    Key slack (cannot be changed later)
    Server URL https://mcp.slack.com/mcp
    Authentication OAuth
    Advanced → Client ID the Client ID from step 1
    Advanced → Client secret the Client Secret from step 1
  3. Press Add and connect. Slack opens in the browser.

  4. Sign in as the account chosen above and press Allow.

  5. You return to the Connectors list, and the connector shows Connected.

Give it to agents

Open AI Studio → Agents, select a harness agent, and add Slack in its Connectors section. The change applies from the agent's next turn.

When something goes wrong

What you see What to do
XPT Tracker asks for a client id and secret Slack does not register clients automatically. Enter the app's Client ID and Client Secret under Advanced
Slack says the redirect URL does not match Add the redirect URL shown in the connector's Advanced section to the app's OAuth & Permissions → Redirect URLs
Slack reports an invalid or missing scope Make sure the app has every user scope from the manifest above
Slack says the app has no bot user to install Add a bot user and one bot scope (users:read), as in the manifest
Slack reports that the app cannot use MCP Switch on Model Context Protocol under Agents & AI Apps, and keep the app internal to your workspace
The connector shows Needs reconnect The app was uninstalled or the user's access was revoked. Press Reconnect
Agents cannot see a channel The connecting user is not a member of it. Invite that user to the channel