Slack MCP Host
MCP Host Server Application for Slack
jexp
README
Slack MCP Host
A Slack bot that integrates MCP (Machine Control Protocol) servers with Slack, providing LLM-powered interactions in dedicated channels. The bot can execute tools from configured MCP servers and present results in a user-friendly format.
Features
- 🤖 LLM-powered conversations in Slack
- 🔧 Integration with multiple MCP servers
- 📝 Markdown rendering support
- 🔍 Collapsible tool execution results
- 💾 Conversation history maintenance
- 🔐 Secure configuration management
Prerequisites
- Python 3.11+
- uv for dependency management
- A Slack workspace with admin access
- OpenAI API access
- One or more MCP servers
Setup
- Clone the repository
git clone https://github.com/yourusername/slack-mcp-host.git
cd slack-mcp-host
- Create and activate virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies
uv sync
- Configure environment
cp .env.example .env
Edit .env
with your credentials:
SLACK_API_KEY=xoxb-your-slack-bot-token
OPENAI_API_KEY=your-openai-api-key
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4
# MCP Servers
SLACK_MCP_NEO4J_MOVIES=uvx mcp-neo4j-cypher --url neo4j+s://demo.neo4jlabs.com --username movies --password movies
SLACK_MCP_TIME=uvx mcp-server-time
- Create Slack App
- Go to api.slack.com/apps
- Click "Create New App" → "From an app manifest"
- Select your workspace
- Copy and paste the contents of
manifest.yml
- Create the app and install it to your workspace
Deployment
Cloudflare Workers
- Install Wrangler
npm install -g wrangler
- Login to Cloudflare
wrangler login
- Set secrets
wrangler secret put SLACK_API_KEY
wrangler secret put OPENAI_API_KEY
- Deploy
wrangler deploy
- Update Slack App configuration
- Go to your Slack App settings
- Update the Event Subscription URL to your Cloudflare Workers URL:
https://slack-mcp-host.<your-worker-subdomain>.workers.dev/slack/events
Usage Example
Here's an example interaction flow:
- User starts conversation
User: Can you help me find movies directed by Christopher Nolan?
- Bot responds with tool execution
Bot: I'll help you find movies directed by Christopher Nolan using the Neo4j Movies database.
<details><summary>Tool Results</summary>
Tool neo4j_movies result:
- Inception (2010)
- The Dark Knight (2008)
- Interstellar (2014)
- Memento (2000)
- The Prestige (2006)
</details>
Would you like to know more details about any of these movies?
- User follows up
User: Tell me more about Inception
- Bot executes another query
Bot: I'll get the details about Inception for you.
<details><summary>Tool Results</summary>
Tool neo4j_movies result:
Title: Inception (2010)
Director: Christopher Nolan
Cast: Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen Page
Plot: A thief who steals corporate secrets through dream-sharing technology is given the inverse task of planting an idea into the mind of a C.E.O.
</details>
The movie received critical acclaim for its innovative storytelling and visual effects. Would you like to know about any other movies or specific aspects of Inception?
Development
To run locally for development:
uvicorn src.api:app --reload --port 8000
Use ngrok or similar to expose your local server:
ngrok http 8000
Update your Slack App's Event Subscription URL with the ngrok URL.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.