SuperAPI AI 工具集

service-discoverability

智能体与模型

查看项目

更新于 10-16 05:05

技能介绍

用途:让 AI 智能体仅拿到应用 URL(如 https://yourapp.com)就能自行弄清应用由哪些 canister 组成、各自作用、如何调用与查询数据、以及如何以已登录用户身份操作,无需人工提供 canister ID。

主要能力(五层机制):

  1. 组成:/.well-known/ic-architecture JSON 清单,列出每个 canister 的 id、name、role 与可选 description。此层受限:发布该文件即代表应用运营方接受 ICP MCP App Operator Terms(资料写作时版本 1.1,2026-09-02 生效),并自动加入 ICP MCP;发布前须由运营方确认其有权约束该应用且接受相关许可。只有清单中声明的 canister 在范围内。删除清单即关闭参与;终止协议需另行通知 mcp@dfinity.org。注册为可选,非参与条件。
  2. 接口:以 candid:service canister 元数据暴露 Candid 接口,供获取方法签名与类型并正确编解码。
  3. 行为:提供 getApiDoc 查询方法,返回 markdown 说明单位、生命周期、注意事项等无法从类型推断的语义(Rust 可用 get_api_doc)。
  4. 数据:OQL schema 加 execute 查询方法。
  5. 身份:/.well-known/ii-derivation-origin 文件。

必要用法:安装 icp-cli 与 ic-wasm:npm install -g @icp-sdk/icp-cli @icp-sdk/ic-wasm;前端采用 @dfinity/static-site 配方部署;用 envsubst 模板化清单。第 1、5 层需在部署时生成 well-known 文件(各网络 canister ID 不同),可用 presync 钩子,每个 canister ID 以 ICP_CLI_CID_<NAME> 导出。验证元数据可执行 icp canister metadata <BACKEND_ID> candid:service --network ic。清单为无扩展名文件,需在 _headers 中设 Content-Type: application/json。

适用场景:希望应用可被 AI 智能体发现并操作、参与 ICP MCP 的 canister 应用。

限制:第 1 层受 ICP MCP 条款约束,发布即接受;须保证清单、Candid 接口与 getApiDoc 准确并随应用更新,不得将状态变更方法描述为只读,不得在元数据中操纵助手。运营方负责源站、canister 安全、升级路径与文件完整性,并依法处理个人数据。ICP MCP 仅向清单内 canister 提交查询或更新调用。隐私政策及相关法务细节本资料仅部分涉及,其余暂未提供。