mcpField
F
Flask Webapplicatie met LLM-integratie en MCP-tools

Flask Webapplicatie met LLM-integratie en MCP-tools

github.com/fbeunder聊天应用086 周前更新

关于 Flask Webapplicatie met LLM-integratie en MCP-tools

这款 Flask Web 应用提供浏览器界面,可向 OpenAI GPT-3.5 或 Anthropic Claude 2 发送提示词。用户可管理 Brave Search 和 GitHub MCP 服务,将其上下文加入提示词并查看扩展后的内容。

主要功能

  1. 01基于浏览器的提示词界面
  2. 02选择 OpenAI GPT-3.5 或 Anthropic Claude 2
  3. 03启动和停止 Brave Search 与 GitHub MCP 服务
  4. 04自动将工具上下文加入提示词
  5. 05查看添加上下文后的完整提示词

适用场景

  1. 01通过 Web 界面向所选模型提问
  2. 02发送提示词前添加网页搜索上下文
  3. 03在模型请求中加入 GitHub 搜索上下文
  4. 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 或更高版本
步骤
  1. 克隆仓库

    git clone https://github.com/Fbeunder/MCP_FLASK.git
    cd MCP_FLASK
    
  2. 创建虚拟环境(推荐)

    # Windows
    python -m venv venv
    venv\Scripts\activate
    
    # macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
    
  3. 安装所需的包

    # 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
    
  4. 配置 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 上运行。

使用网络界面
  1. 在浏览器中打开网络界面:http://localhost:5000

  2. 启动 MCP 工具(可选):

    • 点击"Start Brave Search"启动 Brave Search 工具
    • 点击"Start GitHub"启动 GitHub 工具
  3. 输入提示词:

    • 从下拉列表中选择所需的 LLM 模型
    • 在文本框中输入你的问题或提示词
    • 点击"Verstuur naar AI"
  4. 查看回复:

    • AI 模型的回复将被显示
    • 你可以选择点击"Toon volledige prompt met context"查看额外上下文是如何被添加的
MCP 服务

应用使用两个 MCP 服务,可以从界面自动启动:

  • Brave Search MCP 服务:运行在端口 5001,提供网络搜索功能
  • GitHub MCP 服务:运行在端口 5002,提供 GitHub 搜索功能

当这些服务器处于活跃状态时,这些工具的上下文将自动添加到你的提示词中。

故障排除

虚拟环境问题

如果你收到关于缺失模块(如 Flask)的错误信息,但你确信已安装,这可能与虚拟环境问题有关。以下是一些解决步骤:

Windows 虚拟环境问题
  1. 检查虚拟环境是否已激活:

    你需要在每个新的终端会话中激活虚拟环境:

    venv\Scripts\activate
    

    你应该在命令提示符的开头看到 (venv)。

  2. 检查使用的 Python 可执行文件:

    where python
    

    第一个路径应该指向虚拟环境中的 python.exe(例如 \path\to\project\venv\Scripts\python.exe)。

  3. Windows 中的子进程问题:

    应用程序的最新版本现在会自动为启动 MCP 服务使用与主应用程序相同的 Python 可执行文件,这避免了虚拟环境问题。

Linux/macOS 虚拟环境问题
  1. 检查虚拟环境是否已激活:

    source venv/bin/activate
    

    你应该在命令提示符的开头看到 (venv)。

  2. 检查使用的 Python 可执行文件:

    which python
    

    路径应该指向虚拟环境中的 python(例如 /path/to/project/venv/bin/python)。

ModuleNotFoundError: No module named 'flask'

如果在尝试启动应用程序或 MCP 服务时仍然看到此错误,请尝试以下操作:

  1. 检查安装:

    pip list | grep flask
    

    你应该在列表中看到 Flask。

  2. 重新安装 Flask:

    pip uninstall flask
    pip install flask
    
  3. 使用绝对路径运行:

    # 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
    
  4. 检查 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 服务用于:

  1. 根据用户提示词收集额外上下文
  2. 在将上下文发送到大模型之前,将其添加到提示词中
  3. 使用最新或特定信息丰富答案

说明

  • MCP 服务实现为了演示目的进行了简化
  • 对于生产使用,建议进行更好的错误处理和安全性加固
  • 应用程序需要每个服务的 API 密钥(OpenAI、Anthropic、Brave Search)

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。