
MetricDuck — Financial Analysis
Connects Claude to SEC filing data for 5,000+ public companies through 21 tools accessible via streamable HTTP. You get financials, company screening, and peer comparisons without parsing EDGAR yourself. Setup takes under a minute: drop the URL into your MCP config, authenticate with Google or GitHub, and start querying. Free tier gives you 500 credits daily, no card required. Useful when you need structured financial data in your agent workflows, whether you're building investment research tools, running comparative analysis, or just want to ask Claude about a company's balance sheet without leaving your editor.
- tools
- 23
- transport
- HTTP
- last updated
- Oct 20, 2026
Install
From registry metadata$ npx add-mcp https://mcp.metricduck.com/mcp --name financial-analysisRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http financial-analysis https://mcp.metricduck.com/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 23 toolsVerified live against the running server on Nov 6, 2026.
browse_companyUse this when the user asks what MetricDuck has on a company or wants to start researching one: "what filings do you have for X?", "what's notable about X?", "where do I start on X?". One call returns the company's identity (ticker, name, CIK), its filings with extracted text...2 params
Use this when the user asks what MetricDuck has on a company or wants to start researching one: "what filings do you have for X?", "what's notable about X?", "where do I start on X?". One call returns the company's identity (ticker, name, CIK), its filings with extracted text...
include_delistedbooleanquery*stringsearch_companiesUse this when you have a company name or an ambiguous ticker and need the exact ticker (or CIK) before calling other tools. Fuzzy name/ticker match: handles partial names ("micro" -> MSFT), typos, and ticker variations. Returns ticker, full name, CIK, SIC, filer type (domestic...2 params
Use this when you have a company name or an ambiguous ticker and need the exact ticker (or CIK) before calling other tools. Fuzzy name/ticker match: handles partial names ("micro" -> MSFT), typos, and ticker variations. Returns ticker, full name, CIK, SIC, filer type (domestic...
limitintegerquery*stringget_company_overviewUse this when the user asks for a quick read on one company now: the latest price, valuation, margins, cash flow, balance sheet and segment mix in one call; get_financials gives the multi-period statements, and get_metric_history one metric over time. Includes: current price,...2 params
Use this when the user asks for a quick read on one company now: the latest price, valuation, margins, cash flow, balance sheet and segment mix in one call; get_financials gives the multi-period statements, and get_metric_history one metric over time. Includes: current price,...
depthstringsnapshot · core · fulldefault: coreticker*stringget_stock_priceUse this when the user asks for a share price on a date or a return between two dates: daily end-of-day close, adj_close and volume for US-listed stocks, from a market-data feed, not SEC filings; get_company_overview shows only the latest price; get_metric_history has period-e...4 params
Use this when the user asks for a share price on a date or a return between two dates: daily end-of-day close, adj_close and volume for US-listed stocks, from a market-data feed, not SEC filings; get_company_overview shows only the latest price; get_metric_history has period-e...
end_datestringlimitintegerstart_datestringticker*stringget_financialsUse this when the user asks for a company's income statement, balance sheet or cash flow over several quarters or years: all three statements in one call, up to 10 years, each period cited to its filing; get_metric_history follows one metric, and get_company_overview is the la...5 params
Use this when the user asks for a company's income statement, balance sheet or cash flow over several quarters or years: all three statements in one call, up to 10 years, each period cited to its filing; get_metric_history follows one metric, and get_company_overview is the la...
periodstringquarterly · annualdefault: quarterlystatementsarrayticker*stringvantage_datestringyearsintegercompare_companiesUse this when the user asks how a company compares with its peers or named rivals: a side-by-side table of ~70 metrics (latest TTM, FY or Q), its rank on ROIC, operating margin and revenue growth, and whether it leads or trails on them; screen_companies finds companies by crit...5 params
Use this when the user asks how a company compares with its peers or named rivals: a side-by-side table of ~70 metrics (latest TTM, FY or Q), its rank on ROIC, operating margin and revenue growth, and whether it leads or trails on them; screen_companies finds companies by crit...
custom_peersstringmetricsstringpeer_modestringsector · tagsdefault: sectorperiod_typestringTTM · FY · Qdefault: TTMticker*stringscreen_companiesScreen US companies by financial metrics. Find stocks matching quantitative criteria. Metric IDs, period types (incl. growth: period_type="ttm.yoy") and sector codes are listed on the `filters` / `sectors` parameters. LATEST-snapshot values; full history via get_metric_history...6 params
Screen US companies by financial metrics. Find stocks matching quantitative criteria. Metric IDs, period types (incl. growth: period_type="ttm.yoy") and sector codes are listed on the `filters` / `sectors` parameters. LATEST-snapshot values; full history via get_metric_history...
excluded_tagsarrayfilters*arraylimitintegerrequired_tagsarraysectorsarraysort_bystringlist_filingsUse this when the user asks which filings a company has made — its 10-K annual reports, 10-Q quarterly reports, 8-K current reports (earnings releases, events, call transcripts), proxy statements (DEF 14A), or 20-F / 40-F / 6-K for foreign issuers — or needs one specific past...9 params
Use this when the user asks which filings a company has made — its 10-K annual reports, 10-Q quarterly reports, 8-K current reports (earnings releases, events, call transcripts), proxy statements (DEF 14A), or 20-F / 40-F / 6-K for foreign issuers — or needs one specific past...
cikstringfiscal_periodstringQ1 · Q2 · Q3 · Q4 · FYfiscal_yearintegerform_subtypestring8-K-earnings · 8-K-event · 8-K-transcript · 8-K-otherform_typestring10-K · 10-Q · 8-K · DEF 14A · 20-F · 40-Finclude_delistedbooleantickerstringvantage_datestringyearsintegerget_filing_sectionUse this when the user asks what a 10-K, 10-Q or 8-K says — risk factors, MD&A, the business description, an earnings release and its guidance / outlook, an 8-K event, a proxy (DEF 14A) — and for earnings call transcript Q&A or prepared remarks, where MetricDuck has the transc...17 params
Use this when the user asks what a 10-K, 10-Q or 8-K says — risk factors, MD&A, the business description, an earnings release and its guidance / outlook, an 8-K event, a proxy (DEF 14A) — and for earnings call transcript Q&A or prepared remarks, where MetricDuck has the transc...
accession_numberstringchar_offsetintegercikstringcompanion_accessionsarrayfiscal_periodstringQ1 · Q2 · Q3 · Q4 · FYfiscal_yearintegerform_typestring10-K · 10-Q · 8-K · DEF 14A · 20-F · 40-Finclude_companionsbooleaninclude_delistedbooleanmax_charsintegermax_chunksintegeroffsetintegerpreview_charsintegerquerystringsection_idstringtickerstringvantage_datestringget_xbrl_factsUse this when the user asks for a number the standard statements don't break out — revenue by segment, geography, product or customer, customer concentration, an industry metric (medical cost ratio, reserve replacement ratio) — or a figure exactly as filed in a 10-K / 10-Q. Se...8 params
Use this when the user asks for a number the standard statements don't break out — revenue by segment, geography, product or customer, customer concentration, an industry metric (medical cost ratio, reserve replacement ratio) — or a figure exactly as filed in a 10-K / 10-Q. Se...
accession_numberstringfiscal_periodstringQ1 · Q2 · Q3 · Q4 · FYfiscal_yearintegerform_typestring10-K · 10-Q · 20-F · 40-F · 6-Kdefault: 10-Klimitintegerperiod_historybooleansearch*stringticker*stringget_filing_indexUse this when the user asks what matters in a company's latest 10-K or 10-Q — red flags, accounting quality, debt and liquidity stress, top risks, management tone and guidance, segments and customer concentration. Returns the facts MetricDuck extracted from that filing, each w...3 params
Use this when the user asks what matters in a company's latest 10-K or 10-Q — red flags, accounting quality, debt and liquidity stress, top risks, management tone and guidance, segments and customer concentration. Returns the facts MetricDuck extracted from that filing, each w...
lensstringearnings_quality · debt_stress · risk_trajectory · competitive_position · management_outlookticker*stringvantage_datestringscreen_filing_signalsUse this when the user asks which companies show a red flag or event across filings, earnings releases or earnings calls — "which companies lowered guidance?", "who has covenant risk or debt coming due?", "which tech companies sound cautious?", "who announced M&A or a partners...10 params
Use this when the user asks which companies show a red flag or event across filings, earnings releases or earnings calls — "which companies lowered guidance?", "who has covenant risk or debt coming due?", "which tech companies sound cautious?", "who announced M&A or a partners...
agreement_type_filterstringpartnership_strategic · partnership_supply · partnership_jv · partnership_amendment · warrant_issuance · m_and_a_announcementlimitintegermatch_modestringall · anydefault: allorder_bystringrecency · market_capdefault: recencyrecency_daysintegersectorsarraysignals*arraysince_datestringtickerstringuntil_datestringsearch_sec_filingsSearch the full text of SEC filings since 2001 to find companies related to any concept — a product, technology, regulation, event, or company. Returns filing-level results with aggregated statistics (company count, form type breakdown, industry distribution). For 10-K/10-Q fi...9 params
Search the full text of SEC filings since 2001 to find companies related to any concept — a product, technology, regulation, event, or company. Returns filing-level results with aggregated statistics (company count, form type breakdown, industry distribution). For 10-K/10-Q fi...
companystringdate_fromstringdate_tostringform_typestringlimitintegerquerystringrank_bystringdate · relevancedefault: datesectionsbooleanticker_lookupstringget_earningsUse this when the user asks what a company just reported in its earnings release: the 8-K's headline income statement (revenue, operating income, net income, diluted EPS) and as-released cash flow (OCF, capex, FCF, with growth), typically weeks before the 10-Q/10-K that get_fi...3 params
Use this when the user asks what a company just reported in its earnings release: the 8-K's headline income statement (revenue, operating income, net income, diluted EPS) and as-released cash flow (OCF, capex, FCF, with growth), typically weeks before the 10-Q/10-K that get_fi...
quartersintegerticker*stringvantage_datestringget_guidance_vs_actualDid management deliver what they guided? Joins forward guidance from earnings-call transcripts to reported actuals from 10-K/10-Q + 8-K earnings for the same ticker + fiscal period. Returns both sides verbatim with quotes and locators. Use Cases: - "Did NVDA deliver on Q2 FY20...2 params
Did management deliver what they guided? Joins forward guidance from earnings-call transcripts to reported actuals from 10-K/10-Q + 8-K earnings for the same ticker + fiscal period. Returns both sides verbatim with quotes and locators. Use Cases: - "Did NVDA deliver on Q2 FY20...
fiscal_periodstringticker*stringcompare_earnings_callsHow has management's posture shifted across recent earnings calls? Cross-quarter trajectory view of transcript signals for a single ticker. This is MetricDuck's EARNINGS-CALL TRANSCRIPT tool (agents also look for this as get_earnings_call_transcript / get_earnings_transcript /...4 params
How has management's posture shifted across recent earnings calls? Cross-quarter trajectory view of transcript signals for a single ticker. This is MetricDuck's EARNINGS-CALL TRANSCRIPT tool (agents also look for this as get_earnings_call_transcript / get_earnings_transcript /...
dimensionsarrayn_quartersintegerticker*stringvantage_datestringget_metric_historyUse this when the user asks for one metric in a given period or over time (gross margin, ROE, P/E and 250+ more): its Q, FY or TTM series; get_financials returns whole statements, and compare_companies sets a company beside its peers. Returns newest-first rows labeled with the...5 params
Use this when the user asks for one metric in a given period or over time (gross margin, ROE, P/E and 250+ more): its Q, FY or TTM series; get_financials returns whole statements, and compare_companies sets a company beside its peers. Returns newest-first rows labeled with the...
metric_id*stringperiod_typestringQ · FY · TTMdefault: Qticker*stringvantage_datestringwindowintegerget_metric_lineageThe DERIVATION of one COMPUTED metric — its human formula + immediate inputs (each value + source), one level at a time. The audit / verify affordance for derived figures (margins, ratios, ROIC, FCF, adj-EBITDA): call it ONLY when the query asks **how a metric is computed**, *...6 params
The DERIVATION of one COMPUTED metric — its human formula + immediate inputs (each value + source), one level at a time. The audit / verify affordance for derived figures (margins, ratios, ROIC, FCF, adj-EBITDA): call it ONLY when the query asks **how a metric is computed**, *...
fiscal_periodstringQ1 · Q2 · Q3 · Q4 · FYfiscal_yearintegermetric*stringperiod_typestringQ · FY · TTMdefault: Qsegmentstringticker*stringget_ir_documentsRetrieve IR earnings-PRESENTATION-DECK text — forward guidance, operational KPIs, and segment outlook that are ONLY in the company's investor-relations slide deck and NOT in the SEC 8-K/10-Q release text or XBRL. Reach for this when get_metric_history / get_xbrl_facts have no...6 params
Retrieve IR earnings-PRESENTATION-DECK text — forward guidance, operational KPIs, and segment outlook that are ONLY in the company's investor-relations slide deck and NOT in the SEC 8-K/10-Q release text or XBRL. Reach for this when get_metric_history / get_xbrl_facts have no...
cikstringfiscal_periodstringfiscal_yearintegermodestringfull · listquerystringtickerstringget_company_eventsRetrieve a company's IR event CALENDAR — UPCOMING and PAST investor-relations events (earnings calls, annual/shareholder meetings, broker conferences, investor days) with the materials attached to each (deck, webcast, press release, transcript). Reach for this for calendar que...1 params
Retrieve a company's IR event CALENDAR — UPCOMING and PAST investor-relations events (earnings calls, annual/shareholder meetings, broker conferences, investor days) with the materials attached to each (deck, webcast, press release, transcript). Reach for this for calendar que...
ticker*stringget_earnings_reportsPer-fiscal-period earnings DOCUMENT INDEX — one row per quarter/year gathering the documents for that reporting period: the 8-K press release, the earnings-call transcript (with prepared-remarks / Q&A deep-links), the 10-Q/10-K, the IR presentation deck(s), and the webcast eve...2 params
Per-fiscal-period earnings DOCUMENT INDEX — one row per quarter/year gathering the documents for that reporting period: the 8-K press release, the earnings-call transcript (with prepared-remarks / Q&A deep-links), the 10-Q/10-K, the IR presentation deck(s), and the webcast eve...
limitintegerticker*stringlist_recent_filingsUse this when the user asks what SEC filings came out recently — "any new 10-Ks, 10-Qs or 8-Ks this week?", "which of my portfolio companies filed since Monday?", "who reported earnings today?" — across all companies or a list of tickers, in one call. Also the building block f...6 params
Use this when the user asks what SEC filings came out recently — "any new 10-Ks, 10-Qs or 8-Ks this week?", "which of my portfolio companies filed since Monday?", "who reported earnings today?" — across all companies or a list of tickers, in one call. Also the building block f...
form_subtypesarrayform_typesarraylimitintegersincestringtickerstringtickersarraysend_feedbackCall ONLY when the user asks to send feedback to MetricDuck. Pass the user's words in message; set source=user when the user wrote it, model when you summarised it. Sends the text to the MetricDuck team.3 params
Call ONLY when the user asks to send feedback to MetricDuck. Pass the user's words in message; set source=user when the user wrote it, model when you summarised it. Sends the text to the MetricDuck team.
category*stringmissing_data · wrong_value · missing_capability · othermessage*stringsource*stringuser · modelSponsors
Details
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026