Data App 的数量、名称、发布者、价格和输入输出会持续更新;MCP 协议工具则相对稳定。因此,本页重点说明工具契约和通用流程,不把某次市场目录当成长期清单。
两层能力
长期集成某个固定 App 时,优先记录它的
app_id;namespace/app_name 也可以引用 App,但发布者或应用改名后可能失效。
六个 MCP 工具
search_data_apps:搜索目录
用业务关键词发现 Data App。query 支持中英文关键词;留空可分页查看当前可见目录。还可用 type 过滤取数 / 查询类 data 或加工类 transform,用 scope 选择 all、public、private 或 shared。
结果卡片会给出
app_id、名称、简介、运行模式(sync / async)、输入输出提示、起始价格和可见范围。先搜索和比较,未确认前不要直接运行。
get_data_app_details:读取完整契约
在运行前调用。传入 app_id 或 <namespace>/<app_name> 后,可取得:
input_schema:本次运行必须满足的标准 JSON Schema。output_schema:可能返回的字段。knowledge:能力边界、预期延迟和注意事项。pricing:计费说明。examples:可作为起点的输入示例。
run_data_app:发起运行
传入 app、满足 input_schema 的 input,必要时设置 max_records 控制最大结果数。输入不符合契约时会立即返回 [invalid-input] 并指出字段问题。
常见返回包括 run_id、state、progress、usage、billing 和 next_step。首次尝试建议使用较小的 max_records,先确认数据、耗时与费用。
get_run_status:查询运行状态
传入 run_id 查询进度、失败信息、用量与费用,但不读取数据。异步任务可用 wait_seconds(0-60)进行长轮询;建议一次等待 60 秒,不要无间隔高频请求。
常见状态为:QUEUED、RUNNING、SUCCEEDED、PARTIALLY_SUCCEEDED、FAILED、CANCELLED。失败时重点查看 error.code、error.category、error.message 和 error.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 确认当前的输入、输出、价格和边界即可。
连接与使用建议
- 尚未确定 App:按通用连接:在 Agent 中选择 App先连接 DataHub MCP,再搜索、比较和确认。
- 长期固定使用某个 App:使用Codex:连接指定 App或WorkBuddy:连接指定 App,缩小工具范围。
- 涉及费用或大批量数据:先调用详情工具核对
pricing和examples,使用小数据量试跑;如需大量结果,优先处理handoff。
DataHub MCP 的通用服务以
https://mcp-v2.bazhuayu.com 为基础,支持 API Key 或 OAuth;连接配置和当前参数以 DataHub 开放平台生成的内容为准。它不同于顶栏“MCP 服务”中的八爪鱼采集器 MCP,二者不要混用地址、认证和工具名。