mcp-client-slackbot

MCP.Pizza Chef: sooperset

mcp-client-slackbot is a lightweight Slackbot client that integrates the Model Context Protocol (MCP) to enable AI-powered responses and seamless access to external tools like databases and web fetchers. It supports multiple LLM providers including OpenAI, Groq, and Anthropic, enhancing Slack communication with intelligent, context-aware interactions. The bot also features an app home tab displaying available tools and usage info, making it a versatile assistant within Slack workspaces.

Use This MCP client To

Respond to Slack messages using AI-powered LLMs Integrate external MCP tools like SQLite databases in Slack Fetch and summarize web content directly in Slack conversations Display available MCP tools and usage in Slack app home tab Support multi-LLM workflows with OpenAI, Groq, and Anthropic models

README

MCP Simple Slackbot

A simple Slack bot that uses the Model Context Protocol (MCP) to enhance its capabilities with external tools.

Features

2025-03-08-ezgif com-video-to-gif-converter

  • 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

  1. Go to api.slack.com/apps and click "Create New App"
  2. Choose "From an app manifest" and select your workspace
  3. Copy the contents of mcp_simple_slackbot/manifest.yaml into the manifest editor
  4. Create the app and install it to your workspace
  5. Under the "Basic Information" section, scroll down to "App-Level Tokens"
  6. Click "Generate Token and Scopes" and:
    • Enter a name like "mcp-assistant"
    • Add the connections:write scope
    • Click "Generate"
  7. Take note of both your:
    • Bot Token (xoxb-...) found in "OAuth & Permissions"
    • App Token (xapp-...) that you just generated

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:

  1. Connect to all configured MCP servers
  2. Discover available tools
  3. Start the Slack app in Socket Mode
  4. 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:

  1. SlackMCPBot: Core class managing Slack events and message processing
  2. LLMClient: Handles communication with LLM APIs (OpenAI, Groq, Anthropic)
  3. Server: Manages communication with MCP servers
  4. Tool: Represents available tools from MCP servers

When a message is received, the bot:

  1. Sends the message to the LLM along with available tools
  2. If the LLM response includes a tool call, executes the tool
  3. Returns the result to the LLM for interpretation
  4. Delivers the final response to the user

Credits

This project is based on the MCP Simple Chatbot example.

License

MIT License

mcp-client-slackbot FAQ

How do I install the mcp-client-slackbot in my Slack workspace?
Create a Slack app via api.slack.com/apps, use the provided manifest.yaml, install it to your workspace, and configure tokens as per the setup instructions.
Which LLM providers does mcp-client-slackbot support?
It supports OpenAI, Groq, and Anthropic models, allowing flexible AI integration.
How does mcp-client-slackbot use MCP tools?
It accesses MCP servers exposing tools like SQLite databases and web fetchers to enhance Slackbot responses with real-time data.
Can mcp-client-slackbot respond in both channels and direct messages?
Yes, it can respond to messages in Slack channels and direct messages using AI-powered capabilities.
What is the purpose of the Slack app home tab in mcp-client-slackbot?
The app home tab displays available MCP tools and usage information to users for easy access and understanding.
Is it possible to customize the MCP tools accessible by the Slackbot?
Yes, you can configure which MCP servers and tools the Slackbot client connects to, tailoring its capabilities.
Does mcp-client-slackbot require special permissions in Slack?
Yes, it requires permissions to read messages, post messages, and access app-level tokens for full functionality.
How does mcp-client-slackbot handle multiple LLM providers?
It is designed to work seamlessly with multiple LLM providers, enabling fallback or specialized usage scenarios.