DataSinking
by heubme2020 · remote · local (npm, pypi) · no sign-in to list tools · v0.2.17 · published by GitHub user heubme2020
Full-text financial reports (US, China, Japan, Korea, Taiwan, UK) as clean Markdown for RAG agents.
6 tools: 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http datasinking https://api.datasink.ing/mcp --header 'Authorization: <your-authorization>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
6 tools
Only reads 6Claude Code: allow
get_reportFetch one report's full text (metadata + Markdown body).No findings
Why it is in this group
- The name "get_report" says "get": a word for reading.
Description, as the server wrote it Fetch one report's full text (metadata + Markdown body). The `source` field names the official disclosure platform; keep that attribution when you cite it. Expensive in tokens — prefer get_section when you only need one chapter. Content is annotated with block markers (`<!-- ds:block:N -->`) so you can cite a specific paragraph or table.
Annotations the server declares
- title: Get report
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_sectionFetch only one section of a report by keyword — much cheaper than get_report, best for RAG.No findings
Why it is in this group
- The name "get_section" says "get": a word for reading.
Description, as the server wrote it Fetch only one section of a report by keyword — much cheaper than get_report, best for RAG. Content is annotated with block markers (`<!-- ds:block:N -->`) so you can cite a specific paragraph or table.
Annotations the server declares
- title: Get section
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_exchangesList the exchanges DataSinking covers.No findings
Why it is in this group
- The name "list_exchanges" says "list": a word for reading.
Description, as the server wrote it List the exchanges DataSinking covers. Returns exchange codes (bj / br / by / jpx / koe / ksc / lk / lse / nasdaq / np / nyse / otc / pk / rs / sse / szse / tpex / twse) with the number of reports available per exchange. Call this first to discover coverage. Sources: US = SEC EDGAR, A-shares = cninfo.com.cn, Japan = EDINET, Korea = DART, Taiwan = MOPS, UK = FCA NSM, Nepal = NEPSE, Brazil = CVM, Belarus = ЕПФР, Sri Lanka = CSE, Pakistan = PSX, Serbia = SEC register.
Annotations the server declares
- title: List exchanges
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_reportsList a company's reports — metadata only (id, title, period), no body text.No findings
Why it is in this group
- The name "list_reports" says "list": a word for reading.
Description, as the server wrote it List a company's reports — metadata only (id, title, period), no body text. Each item carries a `source` field naming the official disclosure platform; keep that attribution when you cite it. Look up by `symbol` (FMP-style, e.g. AAPL / 600519.SS / NABIL.NP) or by `exchange` + `stock_code` (from list_stocks) for markets whose codes aren't ticker-shaped (e.g. Brazil CNPJ, Sri Lanka 'AAA.N0000').
Annotations the server declares
- title: List reports
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_sectionsList every section of a report with its size, before you decide what to pull.No findings
Why it is in this group
- The name "list_sections" says "list": a word for reading.
Description, as the server wrote it List every section of a report with its size, before you decide what to pull. Returns `sections` (titles, in order) plus `section_details` — same order, one entry per section with `title`, `has_tables`, `chars` and `estimated_tokens`. Use `estimated_tokens` to avoid pulling a chapter that would blow your context, and `has_tables` to know whether the chapter needs special handling (tables are the part RAG pipelines usually get wrong). Then call get_section with a heading keyword — the headings are in the report's own language.
Annotations the server declares
- title: List sections
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_stocksList the stocks on one exchange, including the report count per company.No findings
Why it is in this group
- The name "list_stocks" says "list": a word for reading.
Description, as the server wrote it List the stocks on one exchange, including the report count per company.
Annotations the server declares
- title: List stocks
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.2.17. Values in angle brackets are yours to fill in.
claude mcp add --transport http datasinking https://api.datasink.ing/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__datasinking__list_exchanges",
"mcp__datasinking__list_stocks",
"mcp__datasinking__list_reports",
"mcp__datasinking__get_report",
"mcp__datasinking__list_sections",
"mcp__datasinking__get_section"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as datasinking. Review it before you use it.
