Skip to main content
Glama
ngkawaix

equity-figures-mcp

by ngkawaix
README.md
# equity-figures-mcp

An MCP server that serves company financial figures as each issuer reported them. Every reported figure has its
source: the document URL, its SHA-256 hash, a locator inside it, the document date, the retrieval date and, for an
EDGAR filing, the SEC accession number. Missing figures stay gaps with their reason; the server fills none.

The data lives in a separate repository, [equity-figures-data](https://github.com/ngkawaix/equity-figures-data), in
two tiers. The server stores no theses or opinions.

- **Curated** (AAPL, AMZN, AVGO, GOOGL, META, MSFT, NVDA): about 25 quarters of figures reviewed against the issuer's
  releases, filings and calls, with segment and non-GAAP lines and computed lens series.
- **XBRL** (25 companies in the pilot, the seven included): every consolidated fact each company tagged in its 10-Q
  and 10-K filings since 2020, as first reported, with later filings' figures for the same period listed as revisions.
  A fourth quarter's three-month flow is usually a gap, because a 10-K reports the year; the `[fy]` series hold the
  year.

A ticker in both tiers defaults to curated; every tool takes `tier` to choose.

Not investment advice. The figures are extracted by software and reviewed, and may still contain errors; check the source document before relying on one.

## Tools

| Tool | What it returns |
|---|---|
| `list_companies` | Tickers, names, tier, publication date and the quarters held |
| `list_metrics` | A ticker's series: id, label, unit, reported or computed, latest value |
| `get_series` | One series by quarter, with the source of every reported point |
| `check_condition` | Your measure and threshold evaluated at every quarter: holding, broken or not established |

Quarters are fiscal quarters in each company's own calendar, labelled like `FY2026Q4`. Series ids starting `cell.`
are reported figures; the others are computed lens series that name the figures they use.

`check_condition` takes a measure such as `{"name": "growth", "series": "cell.revenue", "quarters": 4}` and a
condition such as `">= 10"`. The measures are `level`, `change`, `growth`, `vs_mean`, `spread`, `ttm_sum` and
`ttm_ratio`.

## Install

Claude Code:

```bash
claude mcp add equity-figures -- uvx --from git+https://github.com/ngkawaix/equity-figures-mcp equity-figures-mcp
```

Claude Desktop, in `claude_desktop_config.json`:

```json
{"mcpServers": {"equity-figures": {"command": "uvx",
  "args": ["--from", "git+https://github.com/ngkawaix/equity-figures-mcp", "equity-figures-mcp"]}}}
```

The first start clones and builds the package, which can exceed a client's 30-second connection timeout. If it does,
run `uvx --from git+https://github.com/ngkawaix/equity-figures-mcp equity-figures-mcp` once in a terminal (stop it
with Ctrl+C), then reconnect.

Set `EQUITY_FIGURES_DATA` to a local folder or another base URL to read a different copy of the dataset.

## Tests

```bash
python -m unittest discover -s tests
```

TDQS

A4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool serves a clearly distinct purpose: list_companies for discovery, list_metrics for series enumeration, get_series for raw data retrieval, and check_condition for computed evaluations. The descriptions clarify that get_series returns one series while check_condition evaluates measures and conditions, so overlap is minimal.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: list_companies, list_metrics, get_series, check_condition. The convention is predictable and easy to parse.

Tool Count5/5

With only 4 tools, the set is well-scoped for a read-only equity data server. Each tool earns its place by covering a distinct phase of the workflow: discovery, enumeration, retrieval, and conditional analysis.

Completeness5/5

The surface fully covers the domain: list_companies provides company metadata, list_metrics enumerates available series, get_series retrieves detailed point data, and check_condition supports derived measures and condition testing. No critical gaps for typical equity figure analysis.

Maintenance

ActivityMaintained
ResponsivenessNo issues