使用说明
项目简介
MCP Assistant 是一个集成了多种AI模型和MCP工具的聊天应用程序。它通过后端的FastAPI服务器和前端的Next.js应用,为用户提供实时的聊天体验,并支持调用外部MCP服务来扩展AI的功能,例如使用计算器进行数学计算或使用DuckDuckGo进行网页搜索。
主要功能点
- 实时聊天界面:提供现代化的用户界面,支持实时的聊天互动。
- 多AI模型集成:支持Google Gemini、NVIDIA和OpenAI等多种主流AI模型。
- MCP工具支持:集成了计算器和DuckDuckGo搜索等MCP工具,扩展了AI的功能。
- 响应式设计:界面设计兼顾桌面和移动设备,提供良好的用户体验。
- 实时流式响应:支持服务器实时流式返回响应,提升交互体验。
安装步骤
-
克隆仓库
git clone https://github.com/jinichen/mcp_assistant.git cd mcp_assistant -
后端环境配置 (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) -
前端环境配置 (frontend)
cd frontend npm install # 或 yarn install cp .env.example .env.local # 编辑 .env.local 文件,配置 NEXT_PUBLIC_API_BASE_URL=http://localhost:8000/api -
MCP 服务端配置 (mcp-servers)
- 启动计算器 MCP 服务:
cd mcp-servers/calculator python calculator_server.py - 启动 DuckDuckGo 搜索 MCP 服务 (另开一个终端):
cd mcp-servers/duckduckgo python duckduckgo_server.py
- 启动计算器 MCP 服务:
-
启动后端 FastAPI 服务器 (backend)
cd backend uvicorn main:app --host 0.0.0.0 --port 8000 -
启动前端 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 服务。
基本使用方法
- 启动前端应用后,在浏览器中打开 'http://localhost:3000'。
- 在聊天界面中输入你的问题。
- 如果你的问题需要计算或网页搜索等外部功能,应用后端会调用配置好的MCP服务来处理。
- AI 模型的回复会实时显示在聊天界面上。
信息
分类
AI与计算