本项目分析的是 'remote-mcp-agent' 仓库中位于 'mcp' 目录下的 MCP 服务器实现。该服务器旨在通过 Model Context Protocol (MCP) 向大语言模型(LLM)客户端提供一套用于管理花园数据和执行相关操作的功能。
主要功能点
该 MCP 服务器通过注册一系列工具,为 LLM 提供以下能力:
- 花园床位管理: 允许 LLM 添加新的花园床位,获取指定床位的详细信息(包括种植的植物),列出所有床位的名称和 ID,以及更新现有床位的元数据。
- 观察记录: 能够为特定花园床位记录详细的观察日志,包含日期、笔记、湿度、病虫害情况和植物健康状况。
- 植物管理: 支持向特定花园床位添加新的植物记录或移除已种植的植物。
- 收获记录: 可以记录特定花园床位的收获信息,如收获日期、数量等。
- 种子库存管理: 提供完整的种子库存管理功能,包括添加新种子、从库存中移除或使用一定数量的种子,以及列出所有库存中的种子或获取特定种子的详细信息。
安装步骤 (服务器端)
本 MCP 服务器被设计部署为 Cloudflare Worker。部署需要以下步骤:
- 克隆 'remote-mcp-agent' GitHub 仓库。
- 导航到服务器代码所在的 'mcp' 目录 ('cd mcp')。
- 确保您的系统上安装了 Cloudflare Wrangler CLI 并已登录 ('npm i -g wrangler && wrangler login')。
- 您需要一个 Neon Postgres 数据库实例来存储花园数据。获取数据库连接字符串。
- 将您的 Neon Postgres 连接字符串配置为 Cloudflare Worker 的环境变量 Secret,名称必须为 'NEON_CONNECTION_STRING'。
- 运行 'npm install' 安装项目依赖。
- 运行 '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与计算