使用说明

项目简介

'easy_mcp' 是一个使用 Python 编写的 Model Context Protocol (MCP) 服务器模块,旨在简化 MCP 服务器的创建过程。它利用 Server-Sent Events (SSE) 实现与 LLM 客户端的高效通信,并提供工具注册和执行、资源管理和 Prompt 模板等核心 MCP 功能的初步框架。本项目包含一个天气服务示例,展示了如何使用 'easy_mcp' 模块构建实际应用。

主要功能点

  • MCP 服务器框架: 提供基础的 MCP 协议服务端实现,支持处理客户端的初始化、工具调用等请求。
  • 工具注册与执行: 允许注册自定义工具,并响应客户端的工具调用请求,例如天气预报查询工具。
  • SSE 通信: 使用 Server-Sent Events (SSE) 协议与客户端进行实时、高效的数据传输。
  • HTTP/HTTPS 支持: 支持 HTTP 和 HTTPS 两种模式,HTTPS 模式提供安全连接。
  • 示例应用: 包含一个天气预报 Demo,演示了如何集成外部 API 并通过工具提供给 LLM 客户端。

安装步骤

  1. 克隆仓库
    git clone https://github.com/gitcnd/easy_mcp.git
    cd easy_mcp
  2. 创建并激活虚拟环境
    python3 -m venv venv
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate  # Windows
  3. 安装项目
    pip install -e .

服务器配置

MCP 服务器主要通过命令行参数进行配置。对于 MCP 客户端(如 Cursor 编辑器),您需要配置服务器的启动命令和参数。以下是针对 Cursor 编辑器的 MCP 配置示例 ('~/.cursor/mcp.json'):

{
  "mcpServers": {
    "weather-demo-mcp-server": { // 服务器名称,可以自定义
      "url": "http://127.0.0.1:9443/sse",  // MCP 服务器 SSE 端点 URL,HTTPS 模式请使用 'https'
      "env": {} // 环境变量(本示例无需配置)
    }
  }
}

Cursor MCP 客户端服务器启动配置:

  • Server Name (服务器名称): 'weather-demo-mcp-server' (或自定义名称)
  • Command (命令): 'python'
  • Args (参数): 'examples/weather_demo.py --http' (HTTP 模式) 或 'examples/weather_demo.py' (HTTPS 模式,需要配置证书)

参数说明

  • '--http': 以 HTTP 模式运行服务器 (不启用 TLS/HTTPS)。
  • '--port': 指定服务器监听端口,默认为 '9443'。
  • '--host': 指定服务器绑定的主机地址,默认为 '127.0.0.1' (本地)。
  • '--hostname': 公共主机名,用于 SSE 连接,通常无需配置。

基本使用方法

  1. 启动服务器
    • HTTP 模式 (推荐开发测试):
      python examples/weather_demo.py --http
    • HTTPS 模式 (生产环境):
      • 首先,替换 'src/easy_mcp/certs/' 目录下的证书文件为您自己的 SSL 证书。
      • 然后运行服务器:
      python examples/weather_demo.py
  2. 配置 MCP 客户端
    • 根据 “服务器配置” 章节的说明,在 MCP 客户端 (如 Cursor 编辑器) 中添加并配置 'weather-demo-mcp-server'。
  3. 在 MCP 客户端中使用工具
    • 连接成功后,客户端应能发现并调用服务器注册的工具,例如天气预报工具 'x_get_forecast'。具体使用方式请参考 MCP 客户端的文档。

信息

分类

AI与计算