- Explore MCP Servers
- mcp-client-slackbot
Slack Bot
What is Slack Bot
MCP Simple Slackbot is a Slack bot that utilizes the Model Context Protocol (MCP) to enhance its functionality by integrating various external tools, including SQLite databases and web-fetching capabilities. It has the ability to respond to user messages in both channels and direct messages using advanced language model capabilities.
Use cases
The bot can be used in various scenarios such as providing instant answers to queries in direct messages or channels, facilitating database interactions, and fetching online information in real-time. It serves as an AI-powered assistant that can support team collaboration and streamline workflows.
How to use
To use the bot, create a Slack app from the provided manifest, install the necessary dependencies in a virtual environment, and configure environment variables for Slack and LLM API credentials. After setting everything up, run the bot, and it will start listening for messages in channels and direct messages.
Key features
Key features of the MCP Simple Slackbot include AI-powered responses using multiple language models, integration with external MCP tools, an App Home tab displaying tool availability, and multi-LLM support, allowing functionalities from OpenAI, Groq, and Anthropic models.
Where to use
The bot can be used in Slack workspaces, particularly within team channels for communication, project management, and collaboration. It is designed for environments where quick, intelligent responses and integration with external databases or web resources are beneficial.
Overview
What is Slack Bot
MCP Simple Slackbot is a Slack bot that utilizes the Model Context Protocol (MCP) to enhance its functionality by integrating various external tools, including SQLite databases and web-fetching capabilities. It has the ability to respond to user messages in both channels and direct messages using advanced language model capabilities.
Use cases
The bot can be used in various scenarios such as providing instant answers to queries in direct messages or channels, facilitating database interactions, and fetching online information in real-time. It serves as an AI-powered assistant that can support team collaboration and streamline workflows.
How to use
To use the bot, create a Slack app from the provided manifest, install the necessary dependencies in a virtual environment, and configure environment variables for Slack and LLM API credentials. After setting everything up, run the bot, and it will start listening for messages in channels and direct messages.
Key features
Key features of the MCP Simple Slackbot include AI-powered responses using multiple language models, integration with external MCP tools, an App Home tab displaying tool availability, and multi-LLM support, allowing functionalities from OpenAI, Groq, and Anthropic models.
Where to use
The bot can be used in Slack workspaces, particularly within team channels for communication, project management, and collaboration. It is designed for environments where quick, intelligent responses and integration with external databases or web resources are beneficial.
Content
MCP Simple Slackbot
A simple Slack bot that uses the Model Context Protocol (MCP) to enhance its capabilities with external tools.
Features
- AI-Powered Assistant: Responds to messages in channels and DMs using LLM capabilities
- MCP Integration: Full access to MCP tools like SQLite database and web fetching
- Multi-LLM Support: Works with OpenAI, Groq, and Anthropic models
- App Home Tab: Shows available tools and usage information
Setup
1. Create a Slack App
- Go to api.slack.com/apps and click “Create New App”
- Choose “From an app manifest” and select your workspace
- Copy the contents of
mcp_simple_slackbot/manifest.yaml
into the manifest editor - Create the app and install it to your workspace
- Under the “Basic Information” section, scroll down to “App-Level Tokens”
- Click “Generate Token and Scopes” and:
- Enter a name like “mcp-assistant”
- Add the
connections:write
scope - Click “Generate”
- Take note of both your:
- Bot Token (
xoxb-...
) found in “OAuth & Permissions” - App Token (
xapp-...
) that you just generated
- Bot Token (
2. Install Dependencies
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install project dependencies
pip install -r mcp_simple_slackbot/requirements.txt
3. Configure Environment Variables
Create a .env
file in the mcp_simple_slackbot
directory (see .env.example
for a template):
# Slack API credentials SLACK_BOT_TOKEN=xoxb-your-token SLACK_APP_TOKEN=xapp-your-token # LLM API credentials OPENAI_API_KEY=sk-your-openai-key # or use GROQ_API_KEY or ANTHROPIC_API_KEY # LLM configuration LLM_MODEL=gpt-4-turbo
Running the Bot
# Navigate to the module directory
cd mcp_simple_slackbot
# Run the bot directly
python main.py
The bot will:
- Connect to all configured MCP servers
- Discover available tools
- Start the Slack app in Socket Mode
- Listen for mentions and direct messages
Usage
- Direct Messages: Send a direct message to the bot
- Channel Mentions: Mention the bot in a channel with
@MCP Assistant
- App Home: Visit the bot’s App Home tab to see available tools
Architecture
The bot is designed with a focused architecture:
- SlackMCPBot: Core class managing Slack events and message processing
- LLMClient: Handles communication with LLM APIs (OpenAI, Groq, Anthropic)
- Server: Manages communication with MCP servers
- Tool: Represents available tools from MCP servers
When a message is received, the bot:
- Sends the message to the LLM along with available tools
- If the LLM response includes a tool call, executes the tool
- Returns the result to the LLM for interpretation
- Delivers the final response to the user
Credits
This project is based on the MCP Simple Chatbot example.
License
MIT License