项目简介

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 支持自托管,可以免费使用部分功能。详细的自托管指南请参阅其官方文档:

  1. 环境准备: 确保您的服务器满足运行 Node.js (推荐 LTS 版本) 和 PostgreSQL 的要求。
  2. 克隆仓库:
    git clone https://github.com/NangoHQ/nango.git
    cd nango
  3. 安装依赖:
    npm install
    # 或
    yarn install
  4. 配置环境变量: 根据您的环境设置必要的环境变量(如数据库连接字符串 'NANGO_DB_URL'、加密密钥 'NANGO_ENCRYPTION_KEY' 等)。可以参考项目根目录下的 '.env.example' 文件。
  5. 运行数据库迁移:
    npm run migrate
    注意: 具体命令可能因版本而异,请参考官方文档。
  6. 启动服务器:
    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 暴露的集成功能(如数据同步、执行自定义动作等)。

  1. 定义集成: 在 Nango 中通过 'nango.yaml' 文件定义您的集成、数据模型(Models)和操作(Actions)。例如,定义一个“创建GitHub Issue”的Action。
  2. LLM 客户端连接: 配置您的 LLM 客户端,使其能够连接到 Nango MCP 服务器。
  3. LLM 调用工具: LLM 客户端会通过 MCP 协议向 Nango 服务器发送请求,调用 Nango 中定义好的 Action(例如,LLM 接收到用户指令后,调用“创建GitHub Issue”Action)。
  4. 执行与响应: Nango 服务器接收到请求后,会执行对应的 Action,与外部 API 交互(例如,调用 GitHub API 创建 Issue),并将结果通过 JSON-RPC 响应返回给 LLM 客户端。

具体如何让 LLM 客户端与 Nango MCP 服务器交互的细节,请参考 Nango 官方文档中关于 MCP Server 和工具调用的指南。

信息

分类

开发者工具