接入 AI Agent(MCP)

DataSinking 是一个 MCP server。把你的 Agent 指向它,就能用大白话检索并阅读来自美国、中国、欧洲、日本、韩国和台湾的财报全文——不用写代码,8 个工具。先 免费领一个 key。本页属于 API 参考的一部分。

选择你的客户端

客户端配置文件托管 URL 是否可用
Claude Code~/.claude.json · .mcp.json可以
Claude DesktopConnectors UI · claude_desktop_config.json可以
Cursor.cursor/mcp.json可以
OpenAI Codex CLI~/.codex/config.toml可以
WorkBuddy / CodeBuddy~/.workbuddy/mcp.json · ~/.codebuddy/.mcp.json仅 CodeBuddy
Doubao Workin-app connectors, no file可以
Devin Desktop%AppData%\devin\mcp_config.json可以
DeepSeek Harness (dsh)~/.dsh/profiles/<name>/cordis.patch.yml可以
Gemini CLI~/.gemini/settings.json可以
OpenCode~/.config/opencode/opencode.json可以
Qoder~/.qoder/settings.json (CLI) · Settings → MCP (IDE)可以
Reasonixreasonix.toml · .mcp.json可以
Mobile (Kelivo / Joey / Systemprompt)应用内,无配置文件可以
其它客户端command + args + env通常可以

端点

一个 URL,什么都不用装。鉴权用 bearer 请求头;对于无法自定义请求头的客户端,可以在 URL 里带上 ?apikey=。

https://api.datasink.ing/mcp

Authorization: Bearer YOUR_KEY      # or: https://api.datasink.ing/mcp?apikey=YOUR_KEY

Claude Code

.mcp.json · ~/.claude.json

一条命令——提示时填入 key,然后确认已经连上:

claude mcp add --transport http datasinking https://api.datasink.ing/mcp \
  --header "Authorization: Bearer YOUR_KEY"

claude mcp list        # → datasinking: ✔ Connected

加上 --scope user 可以让它在所有项目里都能用, 而不只是当前这一个。Claude Code 会自己对 server 做健康检查,所以 claude mcp get datasinking 能明确告诉你 连接为什么失败。

完整配置指南 →

Claude Desktop

claude_desktop_config.json

Settings → Connectors → Add → Add custom connector,然后粘贴 把 key 已经拼进去的 URL:

https://api.datasink.ing/mcp?apikey=YOUR_KEY

key 必须放在 URL 里。裸 URL 会让连接器去尝试 OAuth,而本服务没有 OAuth —— 你会看到 “Couldn't register with …'s sign-in service.”。然后重启应用; 连接器只在启动时加载。

完整配置指南 →

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "datasinking": {
      "url": "https://api.datasink.ing/mcp",
      "headers": { "Authorization": "Bearer ${env:DATASINK_API_KEY}" }
    }
  }
}

Cursor 内插的是 ${env:NAME} —— 不像 Claude Code 那样用 ${NAME}。改完要重启 Cursor;连接错误会显示在 Output → MCP Logs 下面。

完整配置指南 →

OpenAI Codex CLI

~/.codex/config.toml

一条命令,它会替你写好配置:

codex mcp add datasinking --url https://api.datasink.ing/mcp \
  --bearer-token-env-var DATASINK_API_KEY

codex mcp list        # → datasinking

启动前先把这个环境变量设好 —— Codex 存的是变量的名字,而不是 key 本身。

完整配置指南 →

WorkBuddy / CodeBuddy(腾讯)

~/.workbuddy/mcp.json · ~/.codebuddy/.mcp.json

这是两个不同的产品,配置文件也是两份 —— 这也是配置“不生效”最常见的原因:

// WorkBuddy (desktop app) — ~/.workbuddy/mcp.json
{
  "mcpServers": {
    "datasinking": {
      "command": "npx",
      "args": ["-y", "datasinking-mcp"],
      "env": { "DATASINK_API_KEY": "YOUR_KEY" }
    }
  }
}

WorkBuddy 官方文档里的配置只支持 stdio; type: "http" 这种写法在 CodeBuddy Code 上可用,后者的配置放在 ~/.codebuddy/.mcp.json。改完任何一份都要重启应用。

完整配置指南 →

Doubao Work (ByteDance)

no file — configured in the app

字节跳动对标 WorkBuddy 的产品。这个是 纯 UI 配置 —— 没有可编辑的配置文件,所以它不符合上面几行的模式:

技能 · 连接器 · 伙伴 → 新建 → 新建自定义连接器

  • 传输类型:HTTP(也提供 STDIO,如果你想跑本地 server)
  • URL:https://api.datasink.ing/mcp
  • 自定义 Headers:Authorization = Bearer YOUR_KEY

保存后确认开关已打开。两点需要注意:自定义 MCP 连接器 只在桌面客户端加载 —— 浏览器和移动端会忽略;另外豆包可以直接用 header 认证,所以这里不需要 ?apikey= 那个回退写法。

完整配置指南 →

Devin Desktop

%AppData%\devin\mcp_config.json

它以前叫 Windsurf。用 Cascade → MCP → Open MCP config file 打开正确的文件:

{
  "mcpServers": {
    "datasinking": {
      "serverUrl": "https://api.datasink.ing/mcp",
      "headers": { "Authorization": "Bearer ${env:DATASINK_API_KEY}" }
    }
  }
}

远程 server 的字段是 serverUrl,不是 url —— 它是这里唯一一个字段不一样的客户端。 Windows 上的文件是 %AppData%\devin\mcp_config.json;macOS 和 Linux 上则是 ~/.config/devin/mcp_config.json。

完整配置指南 →

DeepSeek Harness (dsh)

~/.dsh/profiles/<name>/cordis.patch.yml

dsh 没有 MCP 配置文件 —— 它的 server 是插件。先把它装进某个 profile:

dsh plugin --profile web add @deepseek-ai/dsh-mcp-client

然后把这一行加进该 profile 的 patch layer:

- insert:
    - id: mcp-datasinking
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: datasinking
        transport: streamable-http
        url: https://api.datasink.ing/mcp
        headers:
          Authorization: !!js '`Bearer ${process.env.DATASINK_API_KEY}`'
        failOnStartupError: true

请保留 failOnStartupError: true。默认值是 false,它会连到空处、而且不报任何错。工具会以 mcp__datasinking__<tool> 的形式出现。

完整配置指南 →

Gemini CLI

~/.gemini/settings.json

一条命令,或者直接改配置:

gemini mcp add --transport http datasinking https://api.datasink.ing/mcp \
  --header "Authorization: Bearer YOUR_KEY"

gemini mcp list        # → datasinking

配置文件里的字段是 httpUrl,不是 url —— url 指的是 SSE:

{
  "mcpServers": {
    "datasinking": {
      "httpUrl": "https://api.datasink.ing/mcp",
      "headers": { "Authorization": "Bearer ${DATASINK_API_KEY}" }
    }
  }
}

消费版 Gemini(gemini.google.com → 已连接的应用)只支持 OAuth,所以那边要用 ?apikey= 把 key 拼进 URL,或者直接用 CLI。

完整配置指南 →

OpenCode

~/.config/opencode/opencode.json

OpenCode 会合并 ~/.config/opencode/opencode.json 和项目里的 opencode.json。它的 MCP 键是 mcp —— 不是 mcpServers:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "datasinking": {
      "type": "remote",
      "url": "https://api.datasink.ing/mcp",
      "oauth": false,
      "headers": { "Authorization": "Bearer {env:DATASINK_API_KEY}" }
    }
  }
}

两个设置起关键作用。 "oauth": false 让 OpenCode 不把我们的 401 当成 OAuth 挑战 —— 不写它会报「授权失败」而不是「缺 key」。另外内插语法是 {env:NAME},而 Claude Code 和 Cursor 用的是 ${NAME}。

完整配置指南 →

Qoder

~/.qoder/settings.json (CLI) · Settings → MCP (IDE)

Qoder CLI 和 Qoder IDE 读的是 不同的 配置。CLI 要加进 ~/.qoder/settings.json 的 mcpServers:

{
  "mcpServers": {
    "datasinking": {
      "type": "http",
      "url": "https://api.datasink.ing/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}

stdio 是默认的 type,所以 URL 不带 "http" 会报启动错误。工具会以 mcp__datasinking__<tool> 形式出现。在 IDE 里,要打开 Settings(Ctrl Shift ,)→ MCP → My Servers → + Add 单独配 —— IDE 不读 CLI 的文件。

完整配置指南 →

Reasonix

reasonix.toml · .mcp.json

Reasonix 读官方 MCP Registry,所以有一行命令。或者用 [[plugins]] 在 ./reasonix.toml(或全局 ~/.reasonix/config.toml)里自己声明:

reasonix mcp install io.github.heubme2020/datasinking

# or, by hand:
[[plugins]]
name    = "datasinking"
type    = "http"
url     = "https://api.datasink.ing/mcp"
headers = { Authorization = "Bearer ${DATASINK_API_KEY}" }

type 默认是 stdio,所以 "http" 这一行是必须的。冷启动的 server 在后台连接 —— 工具还没出现就先重试,别反复检查配置。工具以 mcp__datasinking__<tool> 形式出现。

完整配置指南 →

Mobile (Kelivo / Joey / Systemprompt)

应用内,无配置文件

任何支持 streamable HTTP 的移动 App 都能用——无需安装、无配置文件。在 App 里添加服务器(设置 → MCP → 添加):

URL:           https://api.datasink.ing/mcp
Authorization: Bearer YOUR_KEY

# 如果 App 不能设置请求头,就把 key 放进 URL:
#   https://api.datasink.ing/mcp?apikey=YOUR_KEY

已知可用的 App:Kelivo(kelivo.psycheas.top)、Joey MCP Client(Android)、Systemprompt(Android/iOS)。桌面客户端用的也是同一个端点,六个工具和 ?apikey= 兜底行为完全一致。

完整配置指南 →

其它 MCP 客户端

command + args + env

本地方式、stdio,需要 Node 18+ 或 Python 3.8+:

{
  "mcpServers": {
    "datasinking": {
      "command": "npx",
      "args": ["-y", "datasinking-mcp"],
      "env": { "DATASINK_API_KEY": "YOUR_KEY" }
    }
  }
}

# Python instead of Node:
#   "command": "uvx", "args": ["--from", "datasinking[mcp]", "datasinking-mcp"]

完整配置指南 →

Agent 能用什么

8 个工具。它们与 REST 端点一一对应,所以 API 参考 里的任何内容,都能靠一句话问出来。

list_exchanges覆盖了哪些市场,各有多少数据
list_stocks某个交易所的上市公司
list_reports某家公司的公告 —— 仅元数据
get_report单份公告,全文
list_sections一份公告的章节标题及其大小
get_section只取单个章节 —— 省 token,最适合 RAG

可以先问一句 “DataSinking 覆盖哪些交易所?” 试试 —— Agent 能调用 list_exchanges 就说明整条链路都是通的。 然后再试试 “丰田最新的年报里怎么讲风险?”

连不上时

几乎所有失败都出在这三种情况上:

{"detail":"Missing API key"}什么都没发出去 —— 环境变量在客户端启动前没有设置。
{"detail":"无效的 API key"}这个 key 不认识 —— 检查一下是不是多了个空格,或者漏了 Bearer 。
no tools重启客户端 —— 所有客户端都只在启动时读一次 MCP 配置。

想分清“是我的客户端配错了”还是“我的 key 不对”,可以完全绕开客户端直接测:

curl -s -X POST https://api.datasink.ing/mcp \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

各客户端的专项排查 —— 包括每个客户端实际打印出来的报错 —— 都在上面链接的指南里,位于 docs/mcp/。

保留来源署名

每个响应都带一个 source 字段,标明这份财报来自哪个官方 披露平台 —— SEC EDGAR(美国)、cninfo.com.cn(中国)、filings.xbrl.org(欧洲)、EDINET(日本)、DART(韩国)、MOPS (台湾)。MCP 工具的说明里已经要求模型引用时保留它。你转发这些内容时,也请不要把它去掉。