项目简介
Nango 提供全面的基础设施,帮助开发者为SaaS产品和AI Agent构建可靠、可扩展的API集成。它抽象了复杂的授权流程、凭证管理、数据同步和Webhook处理,使开发者能够专注于集成逻辑。其核心功能包括API授权、请求代理、数据同步、自定义操作(Actions)、Webhooks处理以及作为一个MCP服务器,将这些集成能力暴露给LLM(大型语言模型)客户端进行工具调用。
主要功能点
- 500+ API集成授权: 提供嵌入式、白标的授权UI,安全管理并刷新API凭证,并通过Webhook通知凭证失效。
- 请求代理: 自动将API凭证注入到请求中,简化与外部API的交互。
- 数据同步: 支持从API到应用程序的持续数据同步。
- 自定义操作 (Actions): 将特定业务逻辑封装成可重用的操作,供内部或LLM调用。
- Webhooks: 提供统一接口监听和处理来自各种API的Webhook事件。
- MCP 服务器: 将 Nango 中定义的集成、数据资源和自定义操作以标准化的 Model Context Protocol (MCP) 格式暴露给 LLM 客户端,实现 LLM 的工具调用能力。
- 可观测性: 为所有集成提供详细的日志和监控。
- 管理仪表盘和API: 集中管理和控制所有连接账户和集成。
安装步骤
Nango 支持自托管,可以免费使用部分功能。详细的自托管指南请参阅其官方文档:
- 环境准备: 确保您的服务器满足运行 Node.js (推荐 LTS 版本) 和 PostgreSQL 的要求。
- 克隆仓库:
git clone https://github.com/NangoHQ/nango.git cd nango - 安装依赖:
npm install # 或 yarn install - 配置环境变量: 根据您的环境设置必要的环境变量(如数据库连接字符串 'NANGO_DB_URL'、加密密钥 'NANGO_ENCRYPTION_KEY' 等)。可以参考项目根目录下的 '.env.example' 文件。
- 运行数据库迁移:
注意: 具体命令可能因版本而异,请参考官方文档。npm run migrate - 启动服务器:
注意: 具体命令可能因版本而异,请参考官方文档。npm start
建议: 请参考 Nango 官方文档 'https://nango.dev/docs/guides/self-hosting/free-self-hosting/overview' 获取最准确和最新的自托管指南。
服务器配置(MCP客户端使用)
MCP 客户端需要配置 MCP 服务器的连接信息,以便发现和调用其提供的资源和工具。以下是一个示例 JSON 配置,具体参数值需要根据您的 Nango 服务器部署情况进行调整:
{ "servers": [ { "name": "Nango 集成 MCP 服务器", "command": "YOUR_NANGO_SERVER_COMMAND", "args": ["YOUR_NANGO_SERVER_ARGS"], "description": "连接到自托管的 Nango MCP 服务器,提供API集成工具调用能力。", "settings": { "url": "http://localhost:3000/mcp", // Nango MCP服务器的实际 JSON-RPC 访问地址 "api_key": "your_nango_api_key", // 用于MCP客户端认证的Nango API Key "environment_id": "your_environment_id" // Nango环境ID } } ] }
- 'name': MCP 服务器的显示名称。
- 'command': 启动 Nango 服务器的实际命令(例如,如果是 Node.js 应用,可能是 'node' 或 'npm run start' ;如果是 Docker 容器,可能是 'docker run ...')。请查阅 Nango 的官方部署文档以获取准确的启动命令。
- 'args': 传递给 'command' 的参数,用于指定以 MCP 服务器模式运行或连接到特定的 MCP 服务端点。这通常包括指向服务器入口文件的路径和特定功能标志(例如,'["dist/server.js", "--mcp-server"]')。请查阅 Nango 的官方部署文档以获取准确的参数。
- 'description': 对 MCP 服务器功能的简要描述。
- 'settings.url': Nango MCP 服务器的实际网络地址,MCP 客户端将通过此 URL 进行 JSON-RPC 通信。
- 'settings.api_key': MCP 客户端用于向 Nango 服务器进行身份验证的 API 密钥。
- 'settings.environment_id': Nango 平台中的环境标识符,用于隔离不同的集成配置和数据。
基本使用方法
部署并配置好 Nango MCP 服务器后,LLM 客户端可以通过 MCP 协议发现并调用 Nango 暴露的集成功能(如数据同步、执行自定义动作等)。
- 定义集成: 在 Nango 中通过 'nango.yaml' 文件定义您的集成、数据模型(Models)和操作(Actions)。例如,定义一个“创建GitHub Issue”的Action。
- LLM 客户端连接: 配置您的 LLM 客户端,使其能够连接到 Nango MCP 服务器。
- LLM 调用工具: LLM 客户端会通过 MCP 协议向 Nango 服务器发送请求,调用 Nango 中定义好的 Action(例如,LLM 接收到用户指令后,调用“创建GitHub Issue”Action)。
- 执行与响应: Nango 服务器接收到请求后,会执行对应的 Action,与外部 API 交互(例如,调用 GitHub API 创建 Issue),并将结果通过 JSON-RPC 响应返回给 LLM 客户端。
具体如何让 LLM 客户端与 Nango MCP 服务器交互的细节,请参考 Nango 官方文档中关于 MCP Server 和工具调用的指南。
信息
分类
开发者工具