本篇分享:用 Python + Flask 做后端,用 Slack 做前端交互,调用 OpenAI API 的结构设计,构建一个真正能派上用场的 MCP bot(Model-Connected Process bot)。
🧩 系统架构
上图就是交互路径,所有请求都从 Slack 出发,然后打通模型、业务逻辑、内部服务。
Flask 是整个 glue code 的核心,Slack 是用户接口,GPT 是大脑,中间业务 API 则是肌肉。
🧪 Flask Server 核心代码
用 Flask 写一个 webhook 接口,Slack 的 slash command 会打到这里:
from flask import Flask, request, jsonifyimport openaiimport osimport requestsapp = Flask(__name__)openai.api_key = os.getenv("OPENAI_API_KEY")@app.route('/slack/command', methods=['POST'])def handle_command(): user_input = request.form.get('text') user_id = request.form.get('user_id') prompt = f"你是一个企业助理,现在请根据以下指令生成内容:{user_input}" response = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": prompt}] ) result = response.choices[0].message['content'] return jsonify({ "response_type": "in_channel", "text": f"<@{user_id}> 的请求结果如下:\n{result}" })if __name__ == '__main__': app.run(port=5001)
几行代码就把一个“能干活”的 bot 原型跑起来了。再把这个核心 prompt 设计得足够靠谱 —— 它是整个 MCP 系统的灵魂。
⚙️ Slack 侧配置
来到 Slack App 中创建一个 Slash Command,比如 /mcp
,设置 Request URL 为你的服务器地址,例如 https://yourdomain.com/slack/command
。
权限方面要添加 commands
和 chat:write
,然后生成 bot token,加到你代码里作为 Authorization
头或者环境变量。
别忘了验证请求来自 Slack,可以加上签名校验逻辑来防止恶意调用。
🧠 模型不只是聊天,它是控制中枢
重申:我们不是在做聊天机器人,我们是在构建一个可以理解语义、调动资源、完成任务的自动化大脑。
比如,我们的 HR MCP bot 接到“生成 HR 周报”的请求后,会自动:
- 抓取上周的 KPI 数据 📊聚合日报系统内容 🧾模板化输出,写好开头结尾 📃发给 HRBP 甚至同步上 Slack 📬
一整套链路,完全自动,一小时变 10 秒。
🔚 结语:模型很强,流程更关键
大模型能力强毋庸置疑,但想让它真为业务赋能,就得设计好“怎么用”。流程是它的舞台,数据是它的燃料,MCP 就是那个连起来的神经网络。
Slack + Flask + OpenAI API 是经验证下来顺手的一套组合 —— 简洁、快速、强大,完美适合小团队、创新场景。
📣 如果你也在做 AI 产品,或者想尝试 MCP 方向的落地,可以从这个小 bot 开始。