使用说明
FastAPI MCP聊天
- 基于FastAPI的模型上下文协议(MCP)聊天服务。
- 将Host(UI)、MCP Client和MCP Server完全分离的演示。
- 在本演示中,您可以删除Host部分或连接到单独的API端点。 (POST /chat/stream)
- 需要创建.env文件。
- 必须使用GPT密钥(即使使用ANTHROPIC,在消息摘要部分也使用gpt-mini以降低成本)
- ANTHROPIC键是可选的
要求
- Python 3.8+
- 紫外线 -Python包管理器
- Linux/MacOS(支持systemd)
安装方法
1.安装uv(如果需要)
# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
2.项目克隆
git clone https://github.com/blueworm-lee/mcp-chat.git
cd mcp-chat
3.自动安装
chmod +x install/install.sh
./install/install.sh
安装脚本将执行以下操作:
- 安装Python依赖性(
uv sync) - 创建日志目录(
/var/log/mcp_chat) - systemd服务注册
4.首选参数
创建.env文件:
OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
TAVILY_API_KEY="tvly-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
注意:
- OPENAI_API密钥:必需-用于消息摘要
- ANTHROPIC_API_键:选择-使用Claude型号时需要
- TAVILY_API_键:必需-使用Web搜索功能时需要(将搜索功能作为默认工具放入)
守护程序驱动
服务管理
# 서비스 시작
sudo systemctl start mcp_client
# 서비스 중지
sudo systemctl stop mcp_client
# 서비스 재시작
sudo systemctl restart mcp_client
# 서비스 상태 확인
sudo systemctl status mcp_client
启动时自动启动
# 자동 시작 활성화
sudo systemctl enable mcp_client
# 자동 시작 비활성화
sudo systemctl disable mcp_client
检查日志
# 실시간 로그 보기
sudo journalctl -u mcp_client -f
# 최근 로그 확인
sudo journalctl -u mcp_client --since "1 hour ago"
API端点
- 发布
/chat/stream-流聊天API
开发模式
在开发过程中,可以直接运行而不是服务:
# 개발 서버 실행
uv run uvicorn main:app --host 0.0.0.0 --port 8000 --reload
故障射击
如果服务无法启动
# 서비스 상태 확인
sudo systemctl status mcp_client
# 상세 로그 확인
sudo journalctl -u mcp_client -n 50
环境变量问题
请确保.env文件位于项目根目录中,并确保API密钥正确。
许可证
MIT许可证