TickerFacts
Server Details
SEC EDGAR fundamentals as agent tools: look up or screen US public companies. Free, no key, CC0.
- Status
- Healthy
- Uptime
- 99.9% over 36 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct data domain: reviewed event evidence, company research, economic series, single-company fundamentals, batch fundamentals, and screening. The only close pair, get_fundamentals and get_fundamentals_batch, is clearly separated by single-ticker full history versus multi-ticker newest-period behavior.
All data access tools follow a get_<domain>_<object> pattern, giving the set a predictable feel. However, get_fundamentals and get_fundamentals_batch omit the company_ prefix used elsewhere, and screen_companies is the only imperative verb rather than a get_ form, so it is not perfectly uniform.
Six tools is well-scoped for a financial data/education server: each covers a distinct operation and none are redundant. The set is neither thin nor bloated, and the single/batch fundamentals split is justified by different use cases.
For a read-only research/education server, the surface is largely complete: fundamentals, screening, company research, evidence, and economic context are all represented. Minor gaps remain, such as the lack of a dedicated company-name lookup or broader event-level search, but agents can work around these with the existing tools.
Available Tools
6 toolsget_company_evidenceAInspect
Read short, verified primary-source passages for reviewed company events, with source URLs, section labels, dates, hashes and predecessor links where reviewed. Selective coverage only: no passages means unreviewed, not no events. Quotes normalize whitespace; financial histories are not automatically reconciled across events.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | US ticker symbol, e.g. AAPL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so well. It discloses that only reviewed events have passages, that absent passages mean unreviewed rather than no events, and that quotes are whitespace-normalized while financial histories are not reconciled. These caveats materially affect how an agent should interpret results.
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?
Three sentences, front-loaded with the core function and followed by essential caveats. Every sentence adds value and there is no filler or redundant restating of schema information.
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?
For a one-parameter read tool with no output schema, this description adequately explains the returned data by naming passage types and attached metadata, and it gives explicit rules for interpreting missing and inconsistent data. An agent can correctly anticipate behavior and handle empty responses appropriately.
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 100%: the single parameter ticker is already documented as 'US ticker symbol, e.g. AAPL'. The description adds no new parameter-level semantics, so the baseline score of 3 applies.
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 the specific verb 'Read' and names the exact resource: short, verified primary-source passages for reviewed company events. It enumerates the included attributes (source URLs, section labels, dates, hashes, predecessor links), which clearly distinguishes it from siblings like get_fundamentals and get_company_research.
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 useful interpretive context, especially 'no passages means unreviewed, not no events', which tells an agent how to treat empty results. However, it never explicitly states when to prefer this tool over get_company_research or other siblings, nor does it give exclusion conditions. Usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_researchAInspect
Company filings, quarterly insider transaction disclosures, aliases, headquarters and legal-entity relationships, with source licenses and explicit coverage dates. Not a live trading feed. For research and education only; not financial advice or an investment signal.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | US ticker symbol, e.g. AAPL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose useful behavioral traits: not live, source licenses, explicit coverage dates, and research-only intent. It does not describe response format or data freshness, but it gives meaningful caveats beyond the schema.
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?
Two compact sentences front-load the data contents and then list limitations; no filler. Every clause adds information.
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?
For a one-parameter tool with no output schema, the description explains the main return categories and coverage/licensing context, which is sufficient for basic invocation. It could be more complete by stating the response shape or updating cadence, but the gaps are minor.
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?
The only parameter, ticker, is fully described in the schema ('US ticker symbol, e.g. AAPL'), so the description need not add parameter detail. The description adds no extra parameter semantics, matching the baseline for high schema 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 identifies the resource by enumerating contents (filings, insider transactions, aliases, headquarters, legal-entity relationships) and distinguishes it from a live trading feed. It lacks an explicit main verb like 'returns' or 'retrieves,' so it stops short of a 5.
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 explicitly frames the tool for research/education and warns it is not a live trading feed or financial advice, giving clear context and exclusions. It does not name sibling alternatives such as get_fundamentals, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_economic_contextAInspect
Selected government Treasury yields and BLS inflation, employment and wage series, with observation dates, units and reuse provenance. For research and education only; not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses what data is included and its provenance, but does not describe return format, time range, update frequency, or whether data is point-in-time or current. The 'not financial advice' caveat adds some behavioral context.
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?
Two concise sentences with no filler. The core content description is front-loaded, and the usage restriction is a single clear clause at the end.
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?
For a no-parameter tool with no output schema, the description reasonably covers what the tool returns, units, provenance, and usage limits. Minor gaps include lack of time-range or formatting details, but these are not critical for selecting and invoking a parameterless data-retrieval 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?
There are zero parameters and the schema is empty, so the baseline is 4. The description compensates by explaining exactly what data content the tool provides, which is the only semantics relevant here.
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?
Description names a specific resource: selected Treasury yields and BLS inflation, employment, and wage series, with observation dates, units, and provenance. It clearly distinguishes this macro/economic-data tool from the company-focused siblings like get_company_research and get_fundamentals.
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?
States the intended context ('For research and education only; not financial advice') and implies use when economic context is needed, but does not explicitly state when to prefer this over sibling tools or mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fundamentalsAInspect
SEC-derived annual observations with exact dates, units and source filings for a US public company, by ticker symbol. Includes coverage gaps, metric definitions, requested/canonical identity, dataset SHA-256 and research links. Empty annual history is unavailable, not zero; current-CIK history is not reconciled across reorganizations. Data traces to SEC EDGAR filings. For research and education only; not financial advice or a recommendation to buy, sell or hold.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | US ticker symbol, e.g. AAPL | |
| metrics | No | Comma-separated canonical metric keys, e.g. revenue,operating_income,capex; omitted means all curated metrics. | |
| periods | No | Newest annual period groups to return; omitted means all available. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and largely succeeds: it reveals data provenance (SEC EDGAR), the distinction between unavailable and zero values, the non-reconciliation of current-CIK history across reorganizations, and the research-only nature. This is materially more than a typical read-tool description and includes concrete data caveats.
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 dense but front-loaded: core purpose first, then contents, then caveats, provenance, and disclaimer. Every sentence earns its place; there is no padding.
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 no output schema and no annotations, the description tells the agent what to expect (dates, units, filings, coverage gaps, definitions, hashes, links) and flags the two most dangerous misinterpretations (empty-as-zero and reorganization reconciliation). It is complete enough for correct invocation.
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 100% and each parameter already has a meaningful description, so the baseline applies. The description adds contextual color like 'annual' and 'by ticker symbol' but no param-specific information beyond the schema.
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 states the tool returns SEC-derived annual observations with exact dates, units, and source filings for a specific US public company ticker. It is clear and specific, but it never explicitly contrasts itself with the sibling get_fundamentals_batch or other data tools, so differentiation is left to inference.
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 guidance is given on when to choose this tool over get_fundamentals_batch, get_company_evidence, or screen_companies. The closest usage signal is 'by ticker symbol', implying single-company data, but no exclusions, prerequisites, or alternative routing are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fundamentals_batchAInspect
Read annual fundamentals for 1–20 comma-separated ticker symbols in one request. Defaults to one newest period per issuer; optional metrics projection. Each result keeps requested/canonical identity and source lineage; unknown tickers produce per-entry errors. No historical point-in-time filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| metrics | No | Comma-separated canonical metric keys, e.g. revenue,operating_income,capex; omitted means all curated metrics. | |
| periods | No | Newest annual period groups per issuer; default 1, maximum 20. | |
| tickers | Yes | 1–20 comma-separated tickers, e.g. MSFT,GOOGL,AMZN |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses defaults, optional metrics projection, identity/source lineage preservation, per-entry errors for unknown tickers, and the lack of historical point-in-time filtering—all beyond what the schema states.
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 with no wasted words. The primary purpose is front-loaded, and each subsequent sentence adds meaningful behavioral detail without repeating schema content.
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 having no output schema, the description provides a solid picture of expected behavior: batch scope, defaults, per-entry errors, and identity/lineage preservation. It does not specify the exact response structure or error format, but for a read-oriented batch tool this is reasonably complete.
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 100%, so the baseline is 3. The description adds useful behavioral nuance: periods default to 'one newest period per issuer,' metrics are framed as an 'optional projection,' and tickers are explicitly 1–20 comma-separated. This clarifies parameter behavior beyond the raw schema.
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 states a specific verb and resource: 'Read annual fundamentals' with explicit batch scope '1–20 comma-separated ticker symbols in one request.' It clearly differentiates itself from the sibling get_fundamentals by emphasizing the multi-ticker batch capability.
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 makes it clear this tool is for reading fundamentals for multiple tickers in one request. It also provides an exclusion by stating 'No historical point-in-time filtering,' implying a different tool is needed for historical data, though it does not name that alternative explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_companiesAInspect
Find US public companies whose latest annual period fundamentals match filters (minimum revenue, margins, ROE, growth; sector; profitable-only), sorted and limited. Returns a ranked list of companies with their key figures. Data traces to SEC EDGAR filings. For research and education only; not financial advice or a recommendation to buy, sell or hold.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Match ticker prefix, company name, industry or sector | |
| sort | No | Sort column; prefix with - for descending. e.g. -revenue (default), net_margin, -return_on_equity, revenue_growth | |
| limit | No | Max results, 1-100 (default 25) | |
| sector | No | One of: Agriculture, Mining, Construction, Manufacturing, Transportation & Utilities, Wholesale Trade, Retail Trade, Finance & Real Estate, Services, Public Administration | |
| roe_min | No | Minimum return on equity, percent | |
| currency | No | Reporting currency, default USD; all for name-sorted discovery without monetary filters | |
| exchange | No | Exchange name, e.g. Nasdaq or NYSE | |
| industry | No | Industry substring, e.g. semiconductors | |
| profitable | No | Only companies with positive net income | |
| revenue_min | No | Minimum annual revenue in the selected reporting currency (default USD) | |
| net_income_min | No | Minimum annual net income in the selected reporting currency | |
| net_margin_min | No | Minimum net margin, percent | |
| gross_margin_min | No | Minimum gross margin, percent (e.g. 40) | |
| total_assets_min | No | Minimum total assets in the selected reporting currency | |
| debt_to_equity_max | No | Maximum total-liabilities / year-end-equity ratio (legacy parameter name) | |
| revenue_growth_min | No | Minimum year-over-year revenue growth, percent | |
| operating_margin_min | No | Minimum operating margin, percent |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden. It mentions 'Find' and 'Returns a ranked list' and notes data provenance (SEC EDGAR), but does not explicitly confirm read-only behavior or potential side effects, leaving some ambiguity.
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 two concise sentences, front-loaded with the primary purpose, followed by output and provenance. No redundancy or 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?
The description provides a solid overview of features (filters, sorting, limiting) and data source, but lacks explicit details on the exact structure of returned data (e.g., list of fields). Given the tool's complexity, this is a minor gap.
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 100% with detailed parameter descriptions. The tool description adds little beyond an overall summary (e.g., 'sorted and limited') — baseline 3 is appropriate.
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?
Description explicitly states the tool's action ('Find US public companies matching filters') and resource (companies), clearly distinguishing it from sibling tools like get_fundamentals which likely fetch data for a single company.
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 implies screening across companies but does not explicitly state when to use this tool over alternatives. No direct comparison with siblings is provided, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Added
get_company_evidence - Changed
get_fundamentals3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / metricsAdded value: +{ + "description": "Comma-separated canonical metric keys, e.g. revenue,operating_income,capex; omitted means all curated metrics.", + "type": "string" +} - added
Input schema / properties / periodsAdded value: +{ + "description": "Newest annual period groups to return; omitted means all available.", + "maximum": 20, + "minimum": 1, + "type": "integer" +}
- Added
get_fundamentals_batch
2 tool updates
- Added
get_company_research - Added
get_economic_context
1 tool update
- Changed
screen_companies8 fields changed- added
Input schema / properties / currencyAdded value: +{ + "description": "Reporting currency, default USD; all for name-sorted discovery without monetary filters", + "type": "string" +} - changed
Input schema / properties / debt_to_equity_max / descriptionPrevious value: -"Maximum debt-to-equity ratio"New value: +"Maximum total-liabilities / year-end-equity ratio (legacy parameter name)" - added
Input schema / properties / exchangeAdded value: +{ + "description": "Exchange name, e.g. Nasdaq or NYSE", + "type": "string" +} - added
Input schema / properties / industryAdded value: +{ + "description": "Industry substring, e.g. semiconductors", + "type": "string" +} - changed
Input schema / properties / net_income_min / descriptionPrevious value: -"Minimum annual net income, USD"New value: +"Minimum annual net income in the selected reporting currency" - changed
Input schema / properties / q / descriptionPrevious value: -"Match ticker prefix or company-name substring"New value: +"Match ticker prefix, company name, industry or sector" - changed
Input schema / properties / revenue_min / descriptionPrevious value: -"Minimum annual revenue, USD (e.g. 1000000000 for $1B)"New value: +"Minimum annual revenue in the selected reporting currency (default USD)" - changed
Input schema / properties / total_assets_min / descriptionPrevious value: -"Minimum total assets, USD"New value: +"Minimum total assets in the selected reporting currency"
2 tool updates
- First observed
get_fundamentals - First observed
screen_companies
Related MCP Connectors
SEC EDGAR filings for AI agents: company lookup, filings, financials, insider trades. No keys.
SEC EDGAR filings for AI agents: company lookup, filings, financials, insider trades. No keys.
SEC EDGAR financials, insider trading, and economic data for AI agents. US GAAP + IFRS.
SEC EDGAR financials, benchmarks, screening & Buffett value scans for agents. Pay x402 or API key.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides free SEC filing fundamentals for US public companies, including financial statements, 10-K/10-Q summaries, and 8-K event histories. No API key or signup required.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to research US public company filings, financials, and insider transactions using SEC EDGAR data, with no API keys required. Provides tools for company lookup, recent filings, full-text search, financial facts, and insider activity.MIT
- AlicenseAqualityCmaintenanceEnables AI agents to query US public company financial data from SEC filings, with tools for resolving tickers, listing filings, retrieving financial concepts, comparing companies, extracting filing sections, and full-text search. It surfaces data ambiguities like tag variations, restatements, and fiscal-year misalignment rather than hiding them.6MIT
- AlicenseNot gradedqualityBmaintenanceGive your AI agent live SEC EDGAR data: company financials, insider trades, 8-K events, 13F holdings, and the raw filings stream — all normalized to clean JSON, every number traceable back to its sec.gov source filing.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.