项目简介
'unifai-sdk-js' 是 UnifAI 平台的 JavaScript/TypeScript SDK。该 SDK 包含一个 MCP 服务器实现,可以将 UnifAI 平台提供的丰富工具集通过 Model Context Protocol (MCP) 转换为 LLM 客户端可直接调用的服务。它允许任何支持 MCP 的 LLM 客户端(如 Claude Desktop)无缝地发现和使用 UnifAI 工具。
主要功能点
- MCP 工具服务: 作为 MCP 服务器,实现并响应 LLM 客户端发起的 'listTools' (获取工具列表) 和 'callTool' (调用工具) 请求。
- UnifAI 平台桥接: 将 LLM 客户端的 MCP 请求转换为对 UnifAI 后端 API 的实际调用,执行工具的功能。
- 灵活的工具暴露: 支持通过环境变量配置,选择暴露所有可搜索的动态工具,或者指定特定的静态工具集 (toolkits) 或静态操作 (actions) 给 LLM 客户端。
- 标准传输: 使用 Stdio 传输协议与 MCP 客户端进行通信,符合 MCP 规范。
安装步骤
- 确保您的系统已安装 Node.js 和 npm。
- 打开终端或命令行界面。
- 如果您计划将此服务器作为独立进程运行(通常是 MCP 客户端通过 'command' 参数启动),您无需全局安装,MCP 客户端可以通过 'npx' 直接执行。如果您需要在项目中引用 SDK,请安装它:
npm install unifai-sdk
服务器配置
该 UnifAI 工具 MCP 服务器被设计为由 MCP 客户端启动并管理。在支持 MCP 的 LLM 客户端中,您需要在其配置界面(通常是 JSON 格式)中添加一个新的 MCP 服务器配置项。
以下是一个典型的 MCP 客户端配置示例(例如,添加到 'mcpServers' 列表中):
{ "mcpServers": { "unifai-tools": { // 服务器的唯一名称,您可自定义 "command": "npx", // 启动服务器的命令,使用 npx 执行 SDK 内的可执行文件 "args": [ // 传递给 command 的参数列表 "-y", // npx 参数:自动确认安装 UnifAI SDK "-p", // npx 参数:指定要执行的包 "unifai-sdk", // 包名称:指定在哪个包中查找可执行文件 "unifai-tools-mcp" // 可执行文件名称:UnifAI SDK 提供的 MCP 服务器启动脚本 ], "env": { // 传递给服务器进程的环境变量,用于配置服务器行为 "UNIFAI_AGENT_API_KEY": "YOUR_UNIFAI_AGENT_API_KEY", // *** 必需 *** 您的 UnifAI 平台 Agent API Key "DYNAMIC_TOOLS": "true", // 可选:是否启用动态工具发现 (默认: true)。设置为 "false" 可禁用。 "STATIC_TOOLKITS": "toolkit_id_1,toolkit_id_2,...", // 可选:逗号分隔的静态工具集 ID 列表,例如 "1,abc" "STATIC_ACTIONS": "action_id_A,action_id_B,..." // 可选:逗号分隔的静态操作 ID 列表,例如 "google_search,weather_check" } } } }
重要提示:
- 请将 '"YOUR_UNIFAI_AGENT_API_KEY"' 替换为您在 UnifAI 平台 (https://app.unifai.network/) 获取的 Agent API Key。这是服务器连接 UnifAI 后端并调用工具所必需的。
- 您可以通过配置 'DYNAMIC_TOOLS'、'STATIC_TOOLKITS' 和 'STATIC_ACTIONS' 这三个环境变量来定制哪些 UnifAI 工具会被此 MCP 服务器暴露给 LLM 客户端。这些配置对应于 SDK 'Tools' 类中的 'getTools' 方法选项。
基本使用方法
- 按照上述说明在您的 MCP 客户端中配置该 UnifAI 工具 MCP 服务器。
- 启动您的 MCP 客户端。客户端会自动根据配置启动 'unifai-tools-mcp' 进程,并建立基于 Stdio 的 MCP 连接。
- 您的 LLM 现在应该能够感知到通过这个 MCP 服务器暴露的 UnifAI 工具。当 LLM 需要执行某个任务时,它会通过 MCP 协议请求工具列表,并调用适当的 UnifAI 工具来完成任务。
信息
分类
AI与计算