Skip to main content
Glama

financial_search

Read-onlyIdempotent

Search SEC filings (10-K, 10-Q, 8-K, registration statements/prospectuses and press exhibits; S&P 500 coverage, ~10 years) with hybrid semantic + keyword retrieval. TWO MODES. Search mode (pass query): results ranked by relevance, highest first. FETCH MODE (omit query): no ranking at all — pass an issuer plus any of form_type / fiscal_year / accession_number / section and get that filing's sections back in filing-date-desc then document order, in tens of milliseconds. Use fetch when you already know WHICH document you want and only need its text. ALWAYS pass issuer (ticker, cik or company_name) — the company the question is about — plus fiscal_year and/or form_type when you know them. Scoped calls are fast and precise. A call with no issuer runs as scope=cross_company: slower, ranked by relevance only, and the response sets quality_caveat — check for that field. Use scope=cross_company deliberately only for questions that are genuinely about many companies ("which filers name NVIDIA as a supplier"). Built for agents: every hit is a ready-to-cite payload — exact filing-section text, form type, filing date, accession-numbered citation, source URL and a 0-1 confidence score — no HTML parsing, no EDGAR pagination. Use for revenue/segment figures, risk factors, M&A and contract terms, customer/supplier concentration, and any claim that must trace to a primary source. Coverage is NOT US-only: Sweden/Bolagsverket, Japan/EDINET, Korea/DART annual reports are included. Those issuers have no US ticker — pass issuer.company_name (e.g. "Sivers Semiconductors", "Samsung Electronics", "Ajinomoto") or scope a whole market with jurisdiction (["SE"], ["JP"], ["KR"]).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cikNoExact SEC CIK values to scope retrieval. Values are normalized to 10 digits.
limitNo
queryNoNatural language search query. OMIT IT for fetch mode: with no query nothing is embedded or scored and the matching sections come back in filing-date-desc then document order. Fetch mode requires an identifier (issuer.ticker / issuer.cik / issuer.company_name / cik[] / accession_number) — a query-less call without one is rejected.
scopeNoissuer (default): results limited to the resolved company. cross_company: search all filers — for questions like "who names NVIDIA as a supplier". Cross-company results are slower, relevance-ranked only, and always carry `quality_caveat`.issuer
domainNopublic_equity = single-company filing search; supply_chain = cross-company supplier/customer relationship evidence; auto (default) = detect from the query.auto
fieldsNo
issuerNoThe company the question is about. Pass at least one of ticker (e.g. "NVDA"), cik (e.g. "1045810"), or company_name (required for non-US issuers, which have no US ticker). Scopes retrieval to that filer: fast and precise. Strongly recommended on every call, and REQUIRED in fetch mode.
profileNoRetrieval profile. `hybrid` (default) ranks by the engine's own fused score (saturated lexical + vector cosine), highest first. `bm25` is the lexical-only fallback. `hybrid_rerank` and `hybrid_rerank_tickerprior` are accepted as aliases of `hybrid` for one release — the cross-encoder they named was removed on 2026-09-11.hybrid
sectionNoFiling section(s), matched case-insensitively as a substring of the stored label — "Item 1A" matches "Item 1A. Risk Factors". In fetch mode this is how you ask for one part of a filing.
form_typeNoOnly return these filing forms, for example ["20-F"] or ["6-K"].
fiscal_yearNoIssuer's fiscal year as the company labels it (NVIDIA FY2027 = year ending Jan 2027). Resolved from XBRL DEI fiscal-year focus where available, else from the issuer's fiscal year-end; an empty year widens ±1 with a caveat.
jurisdictionNoScope to non-US issuer jurisdictions (ISO-3166 alpha-2): "SE" (Sweden/Bolagsverket), "JP" (Japan/EDINET), "KR" (Korea/DART). These carry no US ticker and are otherwise buried by SEC-centric ranking. US filings have an empty jurisdiction tag, so this filter is for non-US scoping only — omit it to include US (the default). A named non-US issuer surfaces even without this filter, via the company-name anchor.
prefer_recentNoPrefer newer filings when relevance scores are close. Automatically enabled for latest/current/guidance queries.
return_formatNoResponse shape. 'section' (default) returns the full SEC section the matching chunk belongs to. 'chunk' returns the matching window only. 'both' returns both.section
accession_numberNoExact SEC accession number. When set, retrieval is hard-scoped to that filing.
exclude_form_typeNoExclude filing forms. Company searches already suppress fund/proxy forms by default.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYes"search" = ranked by relevance. "fetch" = no ranking; sections listed in filing-date-desc then document order, and `total` is the number of matching chunks.
queryYes
scopeNoEffective scope after issuer resolution.
totalYes
domainYes
sourceYes
resultsYes
latency_msYes
quality_caveatNoPresent when the result is not issuer-precise. Read it before trusting cross-company results.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description adds substantial operational context: fetch mode latency ('tens of milliseconds') versus slower cross-company calls, the `quality_caveat` response marker, default fund/proxy form suppression, and the requirement of an issuer identifier in fetch mode. It also discloses a real behavioral quirk — the rerank profiles are deprecated aliases whose cross-encoder was removed.

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

Conciseness4/5

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

Front-loaded with purpose and the two-mode distinction, and most sentences carry routing or constraint information. It is long and dense for a tool description, and the cross_company/quality_caveat behavior is explained twice (description and `scope` schema), which is mild redundancy rather than waste.

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?

For a 16-parameter tool with nested objects, enums, and an output schema, the description covers everything an agent needs: mode selection, issuer requirement, non-US routing, coverage limits, and when to expect degraded (caveated) results. Return-value detail is correctly delegated to the output schema.

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

Parameters4/5

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

Schema coverage is 88%, so the baseline is 3, but the description adds genuine semantics beyond the schema: omitting `query` is what triggers fetch mode, `issuer.company_name` is the required route for non-US issuers with no US ticker, and cross-company calls carry a caveat. Minor parameters (limit, fields, exclude_form_type) get no narrative treatment, keeping it just short of a 5.

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?

Opens with a specific verb+resource and scope ('Search SEC filings (10-K, 10-Q, 8-K, registration statements/prospectuses and press exhibits; S&P 500 coverage, ~10 years)'), then immediately splits the tool into two named modes. Coverage boundaries (US SEC plus Sweden/Japan/Korea) are stated, which distinguishes it from siblings like transcript_search and regulation_search without opening any schema.

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?

Explicitly states when to use each mode: 'Use fetch when you already know WHICH document you want and only need its text' versus search mode passing `query`. It also names the alternative scope and when NOT to use it — 'Use scope=cross_company deliberately only for questions that are genuinely about many companies' — and warns to check for `quality_caveat` on those calls.

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.