# Drillr — The financial MCP for AI agents MCP server

The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.

## Links
- Registry page: https://www.getdrio.com/mcp/ai-drillr-drillr
- Repository: https://github.com/Little-Grebe-Inc/drillr-mcp-server
- Website: https://drillr.ai/?ref=mp_registry

## Install
- Endpoint: https://gateway.drillr.ai/mcp/data
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://gateway.drillr.ai/mcp/data
- Header: Authorization

## Tools
- sec_report_list - Use to discover which SEC filings exist for a ticker before searching content.
For the actual content use sec_report_search instead.

List indexed SEC filings for a given ticker with a summary header.

Returns: summary (period coverage, per-type counts) + table of up to 50 filings
(fiscal_year, fiscal_quarter, filing_type, filing_date, period_start, period_end).

filing_types filter: omit for main reports only (10-K, 10-Q, 20-F, S-1, DEF 14A
and /A amendments; excludes 8-K/6-K); pass [] for all indexed types; pass explicit
allowlist to override. Endpoint: https://gateway.drillr.ai/mcp/data
- sec_report_search - Use when you need narrative content from SEC filings — risk factors, MD&A, guidance language, deal terms, accounting policies, share structure. For consolidated financial numbers use run_sql on financial_statements instead.

Semantic search over the full text of company-filed SEC filings; returns matching passages.

Parameters:
- query (required): natural-language search; phrase it as the concept or section name you want, e.g. "share repurchase authorization", "Risk Factors", "segment revenue". Run a few phrasings rather than one broad query.
- ticker (required): the company whose filings to search.
- filing_types (optional): array to restrict to specific types — 10-K (US annual), 10-Q (US quarterly), 8-K (US current/material events), 20-F (foreign annual), 6-K (foreign current), DEF 14A (proxy), S-1/F-1 (IPO), + amendments. OMIT to search all types — foreign issuers (e.g. BABA, TSM) file 20-F/6-K, so omitting avoids zero results.
- period_start / period_end (optional): yyyy-mm window; set both to narrow to a date range, omit to search all history.
- top_k (optional): max passages to return (default 5).

Scope: indexes ONLY company-filed reports — NOT institutional filings (13F-HR/13D/13G; for those use insider_and_institution_activities with source='institution'). Filings carry narrative, not structured numbers — for revenue/margins/EPS use financial_statements first.

Section targets (search the named section for the intent): non-GAAP / adjusted figures + reconciliations → earnings 8-K (Exhibit 99.1); dilution / SBC / buyback → "Shareholders' Equity" or "Capital Stock"; risk factors → "Risk Factors"; segment breakdown → "Segment Information"; management guidance → "Outlook" / "Guidance" in MD&A; exec comp / board → DEF 14A; accounting policies → "Critical Accounting Policies"; properties → "Properties". Endpoint: https://gateway.drillr.ai/mcp/data
- company_search - Use for qualitative company discovery (industry, business model, supply chain,
competitors, management background). For numerical screening (revenue, margins,
ratios, growth rates) use run_sql on company_snapshot instead.

Drillr's company knowledge base — searchable across industry classification,
product offerings, business model, segment structure, competitive landscape,
supply chain, management background, and customer profile.

Pass a natural language description (e.g. "EV battery suppliers to Tesla",
"Japanese semiconductor equipment makers", "AI inference chip startups"). Returns
a structured list of matching companies with context snippets.

ONLY for finding a LIST of companies by description. Endpoint: https://gateway.drillr.ai/mcp/data
- ticker_resolve - Resolve a company name, brand, or ticker substring to canonical ticker(s). Use this FIRST when the user mentions a company by name/brand/nickname before running any ticker-keyed tool.

Input:
- query (required): company name, brand, or ticker substring, e.g. "Apple", "苹果", "AAPL", "OpenAI"
- market (optional): "us" | "jp" — omit to search both markets

Returns up to 5 matches ranked by prefix-hit first, then name length. Endpoint: https://gateway.drillr.ai/mcp/data
- run_sql - Read-only PostgreSQL SELECT over financial / market / alt-data tables — returns structured rows.

Hard rules (query fails otherwise):
- SELECT only, no CTE (`WITH ... AS`) — use subqueries.
- Date/period columns are TEXT — compare as strings (`period_end >= '2024-01'`). No `::date` cast, no `INTERVAL` math.
- No `ROUND(float8, int)` — use `CAST(x AS DECIMAL(10,2))` when rounding.
- Filter structured tables by ticker (`WHERE ticker IN ('AAPL','MSFT')`; screening: add `ticker NOT LIKE '%-%'` to drop preferred stock). Alt-data is macro/industry — no ticker filter.

Before querying a table, call `get_table_schema(table)` — it returns that table's columns PLUS its required filters, gotchas, and ticker formats. For alt-data tables call `list_tables(categories=[...])` to discover them.

Sibling tools: SEC filing narrative → sec_report_search; qualitative company discovery → company_search; recent news / market events → signal_list.

Tables by domain (call get_table_schema for detail):
- Market: price_volume_history (OHLCV history; MUST filter ticker + time_frame), index_price, equity_extended_rt (pre/after/overnight quotes)
- Fundamentals: financial_statements (GAAP income/balance/cashflow), company_snapshot (ratios, per-share, growth)
- Earnings: earning_call_summary, earning_call_calendar
- Analyst: analyst_ratings, analyst_ratings_consensus
- Ownership: insider_and_institution_activities
- 8-K events: executive_change, company_deal_events, debt_issuance, securities_offering
- Executives: executive_profile, executive_compensation
- Alt-data: macro / industry / trade / AI-supply-chain — call list_tables(categories=[...]) Endpoint: https://gateway.drillr.ai/mcp/data
- get_table_schema - Use BEFORE run_sql when you're unsure which columns a table has.

Look up column definitions (name, type, description) for a data table. Endpoint: https://gateway.drillr.ai/mcp/data
- fiscal_utility - Use to convert between fiscal year/quarter and calendar months for a given ticker.
Companies have different fiscal year starts (Apple Sep, Nvidia Jan) — call this
before filtering on period_end columns.

Fiscal year ↔ calendar month bidirectional conversion. Forward: ticker + fiscal_year + fiscal_quarter → period_start/period_end. Reverse: ticker + yyyy_mm → fiscal_year/fiscal_quarter. Endpoint: https://gateway.drillr.ai/mcp/data
- list_tables - List alternative-data tables under the given categories. Returns each table's name,
one-line purpose, and column names (call get_table_schema if you need column
types/comments). Batch up to 5 categories in one call.

Use this BEFORE run_sql when you want to explore alt-data — run_sql alone won't
tell you which tables exist.

Available categories:
- Energy & Power — US power plants, electricity prices, regional hourly generation/demand
- Data Centers — facilities, GPU clusters, cooling
- Semiconductors — AI chip specs, sales, ownership, foundry revenue, customs trade
- Compute Pricing — GPU rental, cloud VM spot/on-demand, instance specs
- Model Development — model specs, benchmarks, AI companies, AI polling, LLM arena
- Inference Economics — LLM API pricing across providers
- Macro & Trade — UN Comtrade, US Census trade flows, FRED macro series
- Prediction Markets — Polymarket and Kalshi events, markets, trades, daily aggregates
- Critical Minerals — USGS mineral deposits, country supply, critical materials Endpoint: https://gateway.drillr.ai/mcp/data
- signal_list - Use when you need recent news, events, or market-moving signals for specific
tickers or sectors. For SEC filing narrative use sec_report_search instead.

Recent news + market events filtered by ticker / sector / time range. Each row
is one signal: id, headline, summary, suggested_tickers, sector, score,
trigger_sources, earliest_trigger_event_time, created_at, tags. Continuously
updating feed.

Coverage:
- ~6,900 tickers across US + ADRs of global companies
- Cross-asset: equities, macro, geopolitics, commodities, crypto
- Default sort by earliest_trigger_event_time DESC

Parameters:
- tickers (optional): array of tickers — returns signals
  whose suggested_tickers overlaps any of these
- sector (optional): array of sector strings — returns signals whose sector
  overlaps any of these
- from_date (optional): ISO 8601 timestamp; filter earliest_trigger_event_time >= from_date
- to_date (optional): ISO 8601 timestamp; filter earliest_trigger_event_time <= to_date
- order_by (optional, default earliest_trigger_event_time): 'created_at' | 'earliest_trigger_event_time'
- limit (optional, default 20, max 100): max results
- offset (optional, default 0): pagination offset Endpoint: https://gateway.drillr.ai/mcp/data

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: ai.drillr
- Version: 2.1.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 4, 2026
- Source: https://registry.modelcontextprotocol.io
