mcpField
N
nango-toolbox

nango-toolbox

github.com/nangohq生产力3103 次安装10 周前更新
代码仓库

关于 nango-toolbox

规定通过 Nango 访问外部 API,而不使用 MCP、服务商 CLI 或临时直接调用的技能。它涵盖集成与连接选择、授权设置,以及 Nango 代理和已部署 Action 的选用。

主要功能

  1. 01通过 Nango 转发外部 API 调用
  2. 02发现集成和连接
  3. 03创建 Connect 会话链接
  4. 04检查连接权限范围
  5. 05选择代理或已部署 Action

适用场景

  1. 01通过代理调用探索服务商 API
  2. 02配置尚未设置的服务商集成
  3. 03确认要使用的连接
  4. 04通过 Action 执行多步 API 逻辑

MCP 相关

该技能明确要求不要使用 MCP 访问外部 API,相关调用必须经由 Nango。支持通过 Nango 代理或已部署的 Action 发起调用。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nangohq/skills --skill nango-toolbox

安装后在 Claude Code 中输入/nango-toolbox确认已加载。

详细介绍

适用场景

  • 任何访问外部 API 的情况。
  • 外部 API 调用必须通过 Nango。
  • 请勿使用 MCP、提供方 CLI 或 Nango 之外临时发起的直接 API 调用。

配置(必需)

按以下顺序解析值。

密钥
  1. 进程环境中的 NANGO_TOOLBOX_SECRET_KEY
  2. 本地 .env 中的 NANGO_TOOLBOX_SECRET_KEY

如果缺少此密钥,请让用户:

  • 创建 Nango 账户:https://app.nango.dev/signup
  • 从 Environment settings → Backend 复制密钥
  • 在 shell 配置文件中设置 NANGO_TOOLBOX_SECRET_KEY(可提出帮忙添加)

兼容性:如果其他说明中提到 NANGO_SECRET_KEY,请将其视为 NANGO_TOOLBOX_SECRET_KEY。

基础 URL
  1. 进程环境中的 NANGO_SERVER_URL
  2. 本地 .env 中的 NANGO_SERVER_URL
  3. https://api.nango.dev
HTTP 标头
  • Authorization: Bearer <NANGO_TOOLBOX_SECRET_KEY>
  • Content-Type: application/json
  • 同时支持 JSON 请求体和查询参数时,优先使用 JSON 请求体。

发现(先执行这些操作)

列出集成:

GET <base-url>/integrations
Authorization: Bearer <secret-key>

列出某个集成的连接:

GET <base-url>/connections?integrationId=<unique_key>
Authorization: Bearer <secret-key>

列出已部署的操作/同步任务:

GET <base-url>/scripts/config
Authorization: Bearer <secret-key>

选择集成(在连接之前执行)

  • 检查 Nango 中是否已为你的 API 设置集成
  • 如果没有,请为用户设置:
    • 如果 API 使用 OAuth,且 Nango 提供开发者凭据,请让用户在控制面板中手动启用。
    • 如果 API 使用 OAuth,且 Nango 未提供开发者凭据,请指导用户获取客户端 ID 和密钥。
    • 如果 API 使用「OAuth 客户端凭据」,不要向用户索要客户端 ID 和密钥。设置好集成后,用户会通过 Connect Link 输入这些信息。
    • 其他所有情况都应设置集成,然后继续创建 Connect link

不要向用户询问任何特定于连接的参数。始终让用户通过 Connect link 输入这些参数。

选择集成和连接(必需)

  • 确认 Nango 中存在该集成(提供方);如有需要,通过 Nango HTTP API 创建。
  • 获取该集成的连接。
  • 如果存在多个连接且无法确定该使用哪一个,请询问要使用哪个 connection_id。

如果不存在连接,请生成 Connect 会话链接:

POST <base-url>/connect/sessions
Authorization: Bearer <secret-key>
Content-Type: application/json

{
  "tags": { "end_user_id": "<user-firstname>" },
  "allowed_integrations": ["<unique_key>"]
}

将 data.connect_link 直接分享给用户(约 30 分钟后过期)。不要引导他们前往控制面板。

调用提供方之前,请确认连接具有所需的作用域(通常查看 credentials.raw.scope)。

如果作用域不足,请在集成级别更新作用域,然后询问用户是否允许删除并重新创建连接:

PATCH <base-url>/integrations/<unique_key>
Authorization: Bearer <secret-key>
Content-Type: application/json

{
  "credentials": {
    "type": "OAUTH2",
    "client_id": "<client_id>",
    "client_secret": "<client_secret>",
    "scopes": "scope1,scope2,scope3"
  }
}

作用域以逗号分隔(不含空格)。

访问策略

  • 对于 1–2 次简单的提供方调用以及探索 API,请使用 Nango 代理。
  • 对于多次调用逻辑、转换、分页编排、重试/错误处理或复用,请使用 Nango Action。

优先复用现有的已部署操作(参见 GET <base-url>/scripts/config)。

如果必须创建新的操作,请使用 building-nango-functions-remotely 技能,并在调用前完成部署。 如果该技能不存在,请提出从 https://github.com/NangoHQ/skills 安装。

调用已部署的操作:

POST <base-url>/action/trigger
Authorization: Bearer <secret-key>
Provider-Config-Key: <unique_key>
Connection-Id: <connection_id>
Content-Type: application/json

{"action_name": "<action-name>", "input": {...}}

文档

Nango 为其支持的每个 API 维护一个文档页面(可在 llms.txt 中查找)。此页面包含外部 API 参考文档的链接。

评论

支持 Markdown