Drillr — The financial MCP for AI agents

Drillr is the official financial MCP for AI agents.

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетНужен API-ключГлобальныйБесплатноТолько чтение

Что умеет

  • 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
  • Sec Report Search: Use when you need narrative content (risk factors, MD&A, guidance language). For consolidated financial numbers use run_sql on financial_statements instead. SEC report semantic sear
  • Company Search: Use for qualitative company discovery (industry, business model, supply chain, competitors, management background). For numerical screening (revenue, margins, ratios, growth rates) use

Какие данные видит

Нужен ли аккаунт

Нужен API-ключ из настроек сервиса

Drillr is the official financial MCP for AI agents. One hosted endpoint exposes 9 tools spanning standardized financial data (90+ SQL tables: statements, ratios, earnings, insider, ownership), paragraph-level SEC filing semantic search across 10-K/10-Q/20-F/6-K/S-1/DEF 14A, live cross-asset signals across ~6,900 tickers, and 24 alt-data categories spanning the AI value chain (energy, chips, compute pricing, model adoption, app usage). Coverage: US + Japan equities plus ADRs of global companies; fundamentals back to the 1980s. Built and maintained by Little Grebe Inc.

Список инструментов сервера (8)

Технические названия из tools/list. Нужны только разработчикам.

sec_report_listUse 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.
sec_report_searchUse when you need narrative content (risk factors, MD&A, guidance language). For consolidated financial numbers use run_sql on financial_statements instead. SEC report semantic search. Search paragraph content in 10-K/10-Q/20-F/6-K filings. Search Strategy: - (1) Time-specific queries ("recent", "last year", "Q4 2025", etc.): Apply a time range filter upfront to narrow results to the relevant period. - (2) Broad queries with no time requirement: Broad first, narrow later. First 1-2 searches: use MINIMAL filters. Do NOT set filing_types or period unless explicitly needed. This discovers what information exists in what filings. Later searches: add period/type filters to narrow down. Filing types: 10-K (US annual), 10-Q (US quarterly), 8-K (US current/material events), 20-F (foreign annual), 6-K (foreign current), S-1 (US IPO registration), F-1 (foreign IPO registration). SCOPE: - (1) Indexes ONLY company-filed SEC reports. Does NOT index institutional filings (13F-HR, 13D, 13G). For institutional holdings, use insider_and_institution_activities with source='institution'. - (2) For standardized consolidated financial numbers (revenue, margins, EPS, etc.), use financial_statements first — SEC filings contain narrative context, not structured data. High-Value Search Scenarios (use proactively when relevant): - Share dilution / SBC / buyback → search "Shareholders' Equity" or "Capital Stock" for share-level (not just dollar-level) breakdowns - Facilities / properties → search "Properties" for owned vs leased status, lease terms, land use rights - Interest rate sensitivity → search "Market Risk" or "Interest Rate Risk" for floating-rate debt exposure, swap arrangements - Segment revenue breakdown → search "Segment Information" or "Revenue Disaggregation" - Risk factors → search "Risk Factors" for specific risks - Management guidance → search "Outlook" or "Guidance" in MD&A - Accounting policies → search "Critical Accounting Policies" - Stock split history → search "Stock Split" for split ratios and dates Use for: segment revenue, risk factors, management discussion, guidance, accounting policies, operational metrics, related party transactions, property details, share structure.
company_searchUse 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.
run_sqlUse when you need structured rows from financial/market/altdata tables. For SEC filing narrative use sec_report_search instead. For company qualitative discovery use company_search instead. For recent news + market events use signal_list instead. Execute a read-only PostgreSQL SELECT query on financial and alternative-data tables. Call `get_table_schema` first to look up columns for a specific table. For alternative-data categories, call `list_tables(categories=[...])` to see tables + columns. SQL constraints: - No CTE (`WITH ... AS`) — use subqueries instead. - Date columns are TEXT — use plain string comparison (`period_end >= '2024-01'`). Never use `::date` cast or `INTERVAL` arithmetic. - No `ROUND(float8, int)` — use `CAST(value AS DECIMAL(10,2))` if rounding is needed. - Structured-data queries: always filter by ticker (`WHERE ticker IN ('A','B','C')`; screening: `ticker NOT LIKE '%-%'` to exclude preferred stock). Alternative data is macro/industry/patent — no ticker filter required. Structured data (tables grouped by domain): ## Market Data - price_volume_history: Historical OHLCV price data, ~32M rows. MUST filter by ticker AND time_frame ('daily'|'weekly'|'monthly') to avoid timeout. Columns: ticker, period_end, time_frame, open, high, low, close, adj_close, volume, turnover, vwap, change, change_percent. Ticker conventions: * STOCK / ETF — bare 1–5 letters (AAPL, MSFT, SPY, QQQ, VOO, TLT). Foreign listings use exchange suffix: 1557.T (JP), 310960.KS (KR). * INDEX — leading "^" (^GSPC=S&P 500, ^DJI, ^IXIC=NASDAQ Composite, ^NDX=NASDAQ 100, ^RUT=Russell 2000, ^VIX). Foreign indices: ^FTSE, ^GDAXI, ^N225, 000001.SS (Shanghai Composite), FTSEMIB.MI. * COMMODITY — [code]+USD or +USX (CLUSD=WTI futures, BZUSD=Brent, NGUSD=natgas, GCUSD=gold, SIUSD=silver, HGUSD=copper, ZCUSX=corn, CTUSX=cotton). Suffix USX = priced in cents. * FOREX — 6 letters base+quote, no separator (EURUSD, USDJPY, GBPUSD, USDCNY). * CRYPTO — [token]+USD (BTCUSD, ETHUSD, SOLUSD, DOGEUSD, USDTUSD, USDCUSD). Pitfalls: 1. Same asset, different tickers: NASDAQ 100 → index ^NDX (~26000) vs ETF QQQ (~640). Pick the one matching user intent. 2. WTI spot ≠ futures. CLUSD here is NYMEX futures, NOT spot (FRED has spot via DCOILWTICO). 3. Tickers with "." or "^" MUST be quoted in SQL: `WHERE ticker = '^NDX'`. - index_price: Real-time price snapshot for 3 major US indices: S&P 500 (^GSPC), Dow Jones (^DJI), NASDAQ 100 (^NDX). - index_composition: Index constituent membership for S&P 500 / Dow Jones / NASDAQ 100 / Nikkei 225 (^N225) / TOPIX (^TPX). Includes current and historical members (active rows have exit_date IS NULL). - equity_extended_rt: Extended-hours snapshot, one row per ticker (~6.1K US equities; PK=ticker; refreshed every few minutes — see extended_updated_at). Use ONLY for pre-market / after-hours / overnight quotes. Columns: ticker, company_name, market, price_current (last regular-session close), then three parallel blocks pre_* / after_* / overnight_* (price, change_val, change_rate, high, low, volume, turnover), plus extended_updated_at. For regular-session OHLCV history use price_volume_history; for valuation / fundamentals use company_snapshot. Japan tickers are NOT in this view yet — extended-hours data is US-only. ## Fundamentals - financial_statements: Quarterly and annual financial data covering income statement, balance sheet, and cash flow statement. Filter by ticker + fiscal_period ('FY' annual, 'Q1'..'Q4' quarterly). - company_snapshot: Real-time company snapshot, one row per company. Pre-computed metrics (ratios, percentages, per-share figures, growth rates) only — NOT raw statement line items. For raw statements use financial_statements; for qualitative discovery use company_search. ## Earnings - earning_call_summary: Earnings call data with AI-structured summaries (management_highlights, guidance, risks, segment_performance, q_and_a). Filter by ticker + period_end (yyyy-mm). NOT for structured financial numbers. - earning_call_calendar: Earnings conference call schedule with EPS and revenue estimates vs actuals. `date` column is the scheduled earnings call datetime (UTC timestamptz) — NOT the press-release / 10-Q filing date (the filing typically lands the same day or shortly after). Use eps_actual IS NULL for upcoming calls, IS NOT NULL for reported. ## Analyst Coverage - analyst_ratings: Individual analyst rating events — every re-rating is a separate row. ~565K rows, 519 firms. Filter by ticker; `date` is TEXT (string comparison, no ::date cast). importance >= 4 for high-impact calls. - analyst_ratings_consensus: Per-ticker analyst consensus rollup — one row per ticker, refreshed daily. Columns: strong_buy/buy/hold/sell/strong_sell counts, total_analysts, consensus, pt_consensus/high/low. ## Ownership & Insider Activity - insider_and_institution_activities: Insider trades (Form 3/4/5) and institutional holding changes (13D/G/F, 13F-HR) from SEC EDGAR. Filter by ticker + source ('insider' vs 'institution'). For institutions, filer_name is the holder; shares/market_value give position size. ## Corporate Events (8-K) - executive_change: 8-K executive change events — appointments, departures, reasons, successors, effective dates. Filter by ticker + event_type. - company_deal_events: Single source of truth for corporate deal activity (8-K 1.01/1.02/2.01, S-4, press releases). M&A, financing, material agreements as event-based rows (announced/signed/amended/closed/terminated/waived). Filter by ticker only — do NOT filter by deal_type. One deal may span multiple rows linked via deal_fingerprint. - debt_issuance: 8-K debt issuance events — principal amount, interest rate, maturity, lender, use of proceeds. Use is_current = true for latest version when amendments exist. - securities_offering: 8-K securities offering events — shares, price per share, total proceeds, investors, lock-up. Use is_current = true for latest version when amendments exist. ## Executive Profiles & Compensation - executive_profile: Key executive profiles — name, title, compensation, gender, birth year. One row per executive per company. - executive_compensation: Annual executive compensation breakdown — salary, bonus, stock awards, option awards, total. Filter by ticker + year. ## Alternative Data For alternative-data tables, call list_tables(categories=[...]) first.
get_table_schemaUse BEFORE run_sql when you're unsure which columns a table has. Look up column definitions (name, type, description) for a data table.
fiscal_utilityUse 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.
list_tablesList 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
signal_listUse 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