返回市场
易用MCP

易用MCP

作者:mshojaei7715 星标更新:2025-03-23

项目介绍

EasyMCP

EasyMCP 是一个灵活且易于上手的 Model Context Protocol (MCP) 客户端。它允许您连接到不同类型的 MCP 服务器——SSE、NPX 和 UV,因此您可以与各种工具(例如文件操作)进行交互,并通过集成 OpenAI API 来增强聊天体验。

功能

  • 多服务器支持
    • SSE 服务器: 使用服务器 URL 通过 Server-Sent Events 连接。
    • NPX 服务器: 使用 NPX 命令启动服务器(兼容 Windows 和非 Windows 系统)。
    • UV 服务器: 使用 UV 命令运行服务器。
  • 动态工具集成: 客户端会自动从已连接的服务器中检索可用工具,并使用这些工具处理用户查询。
  • 交互式聊天循环: 输入查询并让客户端使用 OpenAI 和可用的 MCP 工具处理响应。
  • 配置管理: 使用 add_server.py 轻松添加新的服务器配置,该脚本会更新相应的配置文件(如 sse_servers.jsonnpx_servers.jsonuv_servers.json)。

先决条件

  • Python 3.10+(为了兼容 asyncio 和现代异步特性)
  • 有效的 OpenAI API 密钥(设置在您的 .env 文件中)
  • 根据需要的其他 API 密钥以实现额外集成

安装

  1. 克隆仓库:

    git clone https://github.com/yourusername/EasyMCP.git
    cd EasyMCP
    
  2. 创建虚拟环境并激活:

    在 Windows 上:

    python -m venv .venv
    .venv\Scripts\activate
    

    在 macOS/Linux 上:

    python3 -m venv .venv
    source .venv/bin/activate
    
  3. 安装所需的包:

    pip install -r requirements.txt
    
  4. 设置环境变量: 将提供的 .env.sample 重命名为 .env(或创建自己的 .env),并填写必要的 API 密钥和配置。

服务器配置文件

EasyMCP 使用多个 JSON 配置文件来管理服务器:

  • sse_servers.json: 包含基于 SSE 的服务器配置。
    示例:

    {
      "mcpServers": {
        "@modelcontextprotocol/time": {
          "url": "https://router.mcp.so/sse/pnabizm8lkazpr"
        }
      }
    }
    
  • npx_servers.json: 包含 NPX 服务器配置。
    示例:

    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-filesystem",
            "C:\\Users\\lotus\\Documents\\llm_books_papers",
            "C:\\Users\\lotus\\Documents\\llm_books_papers"
          ]
        }
      }
    }
    
  • uv_servers.json: 包含 UV 服务器配置。
    示例:

    {
      "mcpServers": {
        "sqlite": {
          "command": "uv",
          "args": [
            "--directory",
            "parent_of_servers_repo/servers/src/sqlite",
            "run",
            "mcp-server-sqlite",
            "--db-path",
            "~/test.db"
          ]
        }
      }
    }
    

使用方法

  1. 运行 MCP 客户端:

    python main.py
    
  2. 选择服务器: 客户端将从 sse_servers.jsonnpx_servers.jsonuv_servers.json 加载可用服务器。当提示时,输入对应的数字以选择服务器。

  3. 与客户端交互: 连接后,输入您的查询。例如:

    • 读取 PDF 文件:read Build a Large Language Model.pdf
    • 使用文件工具:use read_file tool and read 2308.11432v5.pdf

    客户端将引导您根据 MCP 服务器提供的允许目录构建正确的文件路径。

添加新服务器

要添加新的 MCP 服务器配置:

  1. 准备新服务器的 JSON 配置。

  2. 运行 add_server.py

    python add_server.py
    

    该脚本将:

    • 检测服务器类型(NPX、UV 或默认为 SSE)。
    • 将新配置追加到相应的文件(如 npx_servers.jsonuv_servers.jsonsse_servers.json)。

示例文件

  • main.py: EasyMCP 客户端的主要入口点。它处理服务器连接、聊天循环以及与 OpenAI 集成的查询处理。

  • add_server.py: 用于向 JSON 文件添加新 MCP 服务器配置的脚本。

  • .env: 包含 API 密钥和模型配置等环境变量。

  • requirements.txt: 列出项目依赖项。

贡献

欢迎贡献!请分叉仓库并提交带有详细更改描述的拉取请求。

许可证

该项目是开源的,并在 MIT 许可证 下提供。

联系方式

如有问题或功能请求,请随时在 GitHub 仓库中打开一个 Issue。

祝编程愉快!