Skip to main content
Glama

PtData

Server Details

Point-in-time US equity fundamentals for quants and AI agents. Free tier, no API key needed.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation4/5

get_fundamentals and get_earnings_event both involve as-reported financial figures and could be confused at first glance, but the descriptions distinguish event-level earnings data from point-in-time metric snapshots. get_filing_metadata and get_index_constituents are clearly separate.

Naming Consistency5/5

All tools follow the same get_<resource> snake_case pattern, making the naming predictable and easy to parse. There are no mixed conventions or vague verb choices.

Tool Count4/5

Four tools is a reasonable, focused surface for a point-in-time financial data server. It is slightly thin but each tool covers a distinct data category rather than being redundant.

Completeness4/5

The surface covers point-in-time fundamentals, SEC filings, earnings events, and index membership, which are core to the apparent domain. Minor gaps such as direct price history or ticker search exist but can likely be worked around.

Available Tools

4 tools
get_earnings_eventGet earnings eventB
Read-onlyIdempotent
Inspect

Earnings event: 8-K acceptance timestamp, as-reported figures, and the derived realized price reaction. fiscal_period is FY or Q1..Q4.

NameRequiredDescriptionDefault
tickerYes
fiscal_yearYes
fiscal_periodYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior. The description adds the returned data components, but does not disclose behavior for missing events, partial data, or error conditions, so it adds only moderate context beyond annotations and the output schema.

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?

Two compact sentences with no wasted wording. The content summary is front-loaded, and the lone parameter clarification is appended efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers return values and annotations cover safety, so the description needn't repeat those. However, it omits usage guidance and leaves ticker/fiscal_year semantics unspecified, which are meaningful gaps for a three-required-parameter lookup tool.

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

Parameters2/5

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

Schema description coverage is 0%, and the description clarifies only fiscal_period ('FY or Q1..Q4'). It says nothing about ticker formatting or fiscal_year semantics, leaving two required parameters dependent on name and type alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource ('Earnings event') and enumerates the specific contents it returns: 8-K acceptance timestamp, as-reported figures, and derived realized price reaction. This distinguishes it from siblings like get_fundamentals or get_filing_metadata, though the verb is implied rather than stated as 'Retrieve'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. An agent must infer usage from the tool name and sibling names alone.

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

get_filing_metadataGet filing metadataB
Read-onlyIdempotent
Inspect

SEC filings for ticker available on as_of_date, newest first, with amendment linkage.

NameRequiredDescriptionDefault
tickerYes
form_typeNo
as_of_dateYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: results are ordered newest first, amendments are linked to their originals, and the as_of_date defines availability rather than filing date. It stops short of saying whether the result set is paginated or bounded.

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?

A single front-loaded clause with zero filler; every element (resource, ticker, availability date, ordering, amendment linkage) earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and annotations cover the safety profile, so return values and side effects need no elaboration. However, for a tool with completely undocumented parameters, omitting form_type's semantics and the date format leaves a real gap an agent could trip over.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, so the description must carry the load. It clarifies ticker and as_of_date in passing (availability cutoff) but says nothing about form_type, the only optional filter, leaving the agent to guess whether it is an exact match, a prefix, or a list.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (SEC filings) scoped by ticker and as_of_date, plus two distinguishing traits: newest-first ordering and amendment linkage. An agent can distinguish it from get_earnings_event, get_fundamentals and get_index_constituents by resource domain alone, though the description never states which sibling it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use, when-not-to-use, or alternative routing; the agent must infer that this is the filings tool and the siblings cover other data. Nothing says what happens if form_type is omitted or whether to prefer a different tool for a point-in-time snapshot.

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

get_fundamentalsGet point-in-time fundamentalsA
Read-onlyIdempotent
Inspect

Point-in-time fundamentals for ticker as known on as_of_date (YYYY-MM-DD). Returns each available metric's value for the fiscal period with source + knowledge time + lineage under metrics. Any requested metric with no value appears under unavailable with {reason, available_alternatives, docs_url} instead of being silently dropped — e.g. asking a bank/broker/insurer for revenue explains that financials report an as-reported revenue FAMILY and lists the populated members (net_interest_income, noninterest_income, total_net_revenue, premiums_earned, net_investment_income, total_revenue). Check unavailable before concluding a figure does not exist.

NameRequiredDescriptionDefault
tickerYes
metricsYes
as_of_dateYes
fiscal_yearNo
fiscal_periodNoFY

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond: request metrics with no value are never silently dropped but returned under `unavailable` with reason, alternatives, and docs_url, including the bank/broker/insurer revenue-family example. That is exactly the kind of non-obvious behavior an agent needs to interpret results correctly.

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 the core scope, then the failure-mode behavior. The parenthetical enumeration of revenue-family members is long but earns its place by making the `unavailable` semantics concrete; overall it is dense but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and the description still usefully frames the return structure (metrics vs unavailable, with source/knowledge time/lineage). The only shortfall is the unexplained fiscal_year/fiscal_period parameters, which leaves a small hole for a point-in-time tool where period selection matters.

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

Parameters3/5

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

Schema coverage is 0%, so the description must carry the load: it does clarify the YYYY-MM-DD format for `as_of_date` and the role of `metrics` as a requested-metric list. However, `fiscal_year` and `fiscal_period` (with its 'FY' default) are never explained, leaving meaningful gaps.

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?

States a specific verb-resource pair ('point-in-time fundamentals') plus the exact scoping axes (ticker, as_of_date). This is plainly distinct from the siblings (earnings events, filing metadata, index constituents), so an agent can select it without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a strong operational rule — inspect `unavailable` before concluding a figure does not exist — which is a real usage directive. It does not explicitly compare itself to the sibling tools or state exclusions, but the scope is narrow enough that the context is clear.

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

get_index_constituentsGet index constituentsA
Read-onlyIdempotent
Inspect

S&P 500 (or other index) constituents as understood on as_of_date (YYYY-MM-DD), survivorship-free. Point-in-time, with lineage.

NameRequiredDescriptionDefault
indexYes
as_of_dateYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is fully covered. The description adds genuinely non-obvious behavioral guarantees beyond that: results are survivorship-free, reflect the index as understood on the as_of_date, and carry lineage — all material to trusting the data. It does not discuss pagination or result size, but the output schema covers structure.

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?

Two compact sentences with the resource stated first and the data-quality qualifiers front-loaded; every phrase ('survivorship-free', 'point-in-time', 'with lineage') adds information. The fragmentary style without a verb is slightly clipped but costs no clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only tool with a full annotation set and an output schema, most needs are met. The remaining gap is the index identifier format, which is the single most likely source of a failed call, and 'with lineage' is left unexplained.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden. It does specify the as_of_date format (YYYY-MM-DD) and pins its meaning to point-in-time index membership, and it gives 'S&P 500' as an example index value. However, it never clarifies the expected index identifier format (e.g., 'SPX' vs '^GSPC' vs 'S&P 500'), which is a real ambiguity for a required parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource (index constituents) and the key dimension (as of a given date), which cleanly distinguishes it from siblings like get_fundamentals or get_filing_metadata that return entirely different data. It lacks an explicit verb ('returns'/'fetches'), but the resource+qualifier framing leaves no ambiguity about what is produced.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Phrases like 'survivorship-free' and 'point-in-time' strongly imply the intended use case (historical/backtest analysis rather than current snapshot lookups), but the description never states when to use this tool versus alternatives or any exclusions. Usage is inferred rather than guided.

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.

  1. 4 tool updates
    • First observedget_earnings_event
    • First observedget_filing_metadata
    • First observedget_fundamentals
    • First observedget_index_constituents

Publisher details

Operator
PtData S.A.
Operator website
https://ptdata.io
Vendor relationship
First-party
Trust center
Not available
Restrictions
Free tier needs no key (200 requests/day per IP). Higher limits and commercial use need a paid plan (Pro $49/mo, Scale $199/mo).

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides AI agents with clean, normalized access to financial data including company fundamentals, insider trades, SEC filings, macro series from FRED, real-time quotes, and ETF holdings.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides as-reported US equity fundamentals, live quotes, financial statements, valuation comps, and a screener from SEC filings, with per-cell filing provenance for citations.
    7
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Financial data and research MCP for AI agents: filings with full-text and fact search, statements as reported, earnings, insider and institutional ownership, corporate events, executives, analyst data, company discovery and research signals for US, China and Japan equities. Every figure traced to its filing. Browser sign-in.
    9
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources