Fundamental Data Tools

FinanceDataAPI exposes seven fundamental-data MCP tools on top of the symbol, signal, and backtest tools. Four are free and sourced from SEC EDGAR; three read cached Financial Modeling Prep (FMP) data and require a Starter plan or higher.

Every tool call bills one quota unit and runs through the same per-key rate limit and monthly quota as the REST API. Authenticate with X-API-Key (or Authorization: Bearer).

The difference between these tools and raw REST is the product's key differentiator: every number carries its source. EDGAR responses include citation fields (form, filing_date, period, fiscal_year, filed_as_reported) and a data_source of SEC EDGAR; vendor responses carry a data_source of Financial Modeling Prep plus a stale flag. Your agent can answer a question and tell you exactly where each number came from — no hallucinated figures.

Free tools (SEC EDGAR)

get_company_profile

Return the SEC company profile for a ticker or numeric CIK.

{
  "type": "object",
  "required": ["identifier"],
  "properties": {
    "identifier": { "type": "string", "description": "Ticker (case-insensitive) or numeric CIK" }
  }
}
  • Outputs: company name, CIK, exchange, SIC code/description, and whether it is an ETF or fund, plus data_source: "SEC EDGAR".
  • Agent use case: resolve a symbol to its canonical company identity before querying financials or filings.
  • Plan: Free.

get_financial_statements

Return curated (or raw XBRL) financial statements for a ticker or CIK.

{
  "type": "object",
  "required": ["identifier"],
  "properties": {
    "identifier": { "type": "string", "description": "Ticker or numeric CIK" },
    "statement": { "type": "string", "enum": ["income", "balance", "cash_flow"], "default": "income" },
    "period": { "type": "string", "enum": ["annual", "quarterly"], "default": "annual" },
    "raw": { "type": "boolean", "default": false, "description": "Return raw xbrl_facts rows instead of curated rows" }
  }
}
  • Outputs: curated rows (items) each carrying SEC citation fields, or raw XBRL facts when raw=true. Wrapped with data_source: "SEC EDGAR".
  • Agent use case: pull a company's revenue, net income, or balance-sheet line items with the exact filing that backs each figure.
  • Plan: Free.

get_sec_filings

Return the SEC filing history for a ticker or CIK, newest first.

{
  "type": "object",
  "required": ["identifier"],
  "properties": {
    "identifier": { "type": "string", "description": "Ticker or numeric CIK" },
    "limit": { "type": "integer", "default": 10, "description": "Max rows, clamped to 1-500" }
  }
}
  • Outputs: items with one row per filing, each carrying SEC citation fields (form, filing_date, period, fiscal_year, filed_as_reported).
  • Agent use case: list a company's recent 10-K and 10-Q filings to confirm when figures were reported.
  • Plan: Free.

get_fund_holdings

Return fund holdings for the most recent reporting period, largest positions first.

{
  "type": "object",
  "required": ["identifier"],
  "properties": {
    "identifier": { "type": "string", "description": "Ticker or numeric CIK" },
    "limit": { "type": "integer", "default": 10, "description": "Max rows, clamped to 1-500" }
  }
}
  • Outputs: items with holdings rows carrying citation fields (form, period, filed_as_reported).
  • Agent use case: inspect what an ETF or mutual fund actually holds as of its latest filing.
  • Plan: Free.

Vendor tools (Starter+)

These three tools read only the database cache and never proxy a live request to FMP. A cache miss returns an empty items list with stale: false. On a free-tier key they return an upgrade message instead of data.

get_key_metrics

Return cached FMP key metrics (valuation and profitability ratios) for a ticker or CIK, newest period first.

{
  "type": "object",
  "required": ["identifier"],
  "properties": {
    "identifier": { "type": "string", "description": "Ticker or numeric CIK" }
  }
}
  • Outputs: items with valuation/profitability ratios, data_source: "Financial Modeling Prep", and a stale flag.
  • Agent use case: enrich a profile with P/E, margins, and other ratio snapshots from vendor data.
  • Plan: Starter+.

get_analyst_estimates

Return cached FMP analyst estimates (with price targets) for a ticker or CIK, newest period first.

{
  "type": "object",
  "required": ["identifier"],
  "properties": {
    "identifier": { "type": "string", "description": "Ticker or numeric CIK" }
  }
}
  • Outputs: items with revenue/EPS estimates and price targets, data_source: "Financial Modeling Prep", and a stale flag.
  • Agent use case: answer "what are analysts expecting for AAPL next quarter?" with cached consensus figures.
  • Plan: Starter+.

get_company_news

Return cached FMP company news headlines for a ticker or CIK, newest first.

{
  "type": "object",
  "required": ["identifier"],
  "properties": {
    "identifier": { "type": "string", "description": "Ticker or numeric CIK" },
    "limit": { "type": "integer", "default": 10, "description": "Max rows, clamped to 1-100" }
  }
}
  • Outputs: items with news headlines, data_source: "Financial Modeling Prep", and a stale flag.
  • Agent use case: surface the latest company headlines alongside fundamental figures.
  • Plan: Starter+.

Worked example: AAPL's latest annual revenue, with source

In Claude Desktop, connect the server as usual, then ask:

What was AAPL's latest annual revenue, and cite the SEC filing it came from?

The client turns that into two tool calls — first get_company_profile to resolve AAPL, then get_financial_statements with statement: "income" and period: "annual". The second call returns curated rows that carry the citation inline, so the agent can answer with the source instead of guessing:

AAPL's latest annual revenue is $383,285,000,000, reported on the
10-K filed 2025-10-31 for fiscal year 2025 (period 2025-09-30).

Because the response included form, filing_date, period, and fiscal_year, the agent can attribute the number precisely. That citation — not just the figure — is what makes the FinanceDataAPI MCP surface useful for financial work.

Citations — why it matters

  • Free tools attach SEC citation fields to every curated row, so answers are traceable to a specific filing.
  • Vendor tools flag stale so the agent can warn you when cached data may be out of date.
  • Every response includes a data_source (SEC EDGAR or Financial Modeling Prep) so you always know the provenance of a number.

Next steps