A side-by-side look at the DataSinking and Xero MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose DataSinking for finance & fintech work as a local process; choose Xero MCP Server for finance & fintech as a local process. You can also run both side by side in one mcpServers block.
DATASINK_API_KEY.list_exchanges, list_stocks, list_reports.XERO_CLIENT_ID, XERO_CLIENT_SECRET, XERO_SCOPES, XERO_CLIENT_BEARER_TOKEN.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Finance & Fintech | Finance & Fintech |
| Quality signal | 67/100 · Great | 57/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | OAuth 2.0 |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | DATASINK_API_KEY | XERO_CLIENT_IDXERO_CLIENT_SECRETXERO_SCOPESXERO_CLIENT_BEARER_TOKEN |
| Verified owner | Community listing | Community listing |
| GitHub stars | 21 | 383 |
| Directory activity | 1 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 6 | Not listed |
| Full listing | View DataSinking | View Xero MCP Server |
list_exchangesList the exchanges DataSinking covers. Returns exchange codes (nyse / nasdaq / cboe / sse / szse / bj / jpx / ksc / koe / knx / twse / tpex / lse) 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.list_stocksList the stocks on one exchange, including the report count per company.list_reportsList 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.get_reportFetch 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.list_sectionsList 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.get_sectionFetch 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.No tool names declared yet. Check the project README from the listing page.
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"datasinking": {
"command": "npx",
"args": [
"-y",
"datasinking-mcp"
],
"env": {
"DATASINK_API_KEY": "YOUR_DATASINK_API_KEY_HERE"
}
}
}
}
{
"mcpServers": {
"xeroapi-xero-mcp-server": {
"command": "npx",
"args": [
"-y",
"@xeroapi/xero-mcp-server@latest"
],
"env": {
"XERO_CLIENT_ID": "YOUR_XERO_CLIENT_ID_HERE",
"XERO_CLIENT_SECRET": "YOUR_XERO_CLIENT_SECRET_HERE",
"XERO_SCOPES": "YOUR_XERO_SCOPES_HERE",
"XERO_CLIENT_BEARER_TOKEN": "YOUR_XERO_CLIENT_BEARER_TOKEN_HERE"
}
}
}
}