How to connect Slack to Cursor: Slack MCP setup
Give Cursor's agent your Slack: read channels and threads, find people and post updates as you, with Slack's plugin or Upsy, and no Slack app to build.
Updated
Short answer
Type /add-plugin slack in Cursor's Agent chat to install Slack's own plugin, then sign in to your workspace. It needs a Slack admin's approval and gives full search. To use several workspaces, have read-only enforced, or share one Slack connection with your other assistants, connect Slack in Upsy and add https://upsy.ai/connect to ~/.cursor/mcp.json. Either takes a few minutes, and neither has you create a Slack app or paste a token.
Not to be confused with @Cursor in Slack, which works the other way: you mention Cursor in a Slack thread to start a Cloud Agent on your code.
The built-in way: Slack's plugin
Slack publishes an official plugin in the Cursor Marketplace. It connects Cursor to Slack's MCP server at https://mcp.slack.com/mcp and adds skills and commands such as channel digests, standups and announcement drafts (Slack's docs). Install it one of two ways:
- Type
/add-plugin slackin Agent chat. - Open Customize, find Slack in the Marketplace, click Install and pick your user or the project.
Cursor asks you to sign in to Slack the first time a Slack tool runs. The plugin's server works in the editor, the Agent Window and the CLI. Its tools search messages, files, people and channels, read channels and threads, send, schedule and draft messages, and work with canvases and lists (Slack MCP server).
What to know before you rely on it:
- Admin approval. Your workspace admin has to approve Slack's MCP integration. "Not authorized to install" in the sign-in means it's waiting for that (Cursor forum).
- Only listed apps. Slack lets only Marketplace apps and a company's internal apps use its server, without dynamic client registration. The plugin carries a Slack client ID for this, so adding
mcp.slack.comtomcp.jsonby hand doesn't sign in. - Nightly builds. Cursor Nightly can't complete Slack's sign-in, because of its callback address (Cursor forum).
Slack's plugin is the better fit when your admin approves it and you need full-text search, canvases, lists or scheduled messages. Upsy can't do those today.
@Cursor in Slack
Cursor's Slack integration lets your team mention @Cursor in a channel or thread. Cursor reads the thread, starts a Cloud Agent on your repo and posts back a plan and a pull request. It needs a Premium plan or higher, Teams, Enterprise or a legacy paid plan, and it's set up in Cursor's dashboard. It doesn't give the agent in your editor access to Slack. For that, you need one of the MCP servers on this page.
Community servers
slack-mcp-server runs on your machine with a Slack user token, a bot token, or session tokens copied out of your browser. Posting is off until you turn it on with SLACK_MCP_ADD_MESSAGE_TOOL. Slack's older reference server, @modelcontextprotocol/server-slack, is archived.
How Upsy's Slack is different
Upsy connects through its own Slack app and Slack's Web API, with a user token, so it acts as you and no bot joins your channels. Its app isn't in the Slack Marketplace yet, which has two effects:
- No search yet. Slack's search API is only for Marketplace apps. Upsy offers
slack_search_messagesonce it's listed; until then Cursor finds messages by reading the channels and threads you name. - Reading is rate-limited. Slack lets unlisted apps read a channel's or thread's history about once a minute, 15 messages at a time (Slack's changelog).
What it adds: up to five Slack workspaces in one server, Read-only or hand-picked tools enforced by Upsy, a history of every message Cursor sent, alerts, and the same Slack in the Cursor CLI, Claude Code, Codex, Claude and ChatGPT, next to Gmail and your other apps. The Cursor hub covers what else it holds.
What you need
- Cursor, on any plan.
- A free Upsy account.
- A Slack workspace where you can install apps. If your workspace requires approval for apps, an admin approves Upsy too.
Connect Slack to Cursor
Go to upsy.ai and click Set up Upsy to create a free account.
Open Apps and choose Slack. On Slack's permission page, pick the workspace and allow Upsy to act as you. Connect Slack again for each other workspace, up to five.
Optional: on the Assistants page, click Add assistant and pick Cursor under Which assistant? to see these steps with the snippet to copy.
Add Upsy to
~/.cursor/mcp.json(create the file if it isn't there):{"mcpServers":{"upsy":{"url":"https://upsy.ai/connect"}}}In Cursor, open Customize › MCPs and click Connect next to upsy. Your browser opens an Upsy page.
Sign in, tick Slack, keep full access or switch it to Read-only, and click Allow.
Already use Upsy in Cursor? Skip steps 4 and 5. Turn Slack on for Cursor on Upsy's Assistants page, then turn upsy off and on in Customize so Cursor loads the new tools.
Check that it works
Ask Cursor's agent:
Use upsy to show the last 10 messages in #general.
Cursor asks to run slack_read_channel from upsy, then shows the messages with authors, times and reply counts. The tools take a channel name like #general, a channel ID, or a person's user ID for your DM with them.
What Cursor can do with Slack
| Tool | What it does | In Read-only |
|---|---|---|
slack_list_channels |
Channels, group DMs and DMs you're in | Yes |
slack_search_channels |
Channels by name, with topic and member count | Yes |
slack_search_users |
People by name, display name or email | Yes |
slack_read_user_profile |
Someone's name, title, email, time zone and status | Yes |
slack_read_channel |
A channel's or DM's messages, newest first, between oldest and latest |
Yes |
slack_read_thread |
A whole thread, from its first message | Yes |
slack_search_messages |
Full search, once Upsy is in the Slack Marketplace | Yes |
slack_send_message |
Posts as you to a channel, DM or thread; reply_broadcast also shows a reply in the channel |
No |
The names match Slack's own server where both have the tool. Messages use Slack's mrkdwn: *bold*, and <@U123> to mention someone.
On Upsy's Assistants page, Cursor gets Full access, Read-only (everything except sending), Pick actions or No access to Slack. With more than one workspace, each tool takes an account argument.
To let Cursor read without asking but still ask before it posts, allowlist the reading tools in ~/.cursor/permissions.json (permissions):
{ "mcpAllowlist": ["upsy:slack_read_*", "upsy:slack_search_*", "upsy:slack_list_channels"] }
Prompts to try
- "Read the thread at this Slack link and fix the bug it describes. Then reply in the thread with the PR link."
- "Summarize what changed on this branch and post it to #releases. Show me the text first."
- "Read the last hour of #incidents and check whether anyone mentioned the payments service or the files I have open."
- "Find Ada in Slack and DM her that the staging deploy is done."
- "Turn the action items in my thread with Sam into TODO comments where they belong in the code."
Troubleshooting
Cursor can't search Slack
Expected for now: Upsy offers search once it's in the Slack Marketplace. Name the channel ("in #backend") so Cursor reads it instead, or install Slack's plugin for search.
"Slack is limiting how often Upsy can read messages"
The message says how many seconds to wait. It's Slack's limit for unlisted apps. Wait, and point Cursor at one channel or thread at a time.
"Channel not found, or the user can't see it"
The name is wrong, or it's a private channel you're not in. Ask Cursor to find it with slack_search_channels first.
Slack's plugin fails with "Must use PKCE"
An older Cursor bug. Update Cursor, run Clear All MCP Tokens from the command palette, and sign in again (Cursor forum).
Both Slack's plugin and Upsy are installed
Cursor lists their tools under separate servers. Say "use upsy" or "use the Slack plugin" in your prompt, or turn one off in Customize.
Security and privacy
- Upsy holds a Slack user token, so Cursor sees only what you can see in Slack. Cursor never receives the token.
- With Read-only,
slack_send_messageisn't listed and can't be called, whatever Cursor's run mode is. - Every message Cursor reads or sends is in Upsy's History under Cursor. Upsy emails you if one assistant sends 20 or more messages within 10 minutes, and when a new assistant or app connects.
- One click on the Assistants page turns Cursor off. Disconnecting Slack in Upsy revokes the token with Slack.
FAQ
Is there an official Slack MCP server for Cursor?
Yes. Slack's plugin in the Cursor Marketplace connects Cursor to Slack's MCP server. Install it with /add-plugin slack; a workspace admin has to approve it.
Is @Cursor in Slack the same as Slack MCP?
No. @Cursor in Slack starts a Cloud Agent from a Slack thread. Slack MCP gives Cursor's agent tools to read and post in Slack while you work in the editor.
Can Cursor post to Slack as me?
Yes. Upsy's slack_send_message posts as you, not as a bot. Slack's own plugin also posts as you.
Does Slack work in the Cursor CLI?
Yes. The CLI reads the same mcp.json. Run agent mcp login upsy once to sign in from the terminal.
Can I connect two Slack workspaces to Cursor?
With Upsy, yes: connect up to five and allow each for Cursor. Slack's plugin signs in to one workspace.
Playbooks for these apps
Related guides
- How to connect Slack to Codex: Slack MCP setupLet Codex read Slack channels and threads, find people and post as you, from the CLI, IDE extension or desktop app, with no Slack app to build.
- How to connect Slack to Claude CodeAdd Slack to Claude Code so it can read channels and threads, find people and post updates as you, without creating a Slack app or pasting tokens.
- Claude routines: Claude Code's scheduled tasks, setup and limitsClaude Code routines, now called scheduled tasks: run a prompt on your repos on a schedule, a GitHub event or an API call, with connectors, limits and /loop.
- How to connect Slack to Meta MuseLet Muse read your Slack channels and threads, find people, and post messages as you, with every message it sends logged in your history.
- How to connect Slack to GrokConnect Slack to Grok and Grok Bot: read channels, threads and DMs, send messages as you, or keep it read-only. What works natively and what doesn't.
- Slack MCP server: the official server, setup and alternativesSlack's official MCP server at mcp.slack.com: its tools, which clients work, admin approval, and setup in Claude, Cursor and Codex. Plus self-hosted and Upsy.