关于 Flask Webapplicatie met LLM-integratie en MCP-tools
这款 Flask Web 应用提供浏览器界面,可向 OpenAI GPT-3.5 或 Anthropic Claude 2 发送提示词。用户可管理 Brave Search 和 GitHub MCP 服务,将其上下文加入提示词并查看扩展后的内容。
主要功能
- 01基于浏览器的提示词界面
- 02选择 OpenAI GPT-3.5 或 Anthropic Claude 2
- 03启动和停止 Brave Search 与 GitHub MCP 服务
- 04自动将工具上下文加入提示词
- 05查看添加上下文后的完整提示词
适用场景
- 01通过 Web 界面向所选模型提问
- 02发送提示词前添加网页搜索上下文
- 03在模型请求中加入 GitHub 搜索上下文
- 04检查工具如何修改提示词
MCP 相关
应用可在界面中启动和停止 Brave Search 与 GitHub MCP 服务。服务运行时,其工具上下文会在提示词发送给所选模型前加入其中。
详细介绍
集成 LLM 和 MCP 工具的 Flask 网络应用
这个 Flask 网络应用使用户能够:
- 通过简洁的网络界面访问 LLM 模型(OpenAI 和 Anthropic)
- 输入提示词并接收回复
- 启动和停止 MCP 服务(Model Context Protocol)用于 GitHub 和 Brave Search
- 在将提示词发送到 LLM 前自动使用这些工具的上下文进行扩展
功能
- LLM 模型选择:在 OpenAI GPT-3.5 和 Anthropic Claude 2 之间选择
- 提示词输入:输入问题或提示词供所选模型回答
- MCP 工具管理:从网络界面启动和停止外部工具(Brave Search 和 GitHub)
- 上下文扩展:应用自动使用活跃工具中的相关信息来扩展你的提示词
- 完整提示词显示:查看包括添加的上下文的完整提示词
安装
要求
- Python 3.7 或更高版本
步骤
-
克隆仓库
git clone https://github.com/Fbeunder/MCP_FLASK.git cd MCP_FLASK -
创建虚拟环境(推荐)
# Windows python -m venv venv venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate -
安装所需的包
# Aanbevolen: installeer alle afhankelijkheden via requirements.txt pip install -r requirements.txt # Alternatief: installeer alleen de specifieke pakketten die je nodig hebt pip install flask requests # Voor OpenAI model-toegang pip install openai # Voor Anthropic model-toegang pip install anthropic # Voor .env bestandsondersteuning pip install python-dotenv -
配置 API 密钥
你可以通过环境变量或 .env 文件配置 API 密钥。
选项 1:创建 .env 文件
复制 .env.example 文件并进行编辑:
# Windows copy .env.example .env # macOS/Linux cp .env.example .env然后编辑 .env 文件并填入你的 API 密钥。
选项 2:设置环境变量
设置以下环境变量:
OPENAI_API_KEY:你的 OpenAI API 密钥(用于 GPT 模型)ANTHROPIC_API_KEY:你的 Anthropic API 密钥(用于 Claude 模型)BRAVE_API_KEY:你的 Brave Search API 密钥(用于 Brave Search MCP 服务)GITHUB_TOKEN:你的 GitHub 个人访问令牌(可选,用于更高的速率限制)
例如在 Linux/macOS 上:
export OPENAI_API_KEY="jouw-openai-api-sleutel" export ANTHROPIC_API_KEY="jouw-anthropic-api-sleutel" export BRAVE_API_KEY="jouw-brave-api-sleutel" export GITHUB_TOKEN="jouw-github-token"或在 Windows 上:
set OPENAI_API_KEY=jouw-openai-api-sleutel set ANTHROPIC_API_KEY=jouw-anthropic-api-sleutel set BRAVE_API_KEY=jouw-brave-api-sleutel set GITHUB_TOKEN=jouw-github-token
使用
启动应用
启动 Flask 应用:
python app.py
应用默认将在 http://localhost:5000 上运行。
使用网络界面
-
在浏览器中打开网络界面:
http://localhost:5000 -
启动 MCP 工具(可选):
- 点击"Start Brave Search"启动 Brave Search 工具
- 点击"Start GitHub"启动 GitHub 工具
-
输入提示词:
- 从下拉列表中选择所需的 LLM 模型
- 在文本框中输入你的问题或提示词
- 点击"Verstuur naar AI"
-
查看回复:
- AI 模型的回复将被显示
- 你可以选择点击"Toon volledige prompt met context"查看额外上下文是如何被添加的
MCP 服务
应用使用两个 MCP 服务,可以从界面自动启动:
- Brave Search MCP 服务:运行在端口 5001,提供网络搜索功能
- GitHub MCP 服务:运行在端口 5002,提供 GitHub 搜索功能
当这些服务器处于活跃状态时,这些工具的上下文将自动添加到你的提示词中。
故障排除
虚拟环境问题
如果你收到关于缺失模块(如 Flask)的错误信息,但你确信已安装,这可能与虚拟环境问题有关。以下是一些解决步骤:
Windows 虚拟环境问题
-
检查虚拟环境是否已激活:
你需要在每个新的终端会话中激活虚拟环境:
venv\Scripts\activate你应该在命令提示符的开头看到
(venv)。 -
检查使用的 Python 可执行文件:
where python第一个路径应该指向虚拟环境中的 python.exe(例如
\path\to\project\venv\Scripts\python.exe)。 -
Windows 中的子进程问题:
应用程序的最新版本现在会自动为启动 MCP 服务使用与主应用程序相同的 Python 可执行文件,这避免了虚拟环境问题。
Linux/macOS 虚拟环境问题
-
检查虚拟环境是否已激活:
source venv/bin/activate你应该在命令提示符的开头看到
(venv)。 -
检查使用的 Python 可执行文件:
which python路径应该指向虚拟环境中的 python(例如
/path/to/project/venv/bin/python)。
ModuleNotFoundError: No module named 'flask'
如果在尝试启动应用程序或 MCP 服务时仍然看到此错误,请尝试以下操作:
-
检查安装:
pip list | grep flask你应该在列表中看到 Flask。
-
重新安装 Flask:
pip uninstall flask pip install flask -
使用绝对路径运行:
# Vind het volledige pad naar Python in je virtuele omgeving # Windows echo %VIRTUAL_ENV%\Scripts\python.exe # Linux/macOS echo $VIRTUAL_ENV/bin/python # Gebruik dit pad om de applicatie te starten /volledig/pad/naar/venv/bin/python app.py -
检查 PYTHONPATH:
在某些情况下,PYTHONPATH 环境变量可能会被破坏:
# Windows echo %PYTHONPATH% # Linux/macOS echo $PYTHONPATH如果它的值对你的项目没有意义,考虑暂时清除它:
# Windows set PYTHONPATH= # Linux/macOS unset PYTHONPATH
其他包相关错误
如果你看到其他 ModuleNotFoundError 消息,请检查:
- 所有包都已通过
pip install -r requirements.txt安装 - 你的 Python 环境配置正确
- 你未安装旧版本或不兼容的包版本
Model Context Protocol (MCP)
MCP(Model Context Protocol)是一个开源协议,使 AI 大模型能够通过标准化服务接口安全地与外部资源交互。在此应用程序中,MCP 服务用于:
- 根据用户提示词收集额外上下文
- 在将上下文发送到大模型之前,将其添加到提示词中
- 使用最新或特定信息丰富答案
说明
- MCP 服务实现为了演示目的进行了简化
- 对于生产使用,建议进行更好的错误处理和安全性加固
- 应用程序需要每个服务的 API 密钥(OpenAI、Anthropic、Brave Search)
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。