MewCP LogoAStheTech
MCPs
Use Cases

Use cases by category

Productivity & InboxInbox, calendar, and daily flowEngineering & DevOpsShip, debug, and run on-callSales & CRMPipeline, outreach, and dealsMarketing & GrowthCampaigns, SEO, and growthSupport & SuccessTriage tickets, keep customers happyFinance & OpsClose, reconcile, and expensesCreative & ContentGenerate assets and contentPeople & HiringHiring, onboarding, and HRResearch & DataSynthesize data and insights
See all use cases
BlogsPricingDocsLogin
MewCP Logo

Infrastructure You Can Trust for Agentic Products

X

Categories

  • Productivity & Docs
  • Developer Tools
  • CRM & Sales
  • Finance & Commerce
  • Data & Analytics
  • Marketing & SEO
  • Search & Web
  • Communication
  • View All Servers →

Resources

  • Blog
  • Docs
  • Privacy Policy
  • Terms of Service

Blogs

  • View All Blogs →
Browse Servers|Pricing|Contact

Browse by Category

Productivity & Docs

  • Gmail
  • Google Drive
  • Google Classroom
  • Google Calendar
  • Google People
  • YouTube
  • Notion
  • ClickUp
  • Figma

Developer Tools

  • Gemini
  • Veo
  • ClickUp
  • Firecrawl
  • Vercel
  • Apify
  • Github
  • HTTP
  • Chef
  • Scientific Calculator
  • Figma
  • Perplexity

CRM & Sales

  • Google People

Finance & Commerce

  • Razorpay
  • Polymarket
  • Kite
  • Stripe
  • Binance

Marketing & SEO

  • Mailchimp
  • Google Business
  • YouTube

Search & Web

  • Web Scrapper
  • Firecrawl
  • Apify
  • Perplexity

Communication

  • Gmail
  • Google Meet
  • Mailchimp
  • Google Calendar
  • WhatsApp
  • Slack

© 2026 MewCP. All rights reserved.

Slack

Slack

v1.0.00 callsOAuthGitHub
Open in ChatGPTChatGPT
Open in ClaudeClaude

Documentation

Guide

Connect

Gateway URL

https://gateway.mewcp.com/slack/mcp

Integrations

Click a client to view its config snippet and setup steps, or use Connect above to add this server and get your key.

Help Improve This Server

Missing a tool?

Found a bug?

Have an idea for an improvement?

Share your feedback directly with the maintainers - every feedback helps make this server better for everyone.

Open GitHub Issues →

Your entire Slack workspace, accessible through AI.

A Model Context Protocol (MCP) server that exposes Slack's API for messaging, channel management, user discovery, and workspace administration.

Overview

The Slack MCP Server provides comprehensive access to your Slack workspace:

  • Send, read, edit, delete, and search messages across channels and threads
  • Manage channels — create, archive, invite users, and browse the workspace roster
  • Search files, find users, extract threads, and inspect workspace metadata

Perfect for:

  • AI assistants that need to send or read Slack messages on your behalf
  • Automating channel management, notifications, and team coordination
  • Building tools that integrate Slack with other services and workflows

Tools

Messaging

Posts a message to a Slack channel or direct message, with optional rich formatting via Block Kit.

Inputs:

- `channel` (string, required) — Channel ID or name (e.g., #general or C123ABC456)
- `text` (string, optional) — Plain text message (up to 4000 characters)
- `blocks` (list, optional) — Slack Block Kit JSON for rich formatting
- `thread_ts` (string, optional) — Parent message timestamp to reply in a thread
- `reply_broadcast` (bool, optional) — Also broadcast the reply to the channel (default: false)

output:

{
  "ok": true,
  "channel": "C123ABC456",
  "ts": "1234567890.123456",
  "message": { "text": "Hello!", "user": "U123" }
}

Retrieves message history from a channel with optional timestamp range filtering.

Inputs:

- `channel` (string, required) — Channel ID or name
- `limit` (int, optional) — Number of messages to return (1–100, default: 20)
- `oldest` (string, optional) — Oldest timestamp cutoff (Unix timestamp)
- `latest` (string, optional) — Latest timestamp cutoff (Unix timestamp)

output:

{
  "ok": true,
  "messages"

Edits the text or blocks of an existing message in a channel.

Inputs:

- `channel` (string, required) — Channel ID
- `ts` (string, required) — Timestamp of the message to update
- `text` (string, optional) — New text content
- `blocks` (list, optional) — New Block Kit JSON

output:

{
  "ok": true,
  "channel": "C123ABC456",
  "ts": "1234567890.123456",

Permanently deletes a message from a channel.

Inputs:

- `channel` (string, required) — Channel ID
- `ts` (string, required) — Timestamp of the message to delete

output:

{
  "ok": true,
  "channel": "C123ABC456",
  "ts": "1234567890.123456"
}

Searches all messages across the workspace using a query string, with sorting options.

Inputs:

- `query` (string, required) — Search query string
- `sort` (string, optional) — Sort by: score or timestamp (default: score)
- `sort_dir` (string, optional) — Sort direction: asc or desc (default: desc)
- `count` (int, optional) — Number of results to return (default: 20)

output:

{
  "ok": true,
  "messages": {
    "total": 


Posts a reply to a specific thread, with the option to broadcast it to the channel.

Inputs:

- `channel` (string, required) — Channel ID
- `thread_ts` (string, required) — Timestamp of the parent message to reply to
- `text` (string, optional) — Reply text content
- `blocks` (list, optional) — Block Kit JSON for rich formatting
- `broadcast` (bool, optional) — Broadcast the reply to the channel (default: false)

output:

{
  "ok": true,
  "ts": 

Channel Management

Returns a paginated list of channels with optional type and archived filtering.

Inputs:

- `exclude_archived` (bool, optional) — Skip archived channels (default: true)
- `limit` (int, optional) — Channels per page (1–100, default: 20)
- `cursor` (string, optional) — Pagination cursor from response_metadata.next_cursor
- `types` (string, optional) — Comma-separated channel types: public_channel, private_channel, mpim, im (default: public_channel)
- `team_id` (string, optional) — Team ID for org-wide apps only

output:





Creates a new public or private Slack channel.

Inputs:

- `name` (string, required) — Channel name (lowercase, no spaces or special characters)
- `is_private` (bool, optional) — Create as a private channel (default: false)
- `description` (string, optional) — Channel description

output:

{
  "ok": true,
  "channel": { "id": "C456", "name": 

Archives or unarchives a Slack channel.

Inputs:

- `channel` (string, required) — Channel ID
- `archive` (bool, optional) — true to archive, false to unarchive (default: true)

output:

{
  "ok": true
}

Returns metadata for a specific channel including member count and settings.

Inputs:

- `channel` (string, required) — Channel ID

output:

{
  "ok": true,
  "channel": {
    "id": "C123",
    "name": "general",
    "num_members": 42,
    "topic": { 


Invites one or more users to an existing channel.

Inputs:

- `channel` (string, required) — Channel ID
- `users` (list, required) — List of user IDs to invite

output:

{
  "ok": true,
  "channel": { "id": "C123", "name": "general", "members": ["U123", "U456"

Search & Discovery

Searches files in the workspace by query and optional type filter.

Inputs:

- `query` (string, optional) — Search query string
- `sort` (string, optional) — Sort by: score or timestamp (default: score)
- `sort_dir` (string, optional) — Sort direction: asc or desc (default: desc)
- `count` (int, optional) — Number of results to return (default: 20)
- `types` (string, optional) — File type filter (e.g., images, pdfs, docs)

output:

{
  "ok": true,
  "files"



Fetches all channels in the workspace (with automatic pagination) and returns them with metadata.

Inputs:

- `include_archived` (bool, optional) — Include archived channels (default: false)

output:

{
  "ok": true,
  "channels": [{ "id": "C123", "name": "general", "num_members": 50 }, 

Looks up a user by their Slack ID, display name, real name, or email address.

Inputs:

- `query` (string, required) — User name, email address, or Slack user ID (e.g., U123ABC)

output:

{
  "ok": true,
  "matches": [{ "id": "U123", "name": "jane", "real_name": "Jane Doe", 

Retrieves thread metadata (reply count, latest reply, original message) from recent messages in a channel.

Inputs:

- `channel` (string, required) — Channel ID
- `limit` (int, optional) — Number of messages to scan for threads (default: 10)

output:

{
  "ok": true,
  "threads": [
    { "ts": "...", "user": "U123", 

Workspace & Users

Returns a paginated list of all users in the workspace.

Inputs:

- `limit` (int, optional) — Users per page (1–100, default: 20)
- `cursor` (string, optional) — Pagination cursor from a previous response

output:

{
  "ok": true,
  "members": [{ "id": "U123", "name": 

Returns information about the Slack workspace including name, domain, and settings.

Inputs:

none

output:

{
  "ok": true,
  "team": {
    "id": "T123",
    "name": "My Company",
    "domain": "mycompany",
    "email_domain": "mycompany.com"

Returns the current presence status (active or away) of a workspace user.

Inputs:

- `user` (string, required) — Slack user ID (e.g., U123ABC456)

output:

{
  "ok": true,
  "presence": "active",
  "online": true,
  "auto_away": false
}

Verifies the server is operational. No authentication required.

Inputs:

none

output:

{
  "status": "ok",
  "server": "CL Slack MCP Server"
}

API Parameters Reference

Most tools accept either a channel ID or a channel name:

channel ID:   C123ABC456   (preferred — stable even if channel is renamed)
Channel name: #general     (convenient but can break if channel is renamed)

use list_channels or map_channels to look up channel IDs.

Slack uses Unix timestamps with microseconds as unique message identifiers:

format:  1234567890.123456
Example: 1712345678.000200

the ts field from any message response can be used to reply, update, delete, or identify a message. The thread_ts is the ts of the first message in a thread.

List tools that return large result sets support cursor-based pagination:

  • cursor — Pass the next_cursor value from response_metadata in the previous response
  • limit — Number of results per page (max: 100)

Omit cursor to start from the beginning.

The blocks parameter accepts Slack Block Kit JSON for rich message formatting:

[
  {
    "type": "section",
    "text": { "type": "mrkdwn", "text": "*Hello!* This is bold." }
  }
]

full Block Kit reference: Slack Block Kit Builder

Troubleshooting

  • Cause: OAuth token not provided in request headers or incorrect format
  • Solution:
    1. Verify Authorization: Bearer YOUR_TOKEN and X-Mewcp-Credential-Id: CREDENTIAL-ID headers are present
    2. Check your Slack OAuth credential is active in your MewCP account
  • Cause: API calls have exceeded your request limits
  • Solution:
    1. Check credit usage in your Curious Layer dashboard
    2. Upgrade to a paid plan or add credits for higher limits
    3. Contact support for credit adjustments
  • Cause: No Slack credential linked to your account
  • Solution:
    1. Go to Credentials in your MewCP dashboard
    2. Connect your Slack workspace via OAuth
    3. Retry the request with the correct X-Mewcp-Credential-Id header
  • Cause: JSON payload is invalid or missing required fields
  • Solution:
    1. Validate JSON syntax before sending
    2. Ensure all required tool parameters are included
    3. Check that blocks is a valid Slack Block Kit JSON array
  • Cause: Incorrect server name in the API endpoint
  • Solution:
    1. Verify endpoint format: {server-name}/mcp/{tool-name}
    2. Use correct server name from documentation
    3. Check available servers in your Curious Layer account
  • Cause: Upstream Slack API returned an error
  • Solution:
    1. Check Slack service status at Slack Status
    2. Verify your OAuth token has the required scopes for the operation (e.g. chat:write, channels:read)
    3. Review the error message in the response — common errors: not_in_channel, channel_not_found, missing_scope

Resources

  • Slack API Documentation — Official API reference
  • Slack Web API Methods — Complete method reference
  • Slack Block Kit Builder — Visual block builder
  • FastMCP Docs — FastMCP specification
  • FastMCP Credentials — FastMCP Credentials package for credential handling
: [{
"type"
:
"message"
,
"text"
:
"Hello!"
,
"user"
:
"U123"
,
"ts"
:
"..."
}],
"has_more": false
}
"text": "Updated message"
}
5
,
"matches": [{ "text": "...", "channel": { "id": "C123" }, "ts": "..." }]
}
}
"1234567890.999999"
,
"message": { "text": "Reply text", "thread_ts": "..." }
}
{
"ok": true,
"channels": [{ "id": "C123", "name": "general", "is_private": false }],
"response_metadata": { "next_cursor": "cursor-string" }
}
"new-channel"
,
"is_private"
:
false
}
}
"value"
:
"Company news"
},
...
}
}
] }
}
: {
"total": 3,
"matches": [{ "name": "report.pdf", "url_private": "..." }]
}
}
...
],
"total": 12
}
...
}],
"total": 1
}
"text"
:
"..."
,
"reply_count"
:
5
,
"latest_reply"
:
"..."
}
]
}
"jane"
,
"real_name"
:
"Jane Doe"
,
...
}],
"response_metadata": { "next_cursor": "cursor-string" }
}
}
}