MCP事实聊天机器人
基于模型上下文协议(MCP)的事实验证聊天机器人API服务器。
特点
- 基于事实的响应:通过Web搜索提供实时信息
- Multi-turn对话:保留基于会话的对话上下文
- REST API:可通过简单的HTTP API进行集成
- 引用源:在响应中包含引用URL
快速入门
1.安装
# 저장소 클론
git clone
cd mcp_for_chat
# 의존성 설치
pip install -r requirements.txt
# uv 설치 (MCP 서버 실행에 필요)
curl -LsSf https://astral.sh/uv/install.sh | sh2.首选参数
cp .env.example .env
# .env 파일에 ANTHROPIC_API_KEY 설정3.运行服务器
uvicorn src.main:app --reload --port 80004.使用API
# 새 대화 시작
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{"message": "오늘 테슬라 주가 어때?"}'
# 응답 예시
{
"session_id": "550e8400-e29b-41d4-a716-446655440000",
"response": "현재 테슬라(TSLA) 주가는...",
"sources": ["https://..."]
}
# 대화 이어가기 (session_id 사용)
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{"session_id": "550e8400-e29b-41d4-a716-446655440000", "message": "작년 대비 어때?"}'API端点
| 方法 | 端点 | 说明 |
|---|---|---|
| 职位 | /chat | 发送和接收消息 |
| 得到 | /sessions/{session_id} | 查询会话信息 |
| 删除 | /sessions/{session_id} | 删除会话 |
| 得到 | /health | 检查服务器状态 |
环境变量
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
ANTHROPIC_API_KEY | O--Claude API密钥 | ||
SEARCH_PROVIDER 十、 duckduckgo | 搜索引擎(duckduckgo 或 brave) | ||
BRAVE_API_KEY 使用Brave Search时需要△ | |||
SESSION_TIMEOUT 十、 3600 | 会话过期时间(秒) | ||
LOG_LEVEL 十、 INFO | 日志级别 |
搜索引擎设置
DuckDuckGo(默认,用于测试)
# API 키 불필요
SEARCH_PROVIDER=duckduckgoBrave Search(生产)
SEARCH_PROVIDER=brave
BRAVE_API_KEY=your-brave-api-keyAPI文档
服务器运行后http://localhost:8000/docs可以通过Swagger UI查看API文档
许可证
麻省理工学院
