get_sec_filing
Get one SEC filing, its entity roles, summary, and extracted facts.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filing_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| meta | Yes |
Get one SEC filing, its entity roles, summary, and extracted facts.
| Name | Required | Description | Default |
|---|---|---|---|
| filing_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| meta | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, covering the safety and state profile. The description itself adds the behavioral detail that it returns 'entity roles, summary, and extracted facts,' which is useful context about the returned payload. However, no mention of what happens if the filing_id doesn't exist, or any auth/limits. With rich annotations carrying the safety burden, a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One clear, single sentence that is front-loaded with the core action. No filler or redundancy. It earns its compactness despite the single-parameter tool not needing much elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are documented there. The tool is simple (1 param), has strong annotations, and an output schema. Given the simplicity, the description is reasonably complete, but it could benefit from noting that filing_id comes from search_sec_filings. Since output schema covers the response structure, this is adequate but not exceptional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the filing_id parameter. The description mentions 'SEC filing' but doesn't explain what filing_id is, its format, or how to obtain a valid one (e.g., from search_sec_filings output). The schema only gives max/min length constraints (1-96 chars). The description adds essentially no parametric meaning beyond what the schema field name implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Get one SEC filing, its entity roles, summary, and extracted facts.' This uses a specific verb (get) and names the resource (SEC filing) plus what's returned (entity roles, summary, extracted facts). However, it doesn't distinguish from sibling get_* tools like get_dataset_status or get_market_snapshot, which could be confused. The 'one' hints at singular result but lacks scope context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given. The sibling search_sec_filings clearly exists for discovery; this tool is likely for retrieval after a search returns a filing_id, but that connection is never stated. No alternatives are mentioned. The single-parameter signature implies you'd already know the filing_id, but the description doesn't explain that prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools target clearly distinct data domains: lender search/profile/compare cluster around HMDA lender analytics, while market snapshot, loan performance, servicer analytics, and SEC filing tools are separate. The only minor ambiguity is between get_lender_profile, compare_lenders, and search_lenders which all deal with lender keys, though their intents (search vs. profile vs. comparison) are distinct.
Tools follow a consistent get_/search_/compare_ verb pattern with clear noun targets (lenders, market_snapshot, loan_performance, sec_filing). The one deviation is that search_lenders, search_sec_filings, and compare_lenders use non-get verbs while the rest use get_, but this is a sensible pattern matching read vs. search semantics.
At 9 tools, this is well within the ideal 3-15 range and each tool appears to represent a meaningful consumer capability for a mortgage analytics domain. The count feels appropriately scoped without redundancy or bloat.
The surface covers market data, SEC filings, lender profiles, loan performance, and servicer analytics, but there are notable gaps: there's no mutation capability (all read-oriented), no way to combine or join across these domains, and no search tool for loan performance or market data topics - those are limited to pre-bounded topics. Some domains feel like they have single query points rather than full browsing coverage.