https://github.com/sooperset/mcp-client-slackbot
https://github.com/sooperset/mcp-client-slackbot
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sooperset/mcp-client-slackbot
- Owner: sooperset
- License: mit
- Created: 2025-03-08T01:56:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-08T03:02:25.000Z (over 1 year ago)
- Last Synced: 2025-03-08T03:24:44.328Z (over 1 year ago)
- Language: Python
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ai-tools - MCP Simple Slackbot - Simple Slack bot utilizing LLMs and MCP tools for team integration (MCP Clients / 🤖 Specialized Clients & Frameworks)
README
# 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
1. Go to [api.slack.com/apps](https://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
```bash
# 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
```bash
# 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](https://github.com/modelcontextprotocol/python-sdk/tree/main/examples/clients/simple-chatbot).
## License
MIT License