使用说明

项目简介

本项目是 Model Context Protocol (MCP) 协议服务器的示例集合,旨在帮助开发者理解和实践 MCP 服务器的构建。仓库中包含了多个不同功能的示例服务器,例如:

  • everything: 一个功能全面的示例服务器,演示了 MCP 协议的各项核心能力,包括资源管理、Prompt 模板、工具调用和日志记录等。
  • puppeteer: 一个基于 Puppeteer 的服务器,可以控制浏览器并提供网页浏览和控制台日志访问等功能。
  • gdrive: 一个连接 Google Drive 的服务器,允许用户浏览和读取 Google Drive 中的文件,并提供文件搜索工具。
  • postgres: 一个连接 PostgreSQL 数据库的服务器,可以将数据库表结构作为资源提供,并允许执行 SQL 查询工具。
  • git: 一个 Git 版本控制服务器,可以读取 Git 仓库中的文件、查看提交历史、搜索代码等。

本使用说明主要针对 'everything' 示例服务器进行介绍,其他服务器的使用方法可以参考仓库中 'src' 目录下的具体 README 文件或代码注释。

主要功能点 (以 'everything' 服务器为例)

  • 资源管理: 提供多种类型的静态资源,支持资源列表、读取资源内容,以及资源订阅和更新通知。
  • Prompt 模板: 定义了简单和复杂的 Prompt 模板,演示了如何向客户端提供可定制的 Prompt 交互模式。
  • 工具执行: 实现了多个示例工具,包括回声工具、加法计算器、模拟长时间运行的任务、调用 LLM 进行采样以及获取小图片等,展示了工具注册和调用的流程。
  • 日志记录: 支持设置日志级别,并向客户端发送不同级别的日志消息。
  • 传输协议: 支持 Stdio 和 SSE 两种传输协议,方便客户端选择合适的连接方式。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统中已安装 Node.js 和 npm (Node 包管理器)。你可以从 Node.js 官网 下载并安装。
  2. 全局安装: 打开终端或命令提示符,运行以下命令全局安装示例服务器包:
    npm install -g @modelcontextprotocol/example-servers
    安装完成后,示例服务器的可执行文件 ('mcp-server-everything', 'mcp-server-postgres' 等) 将会被添加到你的系统 PATH 环境变量中。

服务器配置 (MCP 客户端配置)

MCP 客户端需要配置服务器的启动命令和参数才能连接到 MCP 服务器。以下是 'everything' 服务器基于 Stdio 传输协议的配置示例 (JSON 格式):

{
  "serverName": "example-servers/everything",  // 服务器名称,用于在客户端标识和管理服务器连接
  "command": "mcp-server-everything",        // 启动服务器的命令,这里使用全局安装后可用的 mcp-server-everything 命令
  "args": [],                               // 启动命令的参数,这里示例服务器不需要额外的启动参数,所以为空数组
  "transport": "stdio"                       // 指定传输协议为 Stdio (标准输入输出)
}

配置参数说明:

  • 'serverName': 服务器的名称,客户端可以使用此名称来区分不同的 MCP 服务器连接。
  • 'command': 启动 MCP 服务器的可执行命令。全局安装后,可以直接使用 'mcp-server-everything' 命令。
  • 'args': 传递给启动命令的参数列表。'everything' 服务器示例不需要额外参数,所以配置为空数组 '[]'。某些服务器可能需要通过参数指定数据库连接 URL 等信息。
  • 'transport': 指定 MCP 客户端和服务器之间通信的传输协议。'stdio' 表示使用标准输入和输出进行通信,这是最常用的方式。

如果需要使用 SSE 传输协议,可以使用 'mcp-server-everything-sse' 命令启动服务器,并在客户端配置中使用 'sse' 传输协议,具体配置请参考仓库中的 'src/everything/sse.ts' 文件。

基本使用方法

  1. 启动服务器:

    • Stdio 传输: 打开终端或命令提示符,直接运行命令 'mcp-server-everything' 即可启动 'everything' 示例服务器 (Stdio 传输模式)。
    • SSE 传输: 运行命令 'mcp-server-everything-sse' 启动 'everything' 示例服务器 (SSE 传输模式)。SSE 服务器默认监听端口 3001,客户端需要通过 HTTP 连接到 'http://localhost:3001/sse' 地址。
  2. 配置并连接 MCP 客户端: 在你的 MCP 客户端应用中,根据上述 服务器配置 部分提供的 JSON 配置信息,配置并连接到已启动的 'everything' 服务器。

  3. 探索服务器能力: 连接成功后,使用 MCP 客户端的功能,例如:

    • 列出资源: 查看 'everything' 服务器提供的静态资源列表。
    • 读取资源: 获取指定资源的内容。
    • 列出 Prompt 模板: 查看服务器定义的 Prompt 模板。
    • 获取 Prompt: 获取指定 Prompt 模板的消息内容。
    • 列出工具: 查看服务器注册的工具列表。
    • 调用工具: 调用服务器提供的工具,例如 'echo' 工具或 'add' 工具等,并查看工具执行结果。
    • 设置日志级别: 调整服务器的日志输出级别,观察日志消息。

通过以上步骤,你就可以体验 'everything' 示例服务器提供的 MCP 协议功能。你可以尝试修改 'src/everything/everything.ts' 文件中的代码,扩展服务器的功能,例如添加新的资源、Prompt 模板或工具,从而更深入地理解 MCP 服务器的开发。

信息

分类

开发者工具