By Goptin · Updated 2026-11-05

Slack in Cursor, Codex, VS Code and Gemini CLI — every workspace, one server

Slack's hosted MCP server works in clients like Cursor and Claude Code once your workspace admin approves it — one workspace per sign-in. If you work in several workspaces, or want Teams, Google Chat and Jira next to Slack, registering a server per account in every editor gets old fast.

Below are ready configs for each client pointing at one server that holds all your accounts. Replace goptin_… with the token from Settings → Integrations.

Config for each client

Cursor

File: ~/.cursor/mcp.json

{
  "mcpServers": {
    "goptin": {
      "url": "https://app.goptin.com/mcp",
      "headers": {
        "Authorization": "Bearer goptin_…"
      }
    }
  }
}

VS Code (Copilot)

File: .vscode/mcp.json

{
  "servers": {
    "goptin": {
      "type": "http",
      "url": "https://app.goptin.com/mcp",
      "headers": {
        "Authorization": "Bearer goptin_…"
      }
    }
  }
}

Windsurf

File: ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "goptin": {
      "serverUrl": "https://app.goptin.com/mcp",
      "headers": {
        "Authorization": "Bearer goptin_…"
      }
    }
  }
}

Codex CLI

File: ~/.codex/config.toml

[mcp_servers.goptin]
url = "https://app.goptin.com/mcp"
http_headers = { "Authorization" = "Bearer goptin_…" }

Gemini CLI

File: ~/.gemini/settings.json

{
  "mcpServers": {
    "goptin": {
      "httpUrl": "https://app.goptin.com/mcp",
      "headers": {
        "Authorization": "Bearer goptin_…"
      }
    }
  }
}

Claude Desktop

File: claude_desktop_config.json

{
  "mcpServers": {
    "goptin": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://app.goptin.com/mcp",
        "--header",
        "Authorization:${GOPTIN_AUTH}"
      ],
      "env": {
        "GOPTIN_AUTH": "Bearer goptin_…"
      }
    }
  }
}

Claude Desktop custom connectors expect OAuth, so the config above uses mcp-remote as a small bridge that adds the bearer header.

Setup

  1. 1
    Connect your Slack workspaces
    Start the free trial at app.goptin.com and connect each Slack workspace under Connections. Teams, Google Chat, Jira and ClickUp work the same way.
  2. 2
    Create a token
    Settings → Integrations → create a token (shown once, stored as a hash, revocable). The page also shows the configs above with your token filled in.
  3. 3
    Paste the config for your client
    Paste the block for your client from the section above, then reload MCP servers in the client.
  4. 4
    Ask by workspace name
    "Summarize #dev in Slack job A since yesterday and draft an update for #standup in Slack job B."

FAQ

Does Slack's own MCP server work in Cursor?

Yes. Slack documents a Cursor setup for its hosted server; your workspace admin has to approve the integration, and each sign-in covers one workspace.

Which clients does the Goptin server work with?

Any client that supports Streamable HTTP with a custom header: Cursor, VS Code (Copilot), Windsurf, Codex CLI, Gemini CLI and Claude Code directly, and Claude Desktop through mcp-remote.

Is the same token used in every client?

It can be, but you can also create one token per client and revoke them separately in Settings → Integrations.

Will the agent send Slack messages without asking?

The server tells the model to show you the exact text first, and clients like Claude Code and Cursor ask before running a tool that sends a message.

How much does it cost?

The MCP server is included in every Goptin plan, including the 14-day free trial — no card required.

Get your token — free for 14 days →

No card needed. Works with every client listed above.

Related guides