Slack Search
Integrates with
Slack
Slack Search MCP Server
A Model Context Protocol (MCP) server that provides tools and resources to access Slack's search functionality. This server allows LLMs to search and retrieve users, channels, messages, and more from a Slack workspace.
Features
Tools
get_users
- Get a list of users in the Slack workspaceget_channels
- Get a list of channels in the Slack workspaceget_channel_messages
- Get messages from a specific channelget_thread_replies
- Get replies in a threadsearch_messages
- Search for messages in Slack
Resources
allusers://
- Get all users in the Slack workspaceallchannels://
- Get all channels in the Slack workspace
Requirements
- Bun runtime
- Slack API token with appropriate permissions
Installation
- Clone the repository
- Install dependencies:
bun install
Usage
-
Set the Slack API token as an environment variable:
export SLACK_TOKEN=xoxb-your-token-here
-
Run the server:
bun run index.ts
Or use the compiled version:
./dist/slack_search_function_mcp
Building
To build the executable:
bun run build
This will create a compiled executable in the dist
directory.
MCP Configuration
To use this server with an MCP-enabled LLM, add it to your MCP configuration:
{
"mcpServers": {
"slack": {
"command": "/path/to/dist/slack_search_function_mcp",
"env": {
"SLACK_TOKEN": "xoxb-your-token-here"
}
}
}
}
Tool Examples
Get Users
{
"name": "get_users",
"arguments": {
"limit": 10
}
}
Get Channels
{
"name": "get_channels",
"arguments": {
"limit": 10,
"exclude_archived": true
}
}
Get Channel Messages
{
"name": "get_channel_messages",
"arguments": {
"channel": "C01234ABCDE",
"limit": 10
}
}
Get Thread Replies
{
"name": "get_thread_replies",
"arguments": {
"channel": "C01234ABCDE",
"thread_ts": "1234567890.123456",
"limit": 10
}
}
Search Messages
{
"name": "search_messages",
"arguments": {
"query": "important announcement",
"sort": "timestamp",
"sort_dir": "desc",
"count": 10
}
}
Resource Examples
Get All Users
allusers://
Get All Channels
allchannels://
Error Handling
The server includes comprehensive error handling for:
- Invalid or missing Slack API token
- API rate limits
- Network errors
- Invalid parameters
- Authentication failures
Security
- The Slack API token is never logged or exposed in responses
- The token is securely passed via environment variables