项目简介

EZ-MCP 仓库提供了一套简单的、功能完整的 Model Context Protocol (MCP) 服务器实现模板。它包含 Python 和 TypeScript 两个版本,每个版本都是一个独立的、可直接运行的文件,旨在帮助开发者以最快速度搭建并测试 MCP 服务器,并作为构建更复杂应用的起点。

主要功能点

该模板展示了 MCP 服务器的核心能力:

  • 资源 (Resources):服务器可以托管和提供结构化或非结构化的数据源,供大型语言模型 (LLM) 访问,作为其上下文信息。
  • 工具 (Tools):服务器可以注册和执行外部功能或 API 调用,LLM 可以通过调用这些工具来获取实时信息或执行特定操作。
  • Prompt 模板 (Prompts):服务器可以定义和渲染可重用的 Prompt 结构,帮助 LLM 客户端标准化和定制化与模型的交互方式。
  • 配置管理:支持通过环境变量进行服务器的基本配置。

安装步骤

EZ-MCP 模板是单文件应用,无需复杂的安装过程。

  1. 获取模板文件: 你可以直接从 GitHub 仓库克隆整个仓库,或者下载 'ez-mcp.py' (Python) 或 'ez-mcp.ts' (TypeScript) 文件。

    • 克隆仓库:
      git clone https://github.com/intellectronica/ez-mcp.git
      cd ez-mcp
    • 或直接下载文件 (例如 Python 版):
      curl -O https://raw.githubusercontent.com/intellectronica/ez-mcp/main/ez-mcp.py
  2. 安装运行环境:

    • Python 版本 ('ez-mcp.py'): 需要安装 'uv'(或 'pip')和 Python 3.12+。'uv' 会自动处理依赖。
      # 安装 uv (如果未安装)
      curl -LsSf https://astral.sh/uv/install.sh | sh
      # 依赖会在首次运行时由 uv 自动安装
    • TypeScript 版本 ('ez-mcp.ts'): 需要安装 Deno。Deno 会自动处理依赖。
      # 安装 Deno (如果未安装)
      curl -fsSL https://deno.land/install.sh | sh

服务器配置 (供 MCP 客户端使用)

要让 MCP 客户端(如 Anthropic 客户端)连接到这个服务器,你需要将服务器的启动命令添加到客户端的配置文件(通常是 '.mcp/mcp.json' 或 'mcp.json')中。以下是一个示例配置结构,你需要将服务器文件的实际路径替换占位符:

{
  "mcpServers": {
    "your-server-name": {
      "command": "服务器启动命令",
      "args": ["启动参数1", "启动参数2", ...],
      "env": {
        "环境变量名": "环境变量值"
        // 例如: "GREETING_PREFIX": "你好"
      }
    }
    // 可以配置多个 MCP 服务器
  }
}
  • 对于 Python 版本:
    • 'command': '"uv"'
    • 'args': '["run", "/绝对路径/到/ez-mcp.py"]'
  • 对于 TypeScript 版本:
    • 'command': '"deno"'
    • 'args': '["run", "--allow-all", "/绝对路径/到/ez-mcp.ts"]'

请将 '/绝对路径/到/ez-mcp.py' 或 '/绝对路径/到/ez-mcp.ts' 替换为你实际存放文件的完整路径。'env' 部分可以用来传递环境变量,例如示例中用于配置问候语前缀的 'GREETING_PREFIX'。

基本使用方法

  1. 直接运行模板服务器:

    • Python 版本: 在文件所在目录运行 'uv run ez-mcp.py'
    • TypeScript 版本: 在文件所在目录运行 'deno run --allow-all ez-mcp.ts' 服务器将启动并监听来自标准输入/输出的 MCP 请求。
  2. 使用 MCP Inspector 进行开发调试: MCP Inspector 提供了一个 Web 界面来浏览和测试你的 MCP 服务器能力。

    • Python 版本: 'uv run mcp dev ez-mcp.py'
    • TypeScript 版本: 先全局安装 Inspector ('npm install -g @modelcontextprotocol/inspector'), 然后运行 'npx @modelcontextprotocol/inspector deno run --allow-all ez-mcp.ts' Inspector 会在浏览器中打开,你可以查看服务器提供的资源、工具和 Prompt,并进行交互测试。
  3. 定制你自己的服务器: 最快的方式是复制一份模板文件('ez-mcp.py' 或 'ez-mcp.ts'),然后根据你的需求修改和添加:

    • 添加工具: 在代码中找到 '@mcp.tool()' (Python) 或 'server.tool(...)' (TypeScript) 的示例,按照模式添加你自己的函数。
    • 添加资源: 使用 '@mcp.resource()' (Python) 或 'server.resource(...)' (TypeScript) 注册新的数据源。
    • 添加 Prompt 模板: 使用 '@mcp.prompt()' (Python) 或 'server.prompt(...)' (TypeScript) 定义新的 Prompt 结构。
    • 模板文件内部包含详细的注释和示例,指导你如何集成数据库、API 调用、文件操作等。

通过复制、修改和运行这些模板,你可以快速构建符合 MCP 标准的后端服务,为 LLM 应用提供丰富的上下文和功能。

信息

分类

开发者工具