AlphaCreek SEC Filings MCP
Server Details
Access SEC filings efficiently (10-K, 10-Q, etc), save time and tokens, and get cited answers.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
5 toolsget_filing_tocARead-onlyInspect
Return the full filing table of contents for one filing. If artifact_document_id is omitted, resolves the single latest filing for ticker/company (and optional document_type) only. Use list_filings first to discover a specific reporting period. For FCA filings, pass filing_registry=fca_nsm; TOC node ids are HTML page element ids (e.g. pf2a, page12, pageView1) for annual ESEF reports or sec-parser ids (e.g. sp-0000001) for half-year RNS HTML reports.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | No | ||
| company | No | ||
| document_type | No | Optional document type filter (canonical values only). See Field reference for allowed values per registry. | |
| filing_registry | No | Filing source registry. sec_edgar — US SEC EDGAR filings. fca_nsm — UK FCA National Storage Mechanism. Omit to search both registries. | sec_edgar |
| artifact_document_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint=true and destructiveHint=false, the description adds valuable behavioral context: the fallback logic when artifact_document_id is omitted (resolves latest filing) and the registry-specific TOC node id formats (HTML vs sec-parser ids). These details go beyond the schema and annotations, disclosing expected output structure.
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?
The description is three sentences long, front-loaded with the primary purpose, then conditional behavior, then registry-specific notes. No filler or repetition exists; every sentence earns its place.
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?
Despite lacking an output schema, the description communicates what the TOC contains (node ids) and how to interpret them per registry. It covers the essential edge cases (omitted artifact_document_id, FCA specifics) without overwhelming detail. A slight gap is not mentioning the overall return shape, but this is acceptable given the complexity and sibling context.
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 only 40%, leaving ticker, company, and artifact_document_id undocumented. The description compensates by explaining artifact_document_id's role in resolving the latest filing, and it clarifies filing_registry usage for FCA. While ticker/company are self-explanatory, the description effectively fills the gaps for the trickier parameters.
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 opens with a specific verb+resource ('Return the full filing table of contents for one filing'), making the tool's core function immediately clear. It also distinguishes itself from siblings by explicitly referencing list_filings for discovery, and the mention of FCA node id formats highlights its unique role in returning TOC structure rather than content.
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?
The description provides a direct usage guideline: 'Use list_filings first to discover a specific reporting period.' It also gives conditional guidance for FCA filings with 'pass filing_registry=fca_nsm'. However, it does not explicitly mention when to use get_latest_filing or read_node_content as alternatives, so it lacks full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_filingARead-onlyInspect
Return latest filing metadata for a company or ticker. If ticker and company are omitted, return newly ingested filings newest-first. Omit filing_registry in that mode to include both SEC and FCA. Company results include one metadata object; newly ingested results include a filings list. Each row includes Filing metadata object. Includes document_type (Canonical document type. SEC: 10-K, 10-Q, 20-F, 6-K, 8-K. FCA: annual, half-year, press.) and, for FCA press rows, announcement_type (FCA press subtype when document_type is press; null for annual and half-year. Values: 1st Quarter Results, 2nd Quarter Results, 3rd Quarter Results, 4th Quarter Results, Final Results, Preliminary Results, Share Buyback, Trading Update.).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max newly ingested filings when ticker and company are omitted | |
| ticker | No | ||
| company | No | ||
| document_type | No | Optional document type filter (canonical values only). See Field reference for allowed values per registry. | |
| filing_registry | No | Filing source registry. sec_edgar — US SEC EDGAR. fca_nsm — UK FCA NSM. Omit with no ticker/company to list newly ingested filings from both registries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations (readOnlyHint, destructiveHint). It explains the two distinct result structures (one metadata object vs. a filings list), details the document_type and announcement_type fields, and describes how parameter combinations affect behavior. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose and then systematically explains modes and field details. It is slightly verbose but every sentence adds value. The structure is logical and easy to parse.
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?
Given the complexity (two modes, multiple parameters, no output schema), the description is remarkably complete. It covers all parameter combinations, result structures, field meanings, and enum values. The agent has sufficient information to decide when and how to use the tool.
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?
With 60% schema description coverage, the description compensates by explaining the effect of omitting ticker/company, the role of filing_registry, and the meaning of document_type values including FCA press subtypes. This adds value beyond the schema, though ticker and company parameters lack explicit descriptions.
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 clearly states the tool returns the latest filing metadata for a company or ticker and explains both modes (with company/ticker and without). It is specific about the verb and resource, but does not explicitly differentiate from sibling tools like get_filing_toc or list_filings, so a 4 is appropriate.
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?
The description provides explicit guidance on when to use each mode: with ticker/company for a specific company, or omit them for newly ingested filings. It also advises omitting filing_registry in the latter mode to include both SEC and FCA. This is clear contextual guidance, though it does not list alternative tools or when to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filingsARead-onlyInspect
List available filings for a ticker (newest first) with artifact_document_id and dates. Use filing_registry=fca_nsm for UK FCA NSM reports. Use this first when you need a specific reporting period. Each row includes Filing metadata object. Includes document_type (Canonical document type. SEC: 10-K, 10-Q, 20-F, 6-K, 8-K. FCA: annual, half-year, press.) and, for FCA press rows, announcement_type (FCA press subtype when document_type is press; null for annual and half-year. Values: 1st Quarter Results, 2nd Quarter Results, 3rd Quarter Results, 4th Quarter Results, Final Results, Preliminary Results, Share Buyback, Trading Update.).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| ticker | No | ||
| company | No | ||
| document_type | No | Optional document type filter (canonical values only). See Field reference for allowed values per registry. | |
| filing_registry | No | Filing source registry. sec_edgar — US SEC EDGAR filings. fca_nsm — UK FCA National Storage Mechanism. Omit to search both registries. | sec_edgar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so the description only needs to add behavioral details. It adds ordering ('newest first'), output fields (artifact_document_id, dates, Filing metadata object), and explains document_type and announcement_type semantics. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main action, followed by usage guidance, then output details. It is somewhat lengthy due to enumerating announcement_type values, but all information is relevant. No filler.
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?
No output schema exists, so the description carries the burden of explaining return values. It does so by describing row contents (artifact_document_id, dates, Filing metadata, document_type, announcement_type). It also provides context for registry selection. However, it omits details on limit behavior and how ticker vs company interact, leaving small gaps.
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 only 40% (document_type and filing_registry have descriptions; limit, ticker, company lack schema descriptions). The description clarifies filing_registry usage and expands on document_type and announcement_type values, but does not explain limit, ticker, or company parameter semantics, leaving partial compensation for the low coverage.
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 begins with 'List available filings for a ticker (newest first) with artifact_document_id and dates', clearly specifying the verb (List), resource (filings), and scope (ticker, ordering). It distinguishes from sibling tools like get_latest_filing and get_filing_toc by focusing on listing all filings, not a specific one.
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?
It provides explicit usage guidance: 'Use filing_registry=fca_nsm for UK FCA NSM reports' and 'Use this first when you need a specific reporting period.' This indicates when to use it, though it does not explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_node_contentARead-onlyInspect
Return content for one or more navigation nodes in a filing. Pass one node via node_id or several via node_ids, using the node ids from TOC lines (the same values shown as NODE_ID lines in this tool's output). Returns plain MCP text: an ARTIFACT_DOCUMENT_ID header, then per-node blocks with NODE_ID, TITLE, CITATION_URL, CITATION_MARKDOWN, CONTENT_START … CONTENT_END. Each block's CITATION_URL links to the reader location for that node; CITATION_MARKDOWN is the same link as ready-to-paste markdown TITLE. A requested TOC node may expand into more granular child NODE_ID blocks, each with its own TITLE, CITATION_URL, and CITATION_MARKDOWN. Responses that include citations end with a CITATIONS_IN_THIS_RESPONSE list.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | No | Single node id from TOC / NODE_ID lines. For FCA filings this is the HTML page id (e.g. pf2a, page12, pageView1). | |
| node_ids | No | Batch read: multiple node ids for one filing (same identifiers as NODE_ID / TOC). | |
| artifact_document_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnlyHint annotation by detailing the output format (ARTIFACT_DOCUMENT_ID, NODE_ID, TITLE, CITATION_URL, etc.), the behavior of expanding TOC nodes into child blocks, and the inclusion of a CITATIONS_IN_THIS_RESPONSE list. This enriches the agent's understanding of what to expect from the invocation.
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?
The description is a single dense paragraph but well-structured with clear sequences: input method, output format, expansion behavior, and citations. Every sentence adds value, though it is longer than strictly necessary. Still, it avoids redundancy and effectively front-loads the core purpose.
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?
Despite lacking an output schema, the description thoroughly explains the return format, including field names and meanings, citation link behavior, and node expansion. This gives the agent everything needed to invoke the tool and interpret results without ambiguity.
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 coverage is 67% (node_id and node_ids have descriptions, artifact_document_id does not). The description compensates by explaining how node_id and node_ids relate to TOC/NODE_ID lines, and it clarifies their usage with examples like 'pf2a, page12'. artifact_document_id is implied through the context 'in a filing,' though not explicitly described.
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 clearly states the tool's function: 'Return content for one or more navigation nodes in a filing.' It specifies the resource (navigation nodes within a filing) and the action (return content), distinguishing it from sibling tools like get_filing_toc and list_filings, which handle different aspects.
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?
The description provides clear usage context by explaining how to pass node ids from TOC lines and the distinction between single and batch reads. It doesn't explicitly exclude alternatives, but the purpose (reading content) implies when it should be used versus TOC retrieval. This meets the 'clear context, no exclusions' benchmark.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_sec_event_filingsARead-onlyInspect
Search US SEC 8-K and 6-K current-report nodes for company events and disclosures. Use this to discover issuers across a date range. Do not use this for 10-K or 10-Q filings. How to search:
Always pass query with likely verbatim disclosure phrases. Each item is an exact adjacent-token phrase. Put alternate full phrasings in the same list. Do not put broad topic words such as "China", "AI", "customer", or "restructuring" alone in query.
For open-ended discovery, also pass concept_groups. Every group is required (AND). Within each group's any_of list, one alternative must match (OR). All groups match inside one filing node. Use separate groups for the main context, action or direction, business object or metric, and a causal or limiting relation when that relation is essential.
Add real synonyms and alternate filing language to any_of. The concept path uses English stemming, so one base form usually covers inflections (decline/declined/declining and volume/volumes). Stemming does not add synonyms (sales does not mean revenue; reduce does not mean weaken).
Exact phrase matches receive a score boost. Concept groups are a fallback for different wording. If concept_groups is omitted, the search is exact-phrase only.
Use date filters for time and tickers to search only selected issuers. Pass ne_tickers (or prefix a symbol with !) to omit issuers.
Results are candidates, not final conclusions. Call read_node_content with each promising document_id and node_id(s). Verify negation, causal claims, comparisons across periods, and numeric thresholds such as a percentage or dollar amount in the source text. Cite CITATION_MARKDOWN. When you finish an issuer, search again with the same inputs and add its ticker to ne_tickers so later hits come from other issuers. Examples of useful group dimensions include geography + weakening signal + demand metric; CapEx + reduction + guidance; AI/automation + enablement + workforce + reduction; customer + loss/concentration; data centers + exposure + monetization; or restructuring + program/charge. Do not add a group for a detail that the filing may leave implicit, because every group is mandatory. Each result is one filing node: document_id, node_id, parent_node_id, ticker, type, filing_date, match_mode, query, score, and a short snippet.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum unique matches to return across all query phrases. At most 3 matches come from one filing. | |
| query | Yes | Required exact disclosure phrases (max 8). Each phrase requires adjacent tokens in order and does not use stemming. Send complete event phrasings, not standalone topics. Examples: ["reduced capital expenditures", "lower capital spending"]; ["lost a major customer", "termination by our largest customer"]; ["workforce reduction", "reduce headcount"]. | |
| tickers | No | Optional. Search only these issuers (example: ["NVDA", "MSFT"]). Prefix a symbol with ! to omit it (same as ne_tickers). Max 50. Omit to search all issuers. | |
| end_date | Yes | Inclusive end date on filing_date (YYYY-MM-DD) | |
| ne_tickers | No | Optional. Omit these issuers (example: ["HOOD"] or ["!HOOD"]). After you finish read_node_content for a ticker, search again with that ticker here. Exclude wins if a ticker is in both lists. Max 50. | |
| start_date | Yes | Inclusive start date on filing_date (YYYY-MM-DD) | |
| concept_groups | No | Optional stemmed concept fallback for broad discovery. Every group must match in the same node (AND). Any one alternative inside any_of can satisfy its group (OR). Use 2-5 focused groups in most searches. Supply synonyms and alternate filing terms, but omit simple inflections because English stemming handles them. Do not use this field to prove numeric thresholds, negation, causality, or changes across several filings; retrieve candidates and verify those claims with read_node_content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive annotations, it discloses exact adjacent-token phrase matching, stemming behavior, score boosts, concept-group fallback, candidate-only output, and a max of 3 matches per filing. This adds substantial behavioral context without contradicting the annotations.
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?
Long but structured and front-loaded: purpose first, then a numbered search procedure, then concrete examples. The detail is warranted for a complex query tool, though a small amount of duplication with schema descriptions exists.
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?
Even without an output schema, it enumerates exact result fields and explains that results are candidates requiring verification via read_node_content. It covers query construction, date/ticker filtering, exclusions, and follow-up searching, so nothing essential is missing.
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 coverage is complete, and the description adds high-value nuance: query phrases must be verbatim adjacent-token phrases, concept_groups are AND across groups and OR within any_of, steming does not add synonyms, broad topic words should not be used alone, and ticher/ne_ticker semantics are clarified.
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?
States a specific verb and resource: 'Search US SEC 8-K and 6-K current-report nodes for company events and disclosures.' It also scopes the use case ('discover issuers across a date range') and explicitly excludes 10-K/10-Q, making it distinguishable from sibling filing-access tools.
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?
Provides explicit when-to-use and when-not-to-use guidance: 'Use this to discover issuers across a date range. Do not use this for 10-K or 10-Q filings.' It also directs follow-up verification to read_node_content and describes the iterative ne_tickers workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
SEC-signed profiles for 8,000+ US public companies from EDGAR filings. Token-efficient.
SEC EDGAR for AI agents: company filings, financials and insider trades. No API keys.
SEC filing intelligence for AI agents. Financials, screening, peer comparison for 5,000+ companies.
SEC EDGAR filings for AI agents: company lookup, filings, financials, insider trades. No keys.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides AI assistants direct access to SEC EDGAR filing data — financials, filings, and filing text — with no API key required.
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to search, retrieve, and analyze SEC 10-K filings with hybrid BM25+kNN retrieval, per-claim citations, and strict numeric grounding verification.
- AlicenseAqualityBmaintenanceProvides access to SEC EDGAR financial data, enabling AI agents to fetch company filings, financial metrics, and narrative sections. It supports natural-language metric searching and extracts structured data from 10-K, 10-Q, and 8-K reports.6MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to download, parse, and analyze SEC EDGAR filings, including 10-K/Q reports, XBRL financial statements, and insider trading data. It provides structured access to institutional holdings, corporate events, and financial facts for comprehensive investment research.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool maps to a distinct step in the filing workflow—listing, latest metadata, TOC, node content, and event search—but get_latest_filing and list_filings both return filing metadata with similar fields, and get_filing_toc can also resolve the latest filing. The descriptions clarify the differences well, yet an agent could still hesitate between these overlapping entry points.
All tool names follow a clear verb_noun pattern: get_filing_toc, get_latest_filing, list_filings, read_node_content, search_sec_event_filings. There is no mixed casing or vague verb usage, and each object noun is specific to its role.
Five tools is a well-scoped count for a filing retrieval and search server. The set covers discovery, metadata access, TOC navigation, content reading, and targeted event search without redundant tools or obvious bloat.
The core lifecycle is covered: discover filings, get filing metadata, navigate the TOC, and read cited node content. Minor gaps exist, such as no full-text search over 10-K/10-Q filings and no direct metadata lookup by an arbitrary document_id, but these can be worked around using list_filings and read_node_content.