Skip to main content
Glama
README.md
# FilingLens — Python client & MCP server

**Ask any 10-K. Get the number, the sentence, and the citation.**

[FilingLens](https://filinglens.ai) answers questions about US public companies from their SEC
filings. Financial figures come straight from the company's XBRL submission (exact, with the tag
and accession number); narrative answers cite the filing section with a link to sec.gov.
Retrieval is scoped per company — no cross-company mixing.

## Install

```bash
pip install filinglens        # or: uv add filinglens
```

## MCP server (Claude Desktop · Claude Code · Cursor · any MCP client)

```json
{
  "mcpServers": {
    "filinglens": {
      "command": "uvx",
      "args": ["--from", "filinglens", "filinglens-mcp"],
      "env": { "FL_API_KEY": "fl_your_key" }
    }
  }
}
```

Claude Code: `claude mcp add filinglens -e FL_API_KEY=fl_your_key -- uvx --from filinglens filinglens-mcp`

Tools: `search_company` · `get_financials` · `list_metrics` · `index_company` · `ingest_status` · `ask_filing` · `compare_companies`

Without `FL_API_KEY` the shared demo key is used (20 questions/month). Get a free key at https://filinglens.ai.

## Python

```python
from filinglens import FilingLens

fl = FilingLens(api_key="fl_...")

fl.facts("NVDA", metrics=["revenue", "free_cash_flow", "gross_margin"], years=5)
# {'ticker': 'NVDA', 'facts': [{'metric': 'revenue', 'fiscal_year': 2026, 'display': '$215.94B',
#   'tag': 'us-gaap:Revenues', 'accn': '0001045810-26-000021', ...}, ...]}

r = fl.ask("How did data center revenue change and what drove it?", tickers=["NVDA"])
print(r["answer"])
for c in r["citations"]:
    print(c["ticker"], c["form"], c["fiscal_year"], c["section"], c["url"])

fl.compare(
    ["AAPL", "MSFT", "NVDA"],
    metrics=["revenue", "net_margin", "free_cash_flow"],
    question="Compare margin trends in the latest fiscal year.",
)
```

Async: `from filinglens import AsyncFilingLens`.

## Pricing

Free (20 questions/mo) · Pro from $15–49/mo by region · API $0.08–0.25 per question · Enterprise with
private deployment. Details: https://filinglens.ai/#pricing

## Disclaimer

FilingLens summarises and cites public SEC filings. It is not investment, legal, tax or accounting
advice. Figures are reproduced from company XBRL filings and may be restated; verify with the
original filing before relying on them.

MIT licensed. The hosted service is proprietary.

TDQS

B3.3/5.0

Scored across 7 tools

Disambiguation4/5

Each tool targets a distinct step of the filing-analysis workflow (discover company, index, poll, query, exact numbers, compare). The only real overlap is ask_filing vs get_financials, since a numeric question could plausibly route to either, and get_financials vs compare_companies differ mainly by company count.

Naming Consistency4/5

Names are uniformly snake_case and mostly follow a verb_noun pattern (list_metrics, index_company, ask_filing, search_company, get_financials, compare_companies). ingest_status is the one mild deviation, being a noun-style status check rather than an explicit verb_object.

Tool Count5/5

Seven tools is well-scoped for an SEC-filing analysis server, with each tool owning a clear stage of the workflow (search, index, poll, QA, financials, comparison). No tool feels redundant or superfluous.

Completeness4/5

The surface covers the full pipeline: company lookup, indexing, job polling, cited QA, exact financials, metric discovery, and multi-company comparison. Minor gaps remain, such as no way to list already-indexed companies, inspect stored filings, or delete/re-index stale data.

Maintenance

ActivityMaintained
ResponsivenessNo issues