使用说明

项目简介

MCP Assistant 是一个集成了多种AI模型和MCP工具的聊天应用程序。它通过后端的FastAPI服务器和前端的Next.js应用,为用户提供实时的聊天体验,并支持调用外部MCP服务来扩展AI的功能,例如使用计算器进行数学计算或使用DuckDuckGo进行网页搜索。

主要功能点

  • 实时聊天界面:提供现代化的用户界面,支持实时的聊天互动。
  • 多AI模型集成:支持Google Gemini、NVIDIA和OpenAI等多种主流AI模型。
  • MCP工具支持:集成了计算器和DuckDuckGo搜索等MCP工具,扩展了AI的功能。
  • 响应式设计:界面设计兼顾桌面和移动设备,提供良好的用户体验。
  • 实时流式响应:支持服务器实时流式返回响应,提升交互体验。

安装步骤

  1. 克隆仓库

    git clone https://github.com/jinichen/mcp_assistant.git
    cd mcp_assistant
  2. 后端环境配置 (backend)

    cd backend
    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    # venv\Scripts\activate  # Windows
    pip install -r requirements.txt
    cp .env.example .env
    # 编辑 .env 文件,填入API keys (如 OpenAI_API_KEY, GOOGLE_API_KEY, NVIDIA_API_KEY)
  3. 前端环境配置 (frontend)

    cd frontend
    npm install  # 或 yarn install
    cp .env.example .env.local
    # 编辑 .env.local 文件,配置 NEXT_PUBLIC_API_BASE_URL=http://localhost:8000/api
  4. MCP 服务端配置 (mcp-servers)

    • 启动计算器 MCP 服务:
      cd mcp-servers/calculator
      python calculator_server.py
    • 启动 DuckDuckGo 搜索 MCP 服务 (另开一个终端):
      cd mcp-servers/duckduckgo
      python duckduckgo_server.py
  5. 启动后端 FastAPI 服务器 (backend)

    cd backend
    uvicorn main:app --host 0.0.0.0 --port 8000
  6. 启动前端 Next.js 开发服务器 (frontend)

    cd frontend
    npm run dev  # 或 yarn dev

    应用将在 'http://localhost:3000' 运行。

服务器配置

要让 MCP 客户端(例如本应用的前端)连接到 MCP 服务端,需要配置 'mcp_config.json' 文件。此文件定义了 MCP 客户端如何找到并连接到可用的 MCP 服务。

以下是一个 'config/mcp_config.json' 示例,展示了如何配置计算器 (calculator) 和 DuckDuckGo 搜索 (duckduckgo) 这两个 MCP 服务:

{
  "calculator": {
    "transport": "stdio",
    "command": "python",
    "args": ["path/to/calculator_server.py"]  // 请替换为 calculator_server.py 脚本的实际路径
  },
  "duckduckgo": {
    "transport": "stdio",
    "command": "python",
    "args": ["path/to/duckduckgo_server.py"]   // 请替换为 duckduckgo_server.py 脚本的实际路径
  }
}

配置参数说明:

  • server name: 服务名称,例如 "calculator" 或 "duckduckgo"。这个名称在客户端代码中用于引用特定的 MCP 服务。
  • transport: MCP 服务使用的传输协议。这里 "stdio" 表示标准输入输出流,用于本地进程间的通信。
  • command: 启动 MCP 服务端进程的命令。通常是 Python 解释器 "python"。
  • args: 传递给启动命令的参数列表。对于 "stdio" 传输,通常是 MCP 服务端 Python 脚本的路径。 请务必根据你的实际文件路径,修改 'path/to/calculator_server.py' 和 'path/to/duckduckgo_server.py' 为 'calculator_server.py' 和 'duckduckgo_server.py' 脚本的绝对路径或相对路径 (相对于 'mcp_config.json' 文件的位置)。

注意: 'mcp_config.json' 文件通常位于 'backend/config/' 目录下。前端应用通过后端服务器来获取和使用 MCP 服务配置,因此前端本身无需直接配置 MCP 服务。

基本使用方法

  1. 启动前端应用后,在浏览器中打开 'http://localhost:3000'。
  2. 在聊天界面中输入你的问题。
  3. 如果你的问题需要计算或网页搜索等外部功能,应用后端会调用配置好的MCP服务来处理。
  4. AI 模型的回复会实时显示在聊天界面上。

信息

分类

AI与计算