Skip to main content
这页介绍的是 DataHub 通用 MCP:它先帮助 Agent 发现合适的 Data App,再读取 App 的实时契约并运行。它和“先选择一个指定 App 再连接”的教程使用同一套 DataHub 能力,区别只是选 App 的时间不同。
Data App 的数量、名称、发布者、价格和输入输出会持续更新;MCP 协议工具则相对稳定。因此,本页重点说明工具契约和通用流程,不把某次市场目录当成长期清单。

两层能力

长期集成某个固定 App 时,优先记录它的 app_idnamespace/app_name 也可以引用 App,但发布者或应用改名后可能失效。

六个 MCP 工具

search_data_apps:搜索目录

用业务关键词发现 Data App。query 支持中英文关键词;留空可分页查看当前可见目录。还可用 type 过滤取数 / 查询类 data 或加工类 transform,用 scope 选择 allpublicprivateshared 结果卡片会给出 app_id、名称、简介、运行模式(sync / async)、输入输出提示、起始价格和可见范围。先搜索和比较,未确认前不要直接运行。

get_data_app_details:读取完整契约

在运行前调用。传入 app_id<namespace>/<app_name> 后,可取得:
  • input_schema:本次运行必须满足的标准 JSON Schema。
  • output_schema:可能返回的字段。
  • knowledge:能力边界、预期延迟和注意事项。
  • pricing:计费说明。
  • examples:可作为起点的输入示例。
最稳的方式是从 examples 复制一份 input 再按需求调整。不要从页面标题、聊天描述或旧任务中猜测字段名。

run_data_app:发起运行

传入 app、满足 input_schemainput,必要时设置 max_records 控制最大结果数。输入不符合契约时会立即返回 [invalid-input] 并指出字段问题。 常见返回包括 run_idstateprogressusagebillingnext_step。首次尝试建议使用较小的 max_records,先确认数据、耗时与费用。

get_run_status:查询运行状态

传入 run_id 查询进度、失败信息、用量与费用,但不读取数据。异步任务可用 wait_seconds0-60)进行长轮询;建议一次等待 60 秒,不要无间隔高频请求。 常见状态为:QUEUEDRUNNINGSUCCEEDEDPARTIALLY_SUCCEEDEDFAILEDCANCELLED。失败时重点查看 error.codeerror.categoryerror.messageerror.retryable

get_run_result:读取结果

单次最多读取 50 条。可通过 offset 分页,通过 fields 指定逗号分隔的字段子集,例如 title,price,url,避免把不需要的大量字段带入对话。 当响应出现 handoff,表示结果较大或不适合继续在对话中翻页。此时应按 handoff 给出的 SDK / REST 命令导出文件,而不是让 Agent 反复搬运全部 JSON。

cancel_run:取消运行

传入 run_id 可取消排队或正在执行的任务。执行中的任务可能需要数秒协作停止;已成功产出的部分结果会保留,并可继续通过 get_run_result 读取。只按已产出的数据计费。

标准工作流

同步与异步 App

异步任务只得到 run_id 不等于采集成功。必须确认终态,再读取结果;同一目标不要因为等待而重复提交任务。

Data App 的使用原则

Data App 是 DataHub 中具体的数据能力。它们会随市场更新,因此不维护静态目录;使用前直接用 search_data_apps 搜索,再用 get_data_app_details 确认当前的输入、输出、价格和边界即可。

连接与使用建议

DataHub MCP 的通用服务以 https://mcp-v2.bazhuayu.com 为基础,支持 API Key 或 OAuth;连接配置和当前参数以 DataHub 开放平台生成的内容为准。它不同于顶栏“MCP 服务”中的八爪鱼采集器 MCP,二者不要混用地址、认证和工具名。