聊天服务

一个基于API的聊天服务,支持会话管理和消息发送。

  • by jurgis-vilums
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jurgis-vilums/mcp-client-server

使用说明

最小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个关于这个实现的主要主题。”