Skip to main content
Glama

Drillr — The financial MCP for AI agents

sec_report_search

Read-only

Use when you need narrative content from company 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 reports; returns matching passages.

Coverage: US + Japan + Hong Kong + China A-shares + Korea. US = SEC EDGAR (including foreign issuers' 20-F/6-K). Japan = EDINET, .T ticker (6758.T). Hong Kong = HKEX filings, 5-digit .HK ticker (00700.HK). A-shares = .SH/.SZ (600519.SH). Korea = DART filings, .KS/.KQ (005930.KS); filings are Korean — query in Korean.

Parameters:

  • query (required): natural-language search; phrase it as the concept or section name you want, e.g. "share repurchase authorization", "Risk Factors". Run a few phrasings rather than one broad query.

  • ticker (required): US bare (NVDA), Japan .T, HK .HK, A-share .SH/.SZ, Korea .KS/.KQ, ADRs as their US symbol (SONY).

  • filing_types (optional): US = SEC form names (10-K, 10-Q, 8-K, 20-F, 6-K, DEF 14A, S-1/F-1, + amendments). Japan = EDINET NUMERIC codes: 120 (annual), 140 (quarterly), 160 (semi-annual). HK/A-share = plain names — annual_report; A-share quarters per-quarter (q1_report, ...); HK quarterly results all quarterly_report. Korea = DART codes: A001 (annual), A002 (semi-annual), A003 (quarterly), C001/C005 (registration/prospectus). OMIT to search all types.

  • period_start / period_end (optional): yyyy-mm window; omit to search all history.

  • top_k (optional): max passages to return (default 10).

Scope: indexes ONLY company-filed reports — NOT institutional filings (13F-HR/13D/13G; for those use insider_and_institution_activities with source='institution').

Section targets: non-GAAP reconciliations → earnings 8-K (Ex 99.1); dilution / SBC / buyback → "Shareholders' Equity"; segment breakdown → "Segment Information"; guidance → "Outlook" in MD&A; exec comp → DEF 14A.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
top_kNo
tickerYesStock ticker, e.g. NVDA, 6758.T, 00700.HK, 600519.SH
period_endNoEnd period YYYY-MM
filing_typesNo
period_startNoStart period YYYY-MM

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, but the description adds substantial behavioral context: coverage of markets, that it returns matching passages, language limitations (Korea filings in Korean), and recommended query phrasing. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but densely packed with essential information, structured into clear sections (Coverage, Parameters, Scope, Section targets). Every sentence adds value, and the front-loading of use cases ensures the agent quickly understands when to invoke it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, multiple jurisdictions, no output schema), the description is remarkably complete. It covers all parameters, market-specific ticker formats, filing type mappings, and section navigation tips. An agent has everything needed to select and call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 67%, but the description elaborates on every parameter, including detailed filing type codes for each market, query formatting examples, and default behavior for top_k. This goes far beyond the schema's terse 'Search query' and 'Stock ticker' descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs "Semantic search over the full text of company-filed reports; returns matching passages." It uses a specific verb (search) and resource (company filings), and explicitly contrasts itself with run_sql for financial numbers, distinguishing it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is given: "Use when you need narrative content from company filings... For consolidated financial numbers use run_sql on financial_statements instead." It also specifies negative scope (not institutional filings) and provides per-market filing type guidance, making it clear when to use this tool vs alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: company_search is qualitative discovery, run_sql is quantitative querying, news_search covers news, sec_report_list/search handle filings, ticker_lookup resolves identifiers, and list_tables/get_table_schema/fiscal_utility support exploration. Cross-references between tools (e.g., company_search explicitly defers to run_sql) prevent confusion.

Naming Consistency4/5

Most tools follow a predictable noun_verb or noun_noun pattern (company_search, news_search, ticker_lookup, run_sql, list_tables, get_table_schema). sec_report_list and sec_report_search are clearly related with descriptive suffixes. Minor deviation: fiscal_utility is vaguer than its siblings, but the pattern is otherwise consistent.

Tool Count5/5

9 tools is right-sized for a financial data platform — enough for comprehensive coverage (search, query, schema, news, filings) without redundancy. Each tool serves a distinct purpose and the count fits the domain well.

Completeness5/5

The tool set forms a coherent workflow: ticker_lookup → company_search/run_sql for fundamentals, news_search for events, sec_report_list/search for filings, and list_tables/get_table_schema for schema discovery. The only minor gap is the absence of a direct 'company profiles' tool separate from company_search, but run_sql covers quantitative needs adequately. The surface is complete for a read-only financial analysis MCP.