使用说明
最小MCP服务器+客户端
API终点
POST /chat -发送消息
curl -X POST http://127.0.0.1:8000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Search for laptops", "session_id": "optional-session-id"}'
答复:
{
"session_id": "abc123",
"response": "Here are some laptops from darel.lv..."
}
GET /sessions -列出所有会话
curl "http://127.0.0.1:8000/sessions?limit=50&offset=0"
答复:
{
"sessions": [
{"session_id": "abc123", "updated_at": 1738756800.0},
{"session_id": "def456", "updated_at": 1738753200.0}
]
}
GET /sessions/{session_id} -获取会话历史记录
curl http://127.0.0.1:8000/sessions/abc123
答复:
{
"session_id": "abc123",
"messages": [
{"type": "system", "data": {"content": "You are a helpful..."}},
{"type": "human", "data": {"content": "Search for laptops"}},
{"type": "ai", "data": {"content": "Here are some laptops..."}}
]
}
设置
pip install -r requirements.txt
配置
- 复制
.env.example到.env并填充ANTHROPIC_API_KEY. - 可选:设置
ANTHROPIC_MODEL使用不同的Claude模型(默认值:claude-haiku-4-5-20251001). - 可选:设置
DAREL_COOKIE如果Cloudflare阻止请求。
运行web的任一cli(自动运行spavns-mcp服务器)
- CLI聊天机器人:
python cli.py - 网络聊天机器人:
uvicorn web:app --reload --port 8000然后打开http://127.0.0.1:8000/
文件结构
├── cli.py # 🖥️ Terminal interface
├── web.py # 🌐 Web interface (FastAPI)
├── core.py # 🧠 Shared logic (MCPRuntime, chat_once)
├── mcp_server.py # ⚙️ MCP tool server
└── requirements.txt # 📦 Dependencies
更深入的打磨:
- 建筑。MD(使用Markdown预览Mermaid支持扩展)
- 提示:“我希望你扮演一个老师的角色。首先通过查看代码库来理解,然后给我一个关于这个代码库是如何工作的直觉。流程是什么,每个文件的目的是什么。然后,提出问题,检查用户是否理解了基础知识。继续提出更难的问题,直到用户没有理解一些东西,然后提供直觉。不要只关注一个主题,要积极主动地涵盖至少3个关于这个实现的主要主题。”
