mcpField
M
MCP REST API and CLI Client

MCP REST API and CLI Client

github.com/rakesh-eltropy框架与 SDK4985 周前更新

关于 MCP REST API and CLI Client

一个 REST API 和命令行客户端,用于与 MCP 服务交互。集成 LangChain 和多个大模型提供商,支持多个 MCP 服务器协作处理查询。

主要功能

  1. 01兼容任意 MCP 服务
  2. 02预配置 SQLite 和 Brave Search
  3. 03LangChain 集成和大模型支持
  4. 04REST API 和 CLI 接口
  5. 05支持多服务器协作

适用场景

  1. 01通过命令行查询本地数据库和搜索信息
  2. 02构建需要多个工具协作的 AI 应用
  3. 03使用不同大模型提供商测试 MCP 服务

MCP 相关

客户端连接并管理多个 MCP 服务,通过 LangChain 将大模型与 MCP 服务协调使用,支持在配置文件中添加自定义 MCP 服务。

详细介绍

MCP REST API 和命令行客户端

一个简单的 REST API 和命令行客户端,用于与 Model Context Protocol (MCP) 服务交互。

主要功能

1. MCP 兼容服务
  • 支持任何 MCP 兼容服务。
  • 预配置的默认服务:
    • SQLite(已提供包含示例产品数据的 test.db)
    • Brave Search
  • 可在 mcp-server-config.json 文件中添加其他 MCP 服务
2. 与 LangChain 集成
  • 利用 LangChain 执行大模型提示词。
  • 支持多个 MCP 服务协作,同时响应特定查询。
3. 大模型提供商支持
  • 兼容任何支持具有函数功能的 API 的大模型提供商。
  • 示例:
    • OpenAI
    • Claude
    • Gemini
    • AWS Nova
    • Groq
    • Ollama
    • 基本上所有大模型提供商都支持,只要它们提供基于函数的 API。更多详情请参考 langchain 文档。

设置

  1. 克隆仓库:

    git clone https://github.com/rakesh-eltropy/mcp-client.git
    
  2. 导航到项目目录 克隆仓库后,移动到项目目录:

    cd mcp-client
    
  3. 设置 OPENAI_API_KEY 环境变量:

    export OPENAI_API_KEY=your-openai-api-key
    

    你也可以在 mcp-server-config.json 文件中设置 OPENAI_API_KEY。

    你也可以在 mcp-server-config.json 文件中设置 provider 和 model。 例如 provider 可以是 ollama,model 可以是 llama3.2:3b。

  4. 设置 BRAVE_API_KEY 环境变量:

    export BRAVE_API_KEY=your-brave-api-key
    

    你也可以在 mcp-server-config.json 文件中设置 BRAVE_API_KEY。 你可以从 Brave Search API 获取免费的 BRAVE_API_KEY。

  5. 从命令行运行:

    uv run cli.py
    

    要查看可用命令,使用 help 选项。你可以使用 chat 命令与大模型聊天。 示例提示词:

      What is the capital city of India?
    
      Search the most expensive product from database and find more details about it from amazon?
    
  6. Running from the REST API:

    uvicorn app:app --reload
    

    你可以使用以下 curl 命令与大模型聊天:

    curl -X POST -H "Content-Type: application/json" -d '{"message": "list all the products from my local database?"}' http://localhost:8000/chat
    

    你可以使用以下 curl 命令与大模型进行流式聊天:

    curl -X POST -H "Content-Type: application/json" -d '{"message": "list all the products from my local database?", "streaming": true}' http://localhost:8000/chat
    

贡献

欢迎提交 issue 和 pull request 以改进或修复 bug。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。