Connect MetricDuck to your AI agent
MetricDuck gives your agent first-source financial data — SEC financials, filings, earnings-call signals, and raw XBRL for 5,500+ US public companies — as callable MCP tools, every figure traceable to its source. It screens, compares, and reads filings mid-conversation in Claude, Cursor, ChatGPT, or any MCP client.
See example workflows ↗ · Building with API? Quickstart ->
Fastest: let Claude Code set it up
Paste this — it adds the server, walks you through the one-time sign-in and a fresh session to load it, then runs a real query once you're connected. No JSON, no API key.
Add the MetricDuck MCP server to my MCP client — a remote streamable-HTTP server at https://mcp.metricduck.com/mcp, no API key. A newly added server usually won't load in this running session and needs a one-time browser sign-in only I can complete. So after you add it, tell me to: (1) start a fresh session of this client so it loads the server, and (2) complete the one-time sign-in if prompted — then the tools appear. Don't call a tool in this session; it won't have them yet. Back in the new session, once it's connected, call its search_companies tool for "Apple" to confirm.
Free, no credit card — 500 tool calls/day, 5,500+ companies, 10+ years. One account — your website dashboard, your AI agents, and the API all share it.
Works with Claude · ChatGPT — an approved OpenAI Apps SDK listing.
Claude Code
Add the server with one command:
claude mcp add --transport http -s user metricduck https://mcp.metricduck.com/mcp-s user registers it for every project; use -s project for just the current repo.
Then sign in (one command, or skip it — auth also triggers on first tool use):
claude mcp login metricduckYour browser opens once for a quick Google/GitHub sign-in; after that it's automatic. On a remote or SSH session, add --no-browser to get a URL you can open anywhere and paste the redirect back.
Prefer a config file? Add this to .mcp.json:
{
"mcpServers": {
"metricduck": {
"type": "http",
"url": "https://mcp.metricduck.com/mcp"
}
}
}Claude Desktop
Same as claude.ai — add it in the app: Settings → Connectors, click Add custom connector, paste the URL, then finish the one-time browser sign-in. The tools appear in any chat. (Every plan, including Free.)
https://mcp.metricduck.com/mcpOn an older build, or prefer a config file? Bridge the remote server with mcp-remote in claude_desktop_config.json (Settings → Developer → Edit Config), then fully quit and relaunch:
{
"mcpServers": {
"metricduck": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.metricduck.com/mcp"]
}
}
}Claude.ai (web & mobile)
Works on every Claude plan — including Free (Free allows one custom connector, and MetricDuck is the one you want). Open Settings → Connectors, click Add custom connector, paste the URL below, then finish the one-time Google/GitHub sign-in. The tools appear in any chat afterward.
https://mcp.metricduck.com/mcpMenus move occasionally — see Anthropic's help center if a label has changed.
Cursor
Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project) — or use Settings → MCP → Add new server:
{
"mcpServers": {
"metricduck": {
"type": "http",
"url": "https://mcp.metricduck.com/mcp"
}
}
}ChatGPT (web & mobile)
MetricDuck is an approved ChatGPT app. Open it, press Connect, then Sign in with MetricDuck — no account needed, sign in with Google/GitHub or we create one automatically. Works on every ChatGPT plan, including Free.
Already in ChatGPT? Go to Apps → Search apps and search “MetricDuck.”
Can't find the app, or need the raw connector URL?
ChatGPT also connects to remote MCP servers as connectors. In Settings → Connectors, choose Add custom connector, paste the URL below, and complete the one-time Google/GitHub sign-in — the tools then show up in chat and the composer's connector menu.
https://mcp.metricduck.com/mcpThe exact steps and plan availability for custom connectors change often — see OpenAI's remote-MCP docs. Building on the API? The Responses API accepts the same URL as a remote MCP tool.
Any MCP client
Windsurf, VS Code, Zed, or your own agent — paste the URL into the client's MCP settings, or add the standard config. Transport is Streamable HTTP with automatic OAuth 2.1.
{
"mcpServers": {
"metricduck": {
"type": "http",
"url": "https://mcp.metricduck.com/mcp"
}
}
}Headless agents & CI
For automated pipelines with no browser, authenticate with an API key instead of OAuth:
{
"mcpServers": {
"metricduck": {
"type": "http",
"url": "https://mcp.metricduck.com/mcp",
"headers": {
"Authorization": "Bearer fda_your_api_key_here"
}
}
}
}Get your API key from the dashboard, then send it as Authorization: Bearer fda_… (no extra quotes or spaces).
Your first call
Once connected, paste this. It shows both halves of MetricDuck in one call — the numbers with their SEC receipts, and what management guided, attributed and anchored:
Pull NVDA's latest quarter from MetricDuck — revenue and margins from its SEC financial statements, with their filing receipts, and what management guided for next quarter, with who said it and the filing it's anchored to.Every figure links to the SEC filing it came from — open it and check the number against EDGAR yourself.
Using a CLI or IDE agent (Claude Code, Cursor, Codex, Windsurf)? One paste adds it, walks you through the one-time sign-in and a fresh session to load it, and runs it once connected:
If the MetricDuck MCP server isn't connected yet, add it — a remote streamable-HTTP server at https://mcp.metricduck.com/mcp, no API key. A newly added server usually won't load in this running session and needs a one-time browser sign-in only I can complete. So after you add it, tell me to start a fresh session of this client and complete the one-time sign-in if prompted — then the tools appear. Don't call a tool in this session; it won't have them yet. Back in the new session, once it's connected, pull NVDA's latest quarter from MetricDuck — revenue and margins from its SEC financial statements, with their filing receipts, and what management guided for next quarter, with who said it and the filing it's anchored to.Tools
22 MCP tools across signal triage, filing extraction, peer comparison, and full-text search. See the live tool reference for the current list and per-tool docs.
FAQ
What is MetricDuck?
SEC filing intelligence for AI agents. MetricDuck processes SEC filings (10-K, 10-Q, 8-K, DEF 14A proxy statements, and Foreign Private Issuer forms 20-F / 6-K / 40-F) into structured financial data, derived metrics, and LLM-generated filing analysis for 5,500+ US-listed companies.
How much does it cost?
Free tier: 500 tool calls/day, no credit card. Pro: $20/mo or $200/year for 50,000 tool calls/month. See pricing.
What AI clients work with MetricDuck?
Any MCP-compatible client: Claude Code, Claude Desktop, Claude.ai (custom connector), Cursor, ChatGPT (as a connector), Windsurf, VS Code, and custom agents. Streamable HTTP transport with automatic OAuth 2.1 (or an API key for headless use).
Where does the data come from?
Multiple sources: SEC filings (financial statements & XBRL, parsed directly from EDGAR), earnings-call transcripts and IR disclosures for qualitative signals, and a daily end-of-day market-data feed for prices. Full breakdown: Data sources & provenance.
Troubleshooting
Your client doesn't show MetricDuck tools
Fully quit and relaunch the client (don't just close the window). Validate your MCP config JSON — a missing comma or bracket silently disables the server. Then trigger sign-in: in Claude Code run claude mcp login metricduck (or /mcp → select metricduck → Authenticate).
Authentication errors (401 / "unauthorized")
OAuth: re-run the browser sign-in (tokens expire). API key: send it as Authorization: Bearer fda_… with no extra quotes or spaces; get or rotate keys in the dashboard. The free tier includes MCP access — no paid plan required.
Connection or timeout errors
Confirm you can reach metricduck.com in a browser; corporate VPNs and firewalls can block outbound MCP traffic. Break very large requests (many companies × many years) into smaller asks. Check metricduck.com/status for incidents.
Stale or unexpected data
Companies report on different schedules — a recent quarter may not be filed yet. Confirm the ticker (watch share classes like GOOGL vs GOOG) and whether you asked for quarterly vs annual. Genuinely wrong numbers? Email [email protected] with the ticker and date.
Still stuck? [email protected] — include your client and version, the exact error, and the steps you tried.