macOS menu-bar app · fully local · MCP for AI agents

Your Slack. Your Mac. Your AI agents.

Connect Cursor, Claude, or Cowork to the Slack desktop session already on your Mac. Search archived messages past Slack Free limits, run digests, set reminders, post to your DM, and automate without asking a workspace admin to install anything.

Universal · Apple Silicon + Intel macOS 13+ Free & open source MCP on 127.0.0.1

Why this exists

Slack bots and Marketplace apps can summarize channels, but they need admin approval, OAuth installs, and ongoing trust decisions. Most teams cannot casually wire an AI agent into company Slack. You still want automations, reminders, channel summaries, and searchable history inside the tools you already use.

Slack Agent Bridge sits on your Mac, reuses your existing Slack desktop login, and exposes a local MCP server so agents can read what you allow, write only what you enable, and keep a private archive that Slack Free will not serve after about 90 days. No IT ticket. No bot user in your workspace directory. Just you, your Mac, and the agent you trust.

First launch on macOS

Free and open source. Ad-hoc signed (no paid Apple Developer ID). macOS warns once. That is expected.

Gatekeeper: app cannot be opened or developer cannot be verified

This is not malware. The app is not signed with Apple's paid Developer Program ($99/year). I ship it free without that yearly cost.

  • Easiest: Applications → right-click Slack Agent BridgeOpenOpen (once only).
  • Or: System Settings → Privacy & Security → Open Anyway after a blocked launch.
  • Terminal: xattr -dr com.apple.quarantine "/Applications/Slack Agent Bridge.app"
Keychain: click Always Allow

When macOS asks to access Slack Safe Storage (or your login keychain), choose Always Allow.

  • Always Allow = recommended. Agents and MCP calls work without repeated prompts.
  • Allow once = may break mid-task when macOS asks again.
  • Deny = reset in Keychain Access, then reconnect and choose Always Allow.

How it works

Three steps, then your agent can call Slack tools over MCP.

01

Connect locally

Install the app and connect your Slack desktop session. Credentials stay in the macOS Keychain on this device. Click Always Allow when macOS asks for Keychain access so MCP calls do not stall.

02

Choose workspaces and channels

Enable workspaces explicitly. Pick which channels to archive and which channels agents may read. Turn on write capabilities only when you need them: DM, reminders, reactions, scheduled messages, and more.

03

Issue a token for your agent

Create an agent token, paste the mcp.json snippet into Cursor or Claude, and call tools over http://127.0.0.1:47821/mcp. The server never leaves your Mac.

Everything in the box

Built for people who want Slack inside their AI workflow, not another Slack app in the admin console.

No admin approval

Reuses the local Slack desktop session, same practical approach as Auto AFK Slack. No OAuth app install for the workspace owner.

Local message archive

SQLite + full-text search on your Mac. Keep searching messages after Slack Free stops serving history older than about 90 days.

MCP server for agents

Streamable HTTP MCP on loopback only. Revocable bearer tokens with per-workspace capability flags.

Granular capabilities

Default deny. Separate Archive vs Agent channel lists. Toggle read, post, schedule, pin, edit, delete, status, and reminders per workspace.

Automations

Daily digests, keyword watches, and task drafts from archived traffic. Deliver to self-DM, Slackbot inbox, group DM, or Mac only.

Agent-friendly tools

Search, summarize channels, list mentions, send DM to self, create reminders, schedule messages, reactions, pins, and run local automations.

Quick Setup wizard

Guided checklist walks Connection, Workspaces, Archive, Agent Access, and MCP link test so you know when setup is complete.

Privacy controls

Export or wipe the archive. Revoke tokens. Optional headless CLI is off by default. Audit log for MCP tool calls.

Single-instance and session health

One app instance per Mac. Re-imports Slack session on a timer, after wake-from-sleep, and on auth errors.

All 15 workspace capabilities

Default deny. Turn on only what your agent needs. Both the agent token and workspace must allow each flag.

CapabilityEnables
Read channelsList channels, history, search, summarize, list mentions
Archive channelsSync messages into local SQLite archive
Post to my DMsend_dm_to_self, automation to notes-to-self
Post to DMs (agent-allowed)send_dm to IMs on the allow-list
Post to channels (agent-allowed)send_channel to allowed channels
Post to group DMs (automation inbox)Slackbot inbox, create_automation_group_dm
Schedule messagesschedule_message, list and delete scheduled
Set reminderscreate_reminder to yourself
Set statusset_status with emoji and expiry
Add reactionsadd_reaction
Remove reactionsremove_reaction
Pin messagespin_message
Unpin messagesunpin_message
Edit messagesupdate_message
Delete messagesdelete_message

Inside the app

A guided tour of the settings you will actually use.

Quick Setup

Step-by-step wizard checks connection, workspace enablement, channel picks, token creation, and agent link verification.

Quick Setup wizard showing completed setup checklist

Connection

See MCP status, archive size, and session health. Refresh the local Slack session or disconnect from Keychain anytime.

Connection pane showing connected status and MCP server on localhost

Workspaces and capabilities

Enable workspaces one by one. Capabilities are explicit toggles so agents cannot surprise-post until you allow it.

Workspace capabilities toggles for read, archive, post, schedule, and reactions

Channel access

Archive stores locally. Agent marks what MCP may read. Configure automation delivery to self-DM, Slackbot inbox, or group DM.

Channel access list with Archive and Agent checkboxes and automation delivery settings

Archive

Pause sync, set interval, apply retention, export, or wipe. Honest about Slack Free: old messages stay searchable here, not in Slack itself.

Archive pane with message count, disk usage, and sync controls

Agent Access

Create and rotate tokens. Copy the Cursor or Claude mcp.json template. MCP listens on localhost when enabled.

Agent Access pane with MCP server toggle and token management

What agents can do in Slack

Real messages from Cursor tests: personal DM and Slackbot automation inbox.

Notes to self

Agents post to your personal DM with Mac notifications when delivery lands. Good for quick agent handoffs and test pings.

Slack personal DM with a test message sent via Slack Agent Bridge from Cursor

Slackbot inbox

Automation delivery can land in a starred Slackbot DM with reminders and Mac banners so you notice agent output without hunting threads.

Slackbot DM showing automation test message from Slack Agent Bridge

MCP tools

Every tool is workspace-scoped and capability-gated. Agents only see agent-allowed channels.

ToolPurpose
list_workspacesWorkspaces enabled for this token
list_agent_channelsChannels on the agent allow-list
search_messagesArchive FTS + optional live Slack search
get_channel_historyHistory for an allowed channel
get_threadThread messages in an allowed channel
list_mentionsRecent @mentions in allowed channels
summarize_dayLocal digest across allowed channels
summarize_channelChannel summary with optional user filter
get_userUser profile (cached or live)
create_reminderSlack reminder to yourself
send_dm_to_selfPost to your own DM
send_dmPost to an allowed DM channel
send_channelPost to an allowed channel
schedule_messageSchedule a DM or channel message
list_scheduled_messagesList scheduled messages
delete_scheduled_messageCancel a scheduled message
update_message / delete_messageEdit or delete your messages
add_reaction / remove_reactionEmoji reactions
pin_message / unpin_messagePin management
set_statusSet your Slack status
draft_task_listExtract tasks from recent archive
create_automation_group_dmCreate Slackbot automation inbox
list_automations / run_automationLocal digest and keyword rules
Cursor / Claude config (replace the token after you create one in the app):
{
  "mcpServers": {
    "slack-agent-bridge": {
      "url": "http://127.0.0.1:47821/mcp",
      "headers": {
        "Authorization": "Bearer <your-token>"
      }
    }
  }
}

Security and privacy

Local by design. Your Slack session never leaves this Mac except to talk to slack.com over HTTPS.

Loopback MCP only

The MCP server binds to 127.0.0.1. Other apps on your Mac still need a valid bearer token and matching capabilities.

Keychain storage

Slack session credentials use macOS Keychain with this-device-only access. Agent tokens are SHA-256 hashed at rest.

Default deny

Workspaces, channels, and write capabilities are off until you enable them. list_channels returns only agent-allowed channels.

No telemetry

No analytics, no third-party endpoints. Optional verbose logging via SLACKAGENT_DEBUG=1 only when you opt in.

Hardened storage

Application Support directory mode 0700. Archive database 0600. Headless CLI send is off by default.

Audit trail

MCP tool calls and token lifecycle events append to a local audit log. Export or wipe archive data anytime.

Full threat model and checklist: docs/SECURITY.md in the repository. The unofficial xoxc session path is the same family as other local Slack utilities; tokens can rotate, and the app re-imports on a schedule and on auth errors.

Requirements and install

macOS13.0 Ventura or later
ChipApple Silicon or Intel (universal binary)
SlackDesktop app installed and signed in
Download≈ 3.4 MB · .dmg from Releases
PriceFree and open source (MIT)
# 1. Download the latest .dmg from GitHub Releases (link updates automatically on this page) # 2. Drag Slack Agent Bridge into Applications # 3. FIRST LAUNCH ONLY: right-click Slack Agent Bridge → Open → Open # (macOS blocks ad-hoc apps; this is normal for free open-source Mac software) # 4. KEYCHAIN: click Always Allow when asked for Slack Safe Storage # (not "Allow once" — agents will fail if macOS keeps re-prompting) # 5. Open settings → connect Slack → enable a workspace → create agent token → paste mcp.json

Notes on distribution: Ad-hoc signed, not notarized. No paid Apple Developer account, so no yearly $99 fee passed on to you. See First launch and FAQ for Gatekeeper and Keychain steps.

FAQ

macOS says the developer cannot be verified. Is it safe?

Yes, if you downloaded from GitHub Releases. The app is free and open source and is ad-hoc signed, not notarized with a paid Apple Developer ID ($99/year). macOS warns on first open for apps like this.

Fix: Right-click the app in Applications → OpenOpen. Or use System Settings → Privacy & Security → Open Anyway. Or run: xattr -dr com.apple.quarantine "/Applications/Slack Agent Bridge.app"

Keychain keeps asking for a password. What should I click?

Click Always Allow when macOS asks to access Slack Safe Storage or your login keychain. That lets the app read your local Slack session without prompting on every agent call.

If you clicked Deny: open Keychain Access, search for Slack Safe Storage, fix Access Control for Slack Agent Bridge, quit and reopen the app, then choose Always Allow.

Do I need workspace admin approval?

No. The app reads the Slack desktop session already on your Mac. It does not install a Slack app into the workspace or ask an admin to approve OAuth scopes.

Will old Free-plan messages reappear inside Slack?

No. Slack Free still will not show messages older than about 90 days in the Slack app. This product keeps a local searchable copy for agents, digests, and export. It does not inject history back into Slack.

How is this different from a Slack bot?

A bot runs in the cloud with workspace-wide permissions and admin setup. Slack Agent Bridge runs on your Mac, scopes access to channels you mark, and exposes tools to your local AI agent over MCP. Better for personal productivity and agent workflows than rolling out another bot.

Can my whole team use one install?

Each person runs their own copy on their own Mac with their own Slack login and their own archive. There is no shared cloud backend.

What if Slack desktop updates break auth?

Use Refresh local session in Connection settings. The app also re-imports on a timer and retries on API auth errors.

Where does the download link come from?

This page fetches the latest .dmg from GitHub Releases automatically. When you publish a new release asset, the download buttons update without editing the page.

Are you affiliated with Slack?

No. Slack Agent Bridge is an independent, unofficial project by Gobinda Tarafdar. Slack is a trademark of Slack Technologies, LLC.

More local Slack apps from the same maker

Gobinda Tarafdar builds macOS Slack utilities that skip admin approval and stay on your Mac.

Auto AFK Slack Lock your Mac, Slack goes AFK. Unlock clears status. No login, no admin. Slack Teammate Time Teammate local times inline in Slack desktop. No Marketplace app.

Slack Agent Bridge

This app: MCP for Cursor and Claude, local archive past Slack Free limits, automations, reminders, and capability-gated writes.

About the maker

Gobinda Tarafdar

Gobinda Tarafdar

WordPress product marketer · stubborn problem-solver · lifelong Harry Potter devotee

By day I am the Product Marketing Specialist at WPBakery, the page builder that quietly powers a sizeable corner of the WordPress universe. Before that, I helped a single plugin cross 400,000+ active users through positioning, user research, and a relentless focus on what actually moves the needle.

When the day-job owl flies home, I tinker on my own little workshop of spells. Slack Agent Bridge is one of them: a bridge between the Slack you already have and the AI agents you already use.

If it saves you a Slack admin ticket, star the repo

Slack Agent Bridge is free and open source. A GitHub star helps others find it. A small donation keeps the workshop lit.