Drillr - AI Agent 的金融 MCP

puke3615/drillr-mcp-server
Hosted
4 Stars 63 次浏览 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (9 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

sec_report_list 2 个参数 需填 1 项

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.

必填参数:ticker

sec_report_search 6 个参数 需填 2 项

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".

必填参数:ticker、query

company_search 1 个参数 需填 1 项

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.

必填参数:query

ticker_resolve 2 个参数 需填 1 项

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.

必填参数:query

run_sql 1 个参数 需填 1 项

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=[...])

必填参数:sql

get_table_schema 1 个参数 需填 1 项

Use BEFORE run_sql when you're unsure which columns a table has. Look up column definitions (name, type, description) for a data table.

必填参数:table_name

fiscal_utility 4 个参数 需填 1 项

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.

必填参数:ticker

list_tables 1 个参数 需填 1 项

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

必填参数:categories

signal_list 7 个参数

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

该工具无需必填参数,直接调用即可

服务介绍

Drillr · 给 Agent 的金融研究数据底座

给 AI agent 的金融 MCP。扫市场。建判断。追每一个信号。引每一条出处。

License
MCP
工具参考
REST API
定价
开发者文档
反馈

一把 API key。五类工具覆盖每种研究流程:thesis 搜索引擎、标准化财务数据(财报、比率、业绩、内部交易、股东结构)、实时信号、段落级引用的文件检索、另类数据。

如果 Drillr 帮到了你的 agent,给我们点个 Star——这是我们持续 in the open 迭代的信号。

快速接入

  1. drillr.ai 注册
  2. drillr.ai/developer/keys 创建 external scope 的 API key(格式 drl_xxxxxxxx_xxx...,45 字符)—— 下面 config 里要粘贴它
  3. 加到你 host 的 mcp.json——一个 endpoint 就拿到下面所有工具。

方式 A:手动 mcp.json(任何 MCP host —— 推荐)

Claude Code / Claude Agent SDK / Cursor / VS Code

{
  "mcpServers": {
    "drillr": {
      "type": "http",
      "url": "https://gateway.drillr.ai/mcp/data",
      "headers": { "Authorization": "Bearer <YOUR_DRILLR_API_KEY>" }
    }
  }
}

⚠️ <YOUR_DRILLR_API_KEY> 替换成(连同尖括号一起)你在步骤 2 拿到的 drl_* key。熟悉环境变量的用户也可以保留 ${DRILLR_API_KEY} 写法,前提是先在启动 host 的 shell 里 export DRILLR_API_KEY=drl_...(Claude Code / Cursor / VS Code 都支持自动展开)。

Cursor 用户:把上面这段加到 ~/.cursor/mcp.json。VS Code(GitHub Copilot Chat)用户:在 Command Palette 跑 MCP: Add Server 粘贴即可。或用一键安装:

Install in Cursor Install in VS Code

安装后把生成 config 里的 ${DRILLR_API_KEY} 替换成你真实的 drl_* key 即可。

扣子(字节跳动) / 千帆(百度智能云) / 火山方舟(字节跳动)

按各平台 MCP server 添加规范填入:transport http、URL https://gateway.drillr.ai/mcp/data、Authorization header 写 Bearer <YOUR_DRILLR_API_KEY>(把尖括号占位换成你真实的 drl_* key)。

Hermes Agent

mcp_servers:
  drillr:
    url: 'https://gateway.drillr.ai/mcp/data'
    headers: { Authorization: 'Bearer <YOUR_DRILLR_API_KEY>' }

其他 host

任何支持 MCP 的 host(OpenClaw / ChatGPT MCP 等)都能用——同一套 Streamable HTTP transport + Bearer header。鉴权仅支持 Bearer API key;该 endpoint 不支持 OAuth。

方式 B:Smithery 一行装

npx -y @smithery/cli install drillr/drillr --client claude

Smithery 首次安装时会提示你输入 drl_* API key,自动写进 client 的 mcp.json。

Listing:https://smithery.ai/servers/drillr/drillr

方式 C:Claude Code 插件

本仓库自带 Claude Code single-plugin marketplace。在 Claude Code 里跑:

/plugin marketplace add Little-Grebe-Inc/drillr-mcp-server
/plugin install drillr

之后在环境变量里设 DRILLR_API_KEY(或把它粘进生成的 config),即可使用。

Hello World

配好后,对你的 agent 这样问:

"拉一下 NVDA 最近一季的毛利率,对比 AMD 同期的——找出业务结构差异在哪。"

幕后发生什么:

  1. Host 把问题路由给 drillr MCP server
  2. Agent 自己挑工具——通常是 sec_report_search(拿 10-Q 内容)+ run_sql(查 financial_statements 拿毛利率)+ company_search(拿业务分部定义)
  3. 你拿回带引用的 markdown 回答,一般 8-15 秒
  4. drillr.ai/developer/keys 查看 credit 余额;REST 调用额外在每次 2xx 响应里内联 { "data": ..., "_credits": ... } envelope(详见 定价REST API › Response Envelope) —— MCP 响应走标准 JSON-RPC,不在响应里携带 per-call 计费字段

一个 Toolkit,9 个工具

Drillr 用一个 MCP endpoint 暴露 9 个工具——你的 agent 按需组合:

工具 用途
run_sql 90+ 张表的标准化财务数据——三大表、比率、业绩、内部交易、股东结构、行情、另类数据
sec_report_search 10-K / 10-Q / 20-F / 6-K / S-1 / DEF 14A 文件的段落级语义检索
sec_report_list 按 ticker / 表单类型 / 日期范围列出某标的的文件
company_search 按自然语言描述找公司——业务模式、供应链、可比公司、主题(如"给特斯拉供货的电池厂商")
signal_list ~6,900 个标的的实时跨资产信号流
ticker_resolve 把公司名 / 品牌 / ticker 片段解析成规范 ticker(任何按 ticker 取数的工具之前先调它)
list_tables 按类目列出可用的另类数据 SQL 表
get_table_schema 看任意 SQL 表的列和类型
fiscal_utility 财年 / 财季工具(处理非自然年公司的 FY/FQ 解析)

完整 tool 参考:docs/tools.md

数据覆盖

  • 全球股票:美股 + 日股已支持;港股 / A 股 / 韩股本土上市即将上线。中概股、欧洲公司的美股 ADR(BABA / TSM / BIDU / JD / NIO / PDD 等)基本面齐全
  • 基本面:财报数据回溯到 1980 年代,90+ 张结构化表(利润表、资产负债表、现金流、估值、增长、比率)
  • SEC 文件:10-K / 10-Q / 20-F / 6-K / S-1 / DEF 14A,段落级语义检索
  • 业绩:电话会 transcript + AI 结构化摘要(guidance / risks / 业务分部 / Q&A)、完整的 estimate vs actuals 历史
  • 行情:股票、ETF、指数(含 Nikkei 225 / TOPIX)、外汇、加密货币、大宗商品
  • 分析师覆盖:519 家机构、56.5 万条评级事件
  • 新闻 + 信号:~6,900 个标的的持续更新流,跨资产(股票、宏观、地缘、商品、加密)
  • AI 价值链另类数据:24 个类目,跨能源 / 芯片 / 算力定价 / LLM token 经济 / 模型 benchmark / AI 公司财务 / app 使用 / 网站流量 / 专利 / 学术论文 / 政府合同 / 贸易流 / 金融 KOL(Twitter / Reddit / Substack / YouTube)

完整数据字典:docs/tools.md

REST API

每个 MCP tool 都有 1:1 对应的 REST endpoint。同一把 drl_* key、同样的数据。详见 docs/rest-api.md

curl -X POST https://gateway.drillr.ai/api/v1/data/run_sql \
  -H "Authorization: Bearer $DRILLR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sql":"SELECT ticker, close FROM price_volume_history WHERE ticker='\''AAPL'\'' AND time_frame='\''daily'\'' ORDER BY period_end DESC LIMIT 5"}'

不在覆盖范围内

提前讲清楚边界,避免 agent 浪费研究循环:

  • 非上市 / 私募公司(只覆盖公开上市公司)
  • Crypto 链上指标——我们有 CEX 价格(BTCUSD / ETHUSD / SOLUSD 等),但没有 TVL / 持币地址 / 钱包数据
  • 期权链、实时盘口、逐笔
  • 零售经纪动作(下单 / 管仓)
  • Drillr 不出自家价格预测——只 surface 分析师 consensus

社群

用 drillr 搭东西、遇到坑、或者想第一时间拿到新功能?扫码进群,或点标题链接。

License

MIT —— 详见 LICENSE

相关 MCP 服务