# Datavidence Financials

Hands your agent normalized US-GAAP statements from SEC EDGAR: income statement, balance sheet, cash flow for any XBRL filer. Useful when the model has to reason over real figures.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: datavidence
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/datavidence/datavidence-financials-mcp
- Updated: 2026-10-04
- HTML: https://affpapa.org/en/nevibecode/mcp/datavidence-financials

## What it does

The server speaks MCP over stdio and forwards requests by HTTPS to the Datavidence Financials REST API. You bring your own key — without `FL_API_KEY` there is no live SEC data, and `sandbox_demo_key` only returns samples. The connector is MIT-licensed; the API behind it is a paid service.

Six tools ship with it. `get_financials` returns the income statement, balance sheet and cash flow for one company and fiscal year, with `as_of` for figures as they stood at a given date, before later restatements. `get_financials_batch` covers up to 25 tickers or CIKs in a single call and counts as one quota unit, so one bad symbol won't sink the rest. `list_filings` lists recent EDGAR submissions, `get_revisions` traces how a reported value changed from filing to filing, `search_companies` resolves a name to a ticker and CIK, and `get_usage` reports the monthly quota without spending it.

Coverage spans the SEC XBRL universe, US-GAAP only. IFRS filers get an explicit unsupported signal rather than wrong numbers. When a company moves under a new holding entity, SEC's ticker map points at the successor CIK, so earlier years have to be requested with `cik=` directly.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `FL_API_KEY`, `FL_API_BASE_URL`, `FL_API_KEY_HEADER`, `FL_API_TIMEOUT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env FL_API_KEY=<FL_API_KEY> --env FL_API_BASE_URL=<FL_API_BASE_URL> --env FL_API_KEY_HEADER=<FL_API_KEY_HEADER> --env FL_API_TIMEOUT=<FL_API_TIMEOUT> --transport stdio datavidence-financials -- uvx datavidence-financials
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datavidence-financials <command>

### Codex

**Platform CLI**
```bash
codex mcp add datavidence-financials --env FL_API_KEY=<FL_API_KEY> --env FL_API_BASE_URL=<FL_API_BASE_URL> --env FL_API_KEY_HEADER=<FL_API_KEY_HEADER> --env FL_API_TIMEOUT=<FL_API_TIMEOUT> -- uvx datavidence-financials
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datavidence-financials <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "datavidence-financials": {
            "command": "uvx",
            "args": [
                "datavidence-financials"
            ],
            "env": {
                "FL_API_KEY": "<FL_API_KEY>",
                "FL_API_BASE_URL": "<FL_API_BASE_URL>",
                "FL_API_KEY_HEADER": "<FL_API_KEY_HEADER>",
                "FL_API_TIMEOUT": "<FL_API_TIMEOUT>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datavidence-financials <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "datavidence-financials": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "datavidence-financials"
            ],
            "env": {
                "FL_API_KEY": "<FL_API_KEY>",
                "FL_API_BASE_URL": "<FL_API_BASE_URL>",
                "FL_API_KEY_HEADER": "<FL_API_KEY_HEADER>",
                "FL_API_TIMEOUT": "<FL_API_TIMEOUT>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datavidence-financials <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e FL_API_KEY=<FL_API_KEY> -e FL_API_BASE_URL=<FL_API_BASE_URL> -e FL_API_KEY_HEADER=<FL_API_KEY_HEADER> -e FL_API_TIMEOUT=<FL_API_TIMEOUT> datavidence-financials uvx datavidence-financials
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datavidence-financials <command>

## When to use it
- pull a company's annual statements without parsing XBRL
- compare a figure as filed against its restated value
- run 25 tickers through one call
- resolve a company name to its CIK
- check which forms a filer has on record

## Example prompts
- Show how Pfizer's FY2019 revenue changed across filings.
- Find the CIK for Berkshire and list its recent 10-K filings.

## Similar
- [l0g.fr Risk Intelligence](https://affpapa.org/en/nevibecode/mcp/l0gfr-risk-intelligence.md) — MCP server · ★ 19
- [Drillr — The financial MCP for AI agents](https://affpapa.org/en/nevibecode/mcp/drillr-the-financial-mcp-for-ai-agents.md) — MCP server · ★ 10
- [EdgarTools](https://affpapa.org/en/nevibecode/mcp/edgartools.md) — MCP server · ★ 2817
- [secedgar-mcp-server](https://affpapa.org/en/nevibecode/mcp/secedgar-mcp-server.md) — MCP server · ★ 11
- [Pipeworx](https://affpapa.org/en/nevibecode/mcp/pipeworx.md) — MCP server · ★ 9
- [Filings Intel MCP](https://affpapa.org/en/nevibecode/mcp/filings-intel-mcp.md) — MCP server · ★ 1

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
