Skip to main content
Glama
filing-agent

filing-agent

by chensirui3

search_filings

Read-only

Search SEC filing pages by keyword (BM25) with filters for company, document, filing type, or fiscal year; returns matching pages and snippets.

Instructions

Keyword search (BM25) over filing pages; returns the best-matching pages with a snippet each. Always filter by company, and by fiscal_year or doc_name once you know them: unfiltered search across all companies rarely finds the right page. Use the filing's own wording ('purchases of property, plant and equipment', not 'capex'). Results are pages; read them with read_filing_page.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "search_filings"
  }
}

Input Schema

NameRequiredDescriptionDefault
queryYesWhat to find, in the filing's own words.
top_kNoPages to return (default 8).
companyNoOnly this company's filings (recommended).
doc_nameNoOnly this filing (a doc_name).
doc_typeNoOnly this filing type.
fiscal_yearNoOnly filings for this fiscal year.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false), and the description adds genuine behavioral context beyond them: BM25 ranking, one snippet per page, and the caveat that unfiltered search rarely finds the right page. It also makes clear results are page references requiring a follow-up read call.

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?

Four short sentences, front-loaded with what the tool does and its return shape, then constraints, then the follow-up action. No filler and nothing repeated from the schema.

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?

Despite having no output schema, the description covers the return type (pages with snippets) and the next step (read_filing_page), and it addresses all six parameters at the level an agent needs. Nothing required to call it correctly is missing.

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 100%, so baseline is 3, but the description adds real semantic value: it explains why company/fiscal_year/doc_name filtering matters, which filter to apply first, and how the query string should be phrased. Only doc_type goes unmentioned in prose, though its enum is self-documenting.

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?

Names the specific retrieval method (BM25 keyword search), the resource (filing pages), and the return shape (best-matching pages with a snippet each). An agent can distinguish it from read_filing_page or list_filings without inspecting schemas.

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?

Gives explicit when-to-use directives (always filter by company, and by fiscal_year or doc_name once known), states the failure mode of unfiltered search, advises query phrasing in the filing's own words, and routes the agent to read_filing_page for the results.

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