多功能聊天客户端

一款支持模型上下文协议(MCP)的多功能聊天客户端,提供CLI和Web UI界面,支持本地和云端LLM集成。

  • by AlexMercedCoder
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 AlexMercedCoder/robust-mcp-client

使用说明

强大的MCP客户端

一个支持模型上下文协议(MCP)的多功能聊天客户端,通过CLI和Web UI工作,并与本地和云LLM集成。

特性

  • 双接口:CLI和Web UI(React+Tailwind)。
  • 本地法学硕士:内置支持 llama-cpp-python (自动下载TinyLlama)。
  • 云LLM:支持OpenAI、Gemini和Claude。
  • MCP支持:通过以下方式连接到多个MCP服务器 mcp.json.
  • 记忆:持久对话历史记录(SQLite)。
  • 丰富的用户界面:流媒体响应、Markdown、代码高亮、美人鱼图。

设置

  1. 再进行:

    pip install -r requirements.txt
    cd ui && npm install
    
  2. 配置:

    • 创建一个 .env API密钥的文件(可选):
      OPENAI_API_KEY=...
      GEMINI_API_KEY=...
      ANTHROPIC_API_KEY=...
      
    • 编辑 mcp.json 添加MCP服务器。

用法

命令行界面

在终端中运行聊天界面:

python -m cli.main chat

Web用户界面

  1. 启动后端服务器:
    python -m cli.main serve
    
  2. 启动前端(在单独的终端中):
    cd ui
    npm run dev
    
  3. 打开http://localhost:5173

码头工人

快速入门(短暂)

要快速尝试而不保留数据,请执行以下操作:

docker run -p 8000:8000 alexmerced/robust_mcp_client

注意:当容器停止时,模型将被重新下载,聊天历史记录将丢失。

使用预构建映像(持久)

要保存模型和历史:

docker run -p 8000:8000 \
  -v $(pwd)/models:/app/models \
  -v $(pwd)/history.db:/app/history.db \
  alexmerced/robust_mcp_client

在当地建设

您也可以自己构建图像:

  1. 塑造形象:

    docker build -t robust-mcp-client .
    
  2. 运行容器:

    docker run -p 8000:8000 \
      -v $(pwd)/models:/app/models \
      -v $(pwd)/history.db:/app/history.db \
      robust-mcp-client
    
    • -p 8000:8000:暴露服务器端口。
    • -v .../models:保留下载的模型。
    • -v .../history.db:保留对话历史记录。
  3. 访问用户界面: 打开http://localhost:8000

文档

发展

  • 运行测试: python -m pytest tests/