LabscoMCP early access ↗
masseaterMCP SERVER

Slack Webhook MCP by masseater

One tool, one job: post a message to a Slack channel from an assistant, over an incoming webhook.

Team Chat PlatformsCommunity

LABSCO SUMMARY

Deliberately one-directional, which is why it is simple.

An incoming webhook can post and nothing else — it cannot read the channel, list members or see history — so the credential you hand over is narrowly scoped by construction. That makes this the right size for build notifications and status pings, and the wrong tool for anything conversational. The per-call URL override is the small piece of flexibility worth knowing about: one server can reach several channels if you pass the target explicitly.

What it is

A small MCP server that sends messages to Slack through an incoming webhook. There is no Slack app to install and no OAuth scope to negotiate — the webhook URL is the whole credential, and it is bound to one channel.

What you get

  • send_slack_message posts to the configured channel, taking the message text
  • An optional format of text or markdown, defaulting to markdown
  • An optional webhook_url on the call itself, to override the default and post somewhere else
  • Webhook URLs are validated against Slack's format before use, and errors are returned without exposing the URL

Requirements

Deno installed on the machine, and an incoming webhook created in your Slack workspace for the channel you want to post to. Set SLACK_WEBHOOK_URL in the client config and launch src/index.ts with deno run --allow-net --allow-env --allow-read, or compile a standalone binary first with deno task build and point the config at that instead.

Setup effort

Build from source — git clone https://github.com/masseater/slack-webhook-mcp.git