使用说明
项目简介
Agentics Edge Functions 仓库是一个开源项目,旨在为在网络边缘运行的分布式自主AI Agent提供技术基础。其中,'mcp-server' 功能模块实现了 Model Context Protocol (MCP) 服务器,它充当 LLM 客户端和后端资源、工具的桥梁,提供标准化的上下文信息和功能访问。
主要功能点
- 资源管理: MCP 服务器能够托管和管理各种资源,例如数据库表、存储文件和系统信息等,并允许 LLM 客户端通过标准化的 URI 访问这些资源。
- 工具注册与执行: 服务器支持注册和执行外部工具,例如数据库查询工具、消息发送工具和系统信息获取工具,使 LLM 客户端能够调用这些工具来扩展其能力。
- JSON-RPC 通信: MCP 服务器使用 JSON-RPC 协议与客户端进行通信,接收客户端的请求并返回符合 MCP 协议的响应。
- 基于 Supabase Edge Functions: 该 MCP 服务器实现为 Supabase Edge Function,利用 Supabase 提供的 serverless 基础设施,易于部署和扩展。
- 安全性: 通过密钥进行身份验证,保护 MCP 服务器的安全访问。
安装步骤
-
克隆仓库
git clone https://github.com/agenticsorg/edge-agents cd edge-agents -
安装 Supabase CLI 如果还没有安装 Supabase CLI,请根据 Supabase 文档 进行安装和配置。
-
关联 Supabase 项目 在仓库根目录下,使用 Supabase CLI 关联到你的 Supabase 项目。
-
配置环境变量 在 Supabase 项目的 "Settings" -> "Secrets" 中,设置以下环境变量:
- 'MCP_SECRET_KEY': 用于 MCP 客户端身份验证的密钥,请设置一个安全的随机字符串。
- 'SUPABASE_URL': 你的 Supabase 项目 URL。
- 'SUPABASE_SERVICE_ROLE_KEY': 你的 Supabase 服务角色密钥。
- (可选) 'OPENROUTER_API_KEY': 如果需要使用 agent-manager 中的 LLM 功能,请设置 OpenRouter API 密钥。
-
部署 'mcp-server' Edge Function 使用 Supabase CLI 部署 'mcp-server' 函数:
supabase functions deploy mcp-server --no-verify-jwt请注意 '--no-verify-jwt' 参数是为了简化部署,生产环境请根据需要配置 JWT 验证。
服务器配置 (MCP 客户端配置)
以下 JSON 配置信息用于 MCP 客户端连接到部署在 Supabase Edge Functions 上的 MCP 服务器。请将以下配置填入你的 MCP 客户端配置中。
{ "serverName": "Agentics MCP Server", "command": "supabase/functions/mcp-server", "args": [], "transport": "http-json-rpc", "baseUrl": "YOUR_SUPABASE_FUNCTIONS_URL/mcp-server/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_SECRET_KEY" }, "description": "Agentics MCP Server running as a Supabase Edge Function" }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 对于 HTTP 传输方式,此字段不直接使用,可以作为占位符。
- 'args': 对于 HTTP 传输方式,此字段不直接使用,保持空数组 '[]' 即可。
- 'transport': 指定 MCP 客户端与服务器的通信方式,这里设置为 '"http-json-rpc"',表示使用 HTTP 协议和 JSON-RPC 消息格式。
- 'baseUrl': 请务必替换 'YOUR_SUPABASE_FUNCTIONS_URL' 为你部署的 'mcp-server' Supabase Edge Function 的实际 URL 地址。 你可以在 Supabase 控制台的 "Functions" 页面找到已部署函数的 URL。URL 结尾需要加上 '/mcp' 以指向 MCP 服务端点。
- 'headers': HTTP 请求头信息,用于身份验证和传递其他元数据。
- 'Authorization': 请务必替换 'YOUR_MCP_SECRET_KEY' 为你在 Supabase Secrets 中设置的 'MCP_SECRET_KEY' 环境变量的值。 这是 MCP 客户端连接服务器时进行身份验证的关键,确保只有授权的客户端才能访问 MCP 服务器。
- 'description': MCP 服务器的描述信息,可以自定义。
基本使用方法
配置完成后,MCP 客户端即可通过 HTTP 请求与 MCP 服务器进行交互。客户端可以发送符合 MCP 协议的 JSON-RPC 请求到 'baseUrl' 指定的端点,以实现资源访问和工具调用等功能。
例如,客户端可以发送请求列出所有可用的工具,或者调用数据库查询工具来检索数据。 具体请求格式和可用方法请参考 Model Context Protocol 的官方文档和仓库代码中的 'supabase/functions/mcp-server' 目录下的实现。
信息
分类
AI与计算