本项目分析的是 'remote-mcp-agent' 仓库中位于 'mcp' 目录下的 MCP 服务器实现。该服务器旨在通过 Model Context Protocol (MCP) 向大语言模型(LLM)客户端提供一套用于管理花园数据和执行相关操作的功能。

主要功能点

该 MCP 服务器通过注册一系列工具,为 LLM 提供以下能力:

  • 花园床位管理: 允许 LLM 添加新的花园床位,获取指定床位的详细信息(包括种植的植物),列出所有床位的名称和 ID,以及更新现有床位的元数据。
  • 观察记录: 能够为特定花园床位记录详细的观察日志,包含日期、笔记、湿度、病虫害情况和植物健康状况。
  • 植物管理: 支持向特定花园床位添加新的植物记录或移除已种植的植物。
  • 收获记录: 可以记录特定花园床位的收获信息,如收获日期、数量等。
  • 种子库存管理: 提供完整的种子库存管理功能,包括添加新种子、从库存中移除或使用一定数量的种子,以及列出所有库存中的种子或获取特定种子的详细信息。

安装步骤 (服务器端)

本 MCP 服务器被设计部署为 Cloudflare Worker。部署需要以下步骤:

  1. 克隆 'remote-mcp-agent' GitHub 仓库。
  2. 导航到服务器代码所在的 'mcp' 目录 ('cd mcp')。
  3. 确保您的系统上安装了 Cloudflare Wrangler CLI 并已登录 ('npm i -g wrangler && wrangler login')。
  4. 您需要一个 Neon Postgres 数据库实例来存储花园数据。获取数据库连接字符串。
  5. 将您的 Neon Postgres 连接字符串配置为 Cloudflare Worker 的环境变量 Secret,名称必须为 'NEON_CONNECTION_STRING'。
  6. 运行 'npm install' 安装项目依赖。
  7. 运行 'npm run deploy' 将 Worker 部署到您的 Cloudflare 账户。

部署成功后,Cloudflare 会为您分配一个 Worker URL。这个 URL 将是您的 MCP 服务器的访问地址。

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

MCP 客户端需要连接到此服务器以获取能力并进行交互。连接时通常需要提供以下信息:

  • 'name': MCP 服务器声明的名称,本项目为 "Garden Buddy"。
  • 'command': 服务器的基础 URL,即您部署 Worker 后获得的 Cloudflare Worker URL (例如: 'https://<您的 Cloudflare Worker 域名>')。
  • 'args': MCP SSE 端点的路径,本项目为 '["/sse"]'。
  • 'protocol': 使用的传输协议,本项目为 "sse"。

一个示例的 MCP 客户端配置结构 (JSON 格式):

{
  "name": "Garden Buddy",
  "command": "https://<您的 Cloudflare Worker 域名>",
  "args": ["/sse"],
  "protocol": "sse"
}

请将 '<您的 Cloudflare Worker 域名>' 替换为您实际部署后获得的域名。

基本使用方法

LLM 客户端通过配置中提供的 URL 连接到此 MCP 服务器。连接建立后,服务器会向客户端声明其提供的能力,特别是通过 JSON-RPC 协议注册的工具(如 'list-beds', 'add-seed' 等)。LLM 可以解析这些工具声明,并根据用户需求,调用相应的工具函数,传递必要的参数,服务器将执行对应的数据库操作并返回结果。交互过程遵循 JSON-RPC over SSE 标准进行。

信息

分类

AI与计算