MCP REST API与CLI客户端

一个简单的REST API和CLI客户端,用于与Model Context Protocol (MCP)服务器交互,支持多种LLM提供商和LangChain集成。

  • by rakesh-eltropy
  • Python
  • 本地部署
  • 49 星标
  • 更新于
在 GitHub 查看 rakesh-eltropy/mcp-client

使用说明

MCP REST API和CLI客户端

A. 简单REST API 和 CLI客户端 与…互动 模型上下文协议(MCP) 服务器。

主要特点

1.MCP兼容服务器

  • 支持任何 MCP兼容服务器 服务器。
  • 预配置的默认服务器:
    • 数据库 (test.db已提供样品产品数据)
    • 勇敢的搜索
  • 可以在中添加其他MCP服务器 mcp-server配置json 文件

2.与LangChain集成

  • 利用LangChain执行LLM提示。
  • 使多个MCP服务器能够同时协作并响应特定查询。

3.LLM提供商支持

  • 与任何支持具有函数功能的API的LLM提供程序兼容。
  • 示例:
    • OpenAI
    • 克劳德
    • 双子座
    • AWS Nova
    • Groq
    • 奥拉马
    • 基本上,所有LLM提供程序都受支持,只要它们提供基于功能的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
    

    您还可以设置 OPENAI_API_KEY 在 mcp-server配置json 文件。

    您还可以设置 provider 和 model 在 mcp-server配置json 文件。 例如 provider 可以是 ollama 和 model 可以是 llama3.2:3b.

4.设置BRAVE_API_KEY环境变量:

export BRAVE_API_KEY=your-brave-api-key

您还可以设置 BRAVE_API_KEY 在 mcp-server配置json 文件。 你可以得到免费的 BRAVE_API_KEY 从 勇敢搜索API.

  1. 从CLI运行:

    uv run cli.py
    

    要探索可用命令,请使用 help 选项。您可以使用与LLM聊天 chat 命令。 示例提示:

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

    uvicorn app:app --reload
    

    您可以使用以下curl命令与llm聊天:

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

    您可以使用以下curl命令与llm进行流式聊天:

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

贡献

请随时提交问题并提取改进或错误修复请求。