Operations · MCP server

Slack MCP and the Yalc Framework

The internal coordination layer for Yalc operators. Push agent run summaries, reply alerts, and weekly reports straight into the channels your team already lives in.

Yalc Fit Score
9/10
Maintainer
ModelContextProtocol
Auth
Bot token + OAuth
Tools
Read + post + react
Last reviewed
2026-04-29
Install

Add Slack to Claude Code in one command

claude mcp add slack --env SLACK_BOT_TOKEN=xoxb-your-token --env SLACK_TEAM_ID=T01234567 -- npx -y @modelcontextprotocol/server-slack

Create a Slack app at api.slack.com/apps with bot scopes (channels:history, channels:read, chat:write, reactions:write, users:read). Install to your workspace, copy the Bot User OAuth Token, replace the placeholders, run the command. Or use `claude plugin install slack` if your Claude Code version supports the plugin command.

What it does

Slack, plainly

The Slack MCP is the official `@modelcontextprotocol/server-slack` package. It exposes channel reads, message posts, reactions, user lookups, and thread management as native Claude tool calls. Auth is a single bot token plus your team ID.

For Yalc operators, Slack is the team coordination layer. The MCP lets workflows post agent run summaries to channels, alert on reply intent classification, surface campaign performance digests, and trigger interactive approval flows. Where Notion is async memory, Slack is sync attention.

Where it slots in

Position in the GTM operating system

Intake
Enrich
Score
Route
Draft
Send
Listen

The Slack MCP sits at the **route** node when Yalc needs to surface output to humans (you, your team, your AM). It pairs with Notion (async state) and Unipile (external comms) to complete the operator loop.

Yalc workflows that benefit most: agent run health alerts, hot reply notifications, weekly campaign digests, signal triggered ICP alerts, and human in the loop approval flows.

The Yalc Framework

Deploying the Slack MCP inside Yalc workflows

Workflow position

The team coordination node. Yalc posts to Slack when a human needs to know something or approve something. Reads are for context (last 10 messages in #gtm) and triggers (a slash command starts a workflow).

Prompt patterns

Copy paste prompts for Claude Code that invoke the Slack MCP.

Yalc, every Friday at 5pm, post a campaign performance digest for the last 7 days to #gtm. Include reply rate, top performing variant, and the 3 biggest accounts that engaged. → Yalc reads stats from Instantly + Unipile, summarizes via Claude, posts to Slack.
Yalc, when Predictleads detects a Series B announcement on a target account, post an alert to #signals with the company name, source URL, and recommended outbound action. → Yalc subscribes to Predictleads webhook, classifies, posts via Slack MCP.
Yalc, summarize the last 50 messages in #product, identify the top 3 customer questions, and add them to the FAQ Notion page. → Yalc reads channel history via Slack MCP, classifies via Claude, writes to Notion.

Chaining recommendations

UpstreamYalc workflow output (any source) → Slack MCP (post)
DownstreamSlack reply or reaction → Yalc workflow trigger (via webhook)

Anti patterns to avoid

Don't post to high traffic channels without testing. Yalc workflows can produce noisy alerts. Pilot in a quiet channel first, then scale.
Don't store sensitive client data in Slack messages. Slack search makes everything findable. Use Notion for state, Slack for transient signals.
Don't use Slack as a CRM. The MCP can read messages but Slack's data model is conversational, not structured. Notion or HubSpot for CRM, Slack for signals.

Compatibility

Works in Claude Code (primary), Claude Desktop, Cursor, and any MCP-compatible client. The npm package is maintained by the official ModelContextProtocol GitHub org. Slack's per-bot rate limits apply (50 msg/min per channel typical).

Operator take

Pros, cons, who it's for

Pros

  • Official ModelContextProtocol package. Stable and well documented.
  • Bot token auth, no OAuth dance for the MCP itself.
  • Reads channel history, posts messages, manages reactions and threads.
  • Free to use. Slack's bot quotas are generous for typical Yalc volume.
  • Slash command trigger pattern enables interactive approval workflows.

Cons

  • Bot scope choices matter. Wrong scope grant means tool calls return permissions errors.
  • SLACK_TEAM_ID is per workspace. Multi workspace setups need multiple MCP server registrations.
  • Slack's free plan limits message history retention. Reads can return empty for old context.
  • The MCP doesn't subscribe to events natively. Use Slack Events API plus a webhook handler for real time triggers.

Who it's for

  • GTM teams running daily standups, alerts, and digests in Slack
  • Agencies managing per client coordination channels
  • Operators who want one prompt to summarize, alert, and route across the team
Related

The Slack ecosystem inside Yalc

Alternatives

MCPs to consider instead

FAQ

Frequently asked

What scopes does the Slack bot need?

At minimum channels:history, channels:read, chat:write, reactions:write, and users:read. For private channels add groups:history and groups:read. For DMs add im:history and im:read.

Can the MCP post to private channels?

Yes, if the bot is invited to the channel and has the groups:read and groups:write scopes. The MCP itself doesn't auto join channels.

How do I trigger a Yalc workflow from a Slack slash command?

Set up a Slack slash command pointing at a webhook handler you control. The handler invokes Claude Code (or a Claude API call) which runs the Yalc workflow. The MCP itself is for reads and posts, not slash command receiving.

Does this MCP work on Slack's free plan?

Yes. The free plan limits message history retention (90 days), so reads of old messages may return empty. Posts and reactions work normally.

How do I prevent the MCP from spamming a channel?

Yalc workflows that post to Slack should always include a rate limit and a dry run flag. Test in a private channel first. If you accidentally spam, kick the bot from the channel to break the loop.

Is there an official Anthropic Slack plugin?

As of April 2026, `claude plugin install slack` works on recent Claude Code versions. If your version doesn't support plugins, use the manual `claude mcp add` command above.

Install the Slack MCP

Drop it into Claude Code and orchestrate from your next Yalc prompt.

claude mcp add slack --env SLACK_BOT_TOKEN=xoxb-your-token --env SLACK_TEAM_ID=T01234567 -- npx -y @modelcontextprotocol/server-slack