AI 에이전트 연결 (MCP)

DataSinking은 MCP 서버입니다. 에이전트가 이 서버를 바라보게 하면 미국, 중국, 유럽, 일본, 한국, 대만의 공시 전문을 자연어로 검색하고 읽을 수 있습니다 — 코드 없이, 6개 도구로. 먼저 키를 발급받으세요 — 무료 키 받기. 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.jsonCodeBuddy만
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)앱 내, 설정 파일 없음가능
Any other clientcommand + args + env보통 가능

엔드포인트

URL 하나면 끝이고 설치할 것도 없습니다. 인증은 bearer 헤더로 하며, 헤더를 설정할 수 없는 클라이언트에는 ?apikey=를 URL에 붙입니다.

https://api.datasink.ing/mcp

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

Claude Code

.mcp.json · ~/.claude.json

명령 하나면 됩니다 — 안내가 나오면 키를 입력하고, 연결되었는지 확인하세요:

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가 서버 상태를 직접 점검하므로, claude mcp get datasinking으로 연결이 실패한 이유를 정확히 알 수 있습니다.

전체 설정 가이드 →

Claude Desktop

claude_desktop_config.json

Settings → Connectors → Add → Add custom connector에서 키가 이미 들어간 URL을 붙여 넣으세요:

https://api.datasink.ing/mcp?apikey=YOUR_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는 키 자체가 아니라 변수의 이름을 저장합니다.

전체 설정 가이드 →

WorkBuddy / CodeBuddy (Tencent)

~/.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는 설정을 ~/.codebuddy/.mcp.json에 보관합니다. 어느 쪽이든 편집 후 앱을 다시 시작하세요.

전체 설정 가이드 →

Doubao Work (ByteDance)

no file — configured in the app

WorkBuddy에 대응하는 ByteDance의 제품입니다. 이 제품은 전부 UI에서 설정합니다 — 편집할 설정 파일이 없어서, 위 표의 행들과 같은 패턴을 따르지 않습니다:

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

  • Transport: HTTP (로컬 서버를 실행하고 싶다면 STDIO도 제공됩니다)
  • URL: https://api.datasink.ing/mcp
  • 自定义 Headers: Authorization = Bearer YOUR_KEY

저장하고 토글이 켜져 있는지 확인하세요. 두 가지는 알아 두면 좋습니다. 사용자 정의 MCP 커넥터는 데스크톱 클라이언트에서만 로드되며 — 브라우저와 모바일 빌드에서는 무시됩니다 — Doubao는 헤더를 그대로 받으므로 여기서는 ?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}" }
    }
  }
}

원격 서버를 가리키는 필드는 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 설정 파일이 없습니다 — 서버가 곧 플러그인입니다. 먼저 프로필에 설치하세요:

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

그런 다음 해당 프로필의 패치 레이어에 이 행을 추가하세요:

- 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 챌린지로 오인하는 것을 막습니다 —— 빼면 "키 누락"이 아니라 "인증 오류"가 납니다. 보간 문법은 {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" 줄이 필수입니다. 콜드 스타트 서버는 백그라운드에서 연결합니다 —— 도구가 아직 안 보이면 재시도하고 설정을 반복 확인하지 마세요. 도구는 mcp__datasinking__<tool> 로 나타납니다.

전체 설정 가이드 →

Mobile (Kelivo / Joey / Systemprompt)

앱 내, 설정 파일 없음

streamable HTTP를 지원하는 모든 모바일 앱에서 동작합니다——설치 불필요, 설정 파일 없음. 앱에서 서버를 추가하세요 (설정 → MCP → 추가):

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

# 앱이 헤더를 설정할 수 없으면 key를 URL에 넣습니다:
#   https://api.datasink.ing/mcp?apikey=YOUR_KEY

동작 확인된 앱: Kelivo (kelivo.psycheas.top), Joey MCP Client (Android), Systemprompt (Android/iOS). 데스크톱과 같은 엔드포인트라 6개 도구와 ?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"]

전체 설정 가이드 →

에이전트가 사용할 수 있는 것

6개 도구. 각 도구는 REST 엔드포인트와 1:1로 대응하므로, API 레퍼런스 에 있는 것은 무엇이든 질문으로 쓸 수 있습니다.

list_exchanges어떤 시장을 지원하는지, 그리고 규모는 얼마나 되는지
list_stocks한 거래소의 종목
list_reports한 종목의 공시 — 메타데이터만
get_report공시 하나, 전체 텍스트
list_sections공시의 장 제목 목록과 분량
get_section한 장만 — 토큰 효율적, RAG에 가장 적합

첫 테스트로 “DataSinking은 어떤 거래소를 지원하나요?”를 물어보세요 — 에이전트가 list_exchanges를 호출하면 전체 연결이 동작한다는 증거입니다. 그다음에는 “도요타 최신 연간 보고서는 리스크에 대해 뭐라고 하나요?”를 시도해 보세요.

연결되지 않을 때

거의 모든 연결 실패는 다음 세 가지 중 하나입니다:

{"detail":"Missing API key"}아무것도 전송되지 않았습니다 — 클라이언트를 실행하기 전에 환경 변수가 설정되지 않았습니다.
{"detail":"无效的 API key"}키가 인식되지 않았습니다 — 공백이 섞였는지, Bearer 가 빠지지 않았는지 확인하세요.
no tools클라이언트를 다시 시작하세요 — 클라이언트는 모두 실행 시점에 MCP 설정을 읽습니다.

“내 클라이언트 설정이 잘못됐다”와 “내 키가 틀렸다”를 구분하려면 클라이언트를 아예 건너뛰고 직접 확인하세요:

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 도구 설명에는 인용할 때 이 필드를 유지하라고 모델에 지시하고 있습니다. 재배포할 때도 이 필드를 제거하지 마세요.