Cover image
Try Now
2025-04-08

Application de serveur hôte MCP pour Slack

3 years

Works with Finder

2

Github Watches

0

Github Forks

2

Github Stars

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

  1. Clone the repository
git clone https://github.com/yourusername/slack-mcp-host.git
cd slack-mcp-host
  1. Create and activate virtual environment
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies
uv sync
  1. 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
  1. 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

  1. Install Wrangler
npm install -g wrangler
  1. Login to Cloudflare
wrangler login
  1. Set secrets
wrangler secret put SLACK_API_KEY
wrangler secret put OPENAI_API_KEY
  1. Deploy
wrangler deploy
  1. 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:

  1. User starts conversation
User: Can you help me find movies directed by Christopher Nolan?
  1. 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?
  1. User follows up
User: Tell me more about Inception
  1. 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

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • 林乔安妮
  • A fashion stylist GPT offering outfit suggestions for various scenarios.

  • apappascs
  • Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.

  • ShrimpingIt
  • Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX

  • pontusab
  • La communauté du curseur et de la planche à voile, recherchez des règles et des MCP

  • av
  • Exécutez sans effort LLM Backends, API, Frontends et Services avec une seule commande.

  • jae-jae
  • MCP Server pour récupérer le contenu de la page Web à l'aide du navigateur sans tête du dramwright.

  • ravitemer
  • Un puissant plugin Neovim pour gérer les serveurs MCP (Protocole de contexte modèle)

  • 1Panel-dev
  • 🔥 1Panel fournit une interface Web intuitive et un serveur MCP pour gérer des sites Web, des fichiers, des conteneurs, des bases de données et des LLM sur un serveur Linux.

  • Mintplex-Labs
  • L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.

  • patruff
  • Pont entre les serveurs Olllama et MCP, permettant aux LLM locaux d'utiliser des outils de protocole de contexte de modèle

  • GeyserMC
  • Une bibliothèque de communication avec un client / serveur Minecraft.

    Reviews

    5 (1)
    Avatar
    user_HwSgjujx
    2025-04-17

    As a dedicated user of the slack-mcp-host, I find it to be an invaluable tool in integrating Slack with various MCP applications. Created by the talented jexp, this product simplifies seamless communication and task management within my team. The setup was straightforward, and the performance has been consistently reliable. Highly recommend checking it out on GitHub!