# 在 Dify 里用 okdata：MCP 服务或 Swagger API 工具

> 把 okdata 作为 MCP 服务或 Swagger API 工具加进 Dify，你的 Agent 和工作流就能读 10 个平台的热榜、内容和评论。

网页版：https://okdata.online/zh/integrations/dify/

配好之后，团队里的 Dify 应用就能拿到实时社媒数据。举个我们常用的：给内容组做一个“选题助手”。有人输入“B站和抖音今天什么在火？给咖啡品牌出三个短视频选题”，Agent 读两个平台的热榜，再看几条相关视频，最后给出选题和链接。Dify 有两种接法：MCP 服务更快，Agent 能用到全部接口；Swagger API 工具适合固定流程，只挑你需要的接口。

## 准备

- Dify 云版，或者足够新的自部署 Dify（1.9 及以上，MCP 服务才能加自定义请求头）。
- 一个 okdata 的 key，以 `okd_` 开头。新 key 自带 $0.10 额度。怎么拿 key 见[快速开始](/zh/docs/quickstart/)。

其他接入页都建议把 key 放在环境变量 `OKDATA_API_KEY` 里。在 Dify 里则是直接填进工具设置，跟着工作空间保存。工作空间里能运行这些应用的人，花的都是你的余额，所以最好给这个工作空间单独用一个 key。

## 方式一：添加 MCP 服务

1. 进入 **Integrations > Tools**，打开 **MCP** 标签页。
2. 添加一个 HTTP 方式的 MCP 服务：
   - **Server URL**：`https://api.okdata.online/mcp`
   - **Name** 填 `okdata`，**Server Identifier** 也可以填 `okdata`。应用是靠这个标识找到服务的，定下来就别再改。
3. 在高级选项里加一个自定义请求头：名称 `Authorization`，值 `Bearer okd_...`（换成完整的 key）。
4. 保存。Dify 会连上服务并导入四个工具：`find`、`describe`、`call`、`account`。

然后打开你的 Agent 应用（或工作流里的 Agent 节点），加上 `okdata` 的工具，在指令里写明预算，比如“每个问题最多发起三次收费调用”。

## 方式二：用 OpenAPI 文件建 Swagger API 工具

适合每次都调同一个接口的工作流，比如每天早上取一次热榜。

1. 进入 **Integrations > Tools**，打开 **Swagger API** 标签页，新建一个自定义工具。
2. 从网址 `https://okdata.online/openapi.json` 导入 schema，Dify 会把每个操作列成一个工具。
3. 鉴权方式选 **API Key**，位置选 **Header**，类型选 **Bearer**，键名填 `Authorization`，值填你的 key。选了 **Bearer** 之后 Dify 会自动加上 `Bearer ` 前缀，所以这里只粘贴 `okd_...`。
4. 保存后，只把需要的操作加进应用或工作流，比如 `bilibili_trends_list` 和 `douyin_trends_list`。

## 第一句可以这样说

```text
B站热门榜和抖音热搜现在都有什么？给一个咖啡品牌出三个短视频选题，
每个选题对应一个正在热的话题，附上链接。最后告诉我这次 okdata 调用花了多少。
```

## 花多少钱

用 `find`、`describe` 查接口和价格免费，`account` 也免费。上面这句话要读两个热榜：B站 $0.002，抖音 $0.002，合计 $0.004。如果 Agent 还去搜视频，[抖音视频搜索](/zh/apis/douyin/videos/search/)一页 $0.02，[小红书笔记搜索](/zh/apis/xiaohongshu/notes/search/)一页 $0.02。调用失败不扣费。

## 出问题时

- **401 `unauthorized`。** MCP 服务：请求头名称必须是 `Authorization`，值要以 `Bearer ` 开头。Swagger 工具：类型选了 **Bearer** 就只填 key，别再写 `Bearer`，不然会重复。
- **402 `insufficient_balance`。** 余额不够这次调用，没有扣费。充值后再运行，价格见[定价页](/zh/pricing/)。
- **429 `rate_limited`。** 短时间内调用太多，常见于工作流里的循环。返回里有 `retry_after_seconds`，等这么多秒再发下一次，不扣费。
- **加了 MCP 服务却没有工具。** 检查地址是不是以 `/mcp` 结尾，你的 Dify 能不能访问 `https://api.okdata.online`；防火墙很严的自部署环境可能访问不了。然后刷新一下服务的工具列表。
- **Swagger 导入失败。** 改成直接粘贴文件内容，看具体报错。还不行就用方式一。

## 接着看

- [MCP 服务说明](/zh/mcp/)：四个工具做什么，以及该怎么叮嘱 Agent。
- [抖音热搜榜](/zh/apis/douyin/trends/list/)：字段和价格。
