Canli Fundamentals
Server Details
SEC fundamentals point in time: first reported, known as of a date, every restatement.
- Status
- Healthy
- Uptime
- 100.0% over 29 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- arhancanli/canlicapital
- GitHub Stars
- 0
TDQS
Scored across 7 tools
The point-in-time trio overlaps: `known_as_of` largely duplicates the 'as known on a filing date' mode of `history`, and `restatements` vs `vintages` both surface revision information (aggregate list vs per-period filing chain). The descriptions do clarify the intended axis (multi-company single-measure vs single-company multi-measure vs per-period revision), so boundaries are inferable but require careful reading.
All snake_case, which is good, but the conventions are mixed: verb_noun (`find_company`, `list_concepts`), bare nouns (`history`, `restatements`, `vintages`), and adverbial/prepositional names (`known_as_of`, `cross_section`). Readable, but an agent cannot guess a tool's name from its action.
Seven tools is well-scoped for a fundamentals/XBRL data server: discovery, time series, point-in-time views, and revision tracking each get one or two dedicated tools with no filler.
Coverage is strong end-to-end: identity resolution, concept discovery, history, as-of snapshots, cross-sectional peer pulls, and revision/vintage auditing. Minor gaps exist (e.g. no cross-sectional multi-concept screening, ratios only inside `known_as_of`, no direct filing/document retrieval), but core analytical workflows are reachable.
Available Tools
7 toolscross_sectionCross-section as of a dateARead-onlyIdempotentInspect
Get one measure for up to 50 companies as filed by a date: each one's latest period, its value then, and whether it was later restated. For point-in-time peer and factor work.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | Yes | Only filings on or before it count. | |
| concept | Yes | Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues). | |
| periods | No | annual (default) or quarterly. | |
| companies | Yes | Tickers, CIKs or names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| as_of | No | |
| limits | No | |
| columns | No | |
| concept | No | |
| meaning | No | |
| missing | No | |
| companies | No | |
| truncated | No | |
| next_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower; the description still adds meaningful semantics: which filing date governs ('as filed by a date'), that the latest period per company is selected rather than a fixed period, that the value reflects the state at that time, and that restatement status is surfaced. It omits error behavior and result ordering, keeping it out of 5 territory.
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 front-loaded sentence with the verb, the binding constraints, and the payload described in order; the closing clause on intended use is brief and non-redundant. No filler sentences.
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?
With an output schema present, return-shape explanation is unnecessary, and annotations carry the safety profile, so the description only needs to cover point-in-time semantics — which it does, including the 50-company ceiling and restatement awareness. Its one gap is not situating the tool against the similarly scoped siblings.
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%, so the schema already documents as_of, concept, periods, and companies, meaning the baseline is 3. The description reinforces the as-of semantics ('as filed by a date') and the single-measure nature of 'concept', but adds nothing about the annual/quarterly 'periods' option or identifier formats beyond what the schema states.
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 names a specific verb and resource ('Get one measure for up to 50 companies as filed by a date') and even enumerates the three things returned per company (latest period, value, restatement flag). It implicitly separates itself from a time-series sibling like 'history' by stressing a single per-company point, but it never names a sibling explicitly, so it falls 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?
Only 'For point-in-time peer and factor work' is offered as usage context. There is no statement of when NOT to use it, and no routing against the close siblings 'known_as_of', 'vintages', 'history', or 'restatements', which a reader could easily confuse with this tool. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_companyFind a companyBRead-onlyIdempotentInspect
Find a company's SEC CIK and tickers by name, ticker or CIK. The other tools also take a name as company.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 8. | |
| query | Yes | Name (Exxon Mobil), ticker or CIK. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| query | No | |
| total | No | |
| limits | No | |
| columns | No | |
| meaning | No | |
| resolved | No | |
| truncated | No | |
| next_offset | No | |
| ticker_holder | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds nothing beyond that – no note on open-world lookups, result ambiguity, or match behavior. It does not contradict annotations, so no flag.
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 very short sentences, front-loaded with the core purpose. The trailing sibling remark is of limited value but costs little space; sizing is appropriate.
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 need not be explained, and annotations carry the safety profile. The description covers the core lookup and inputs adequately; only guidance on result handling/open-world behavior 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 description coverage is 100%: both query and limit are documented in the schema. The description's mention of 'name, ticker or CIK' duplicates the schema's query description without adding format or semantics. Baseline 3 for fully documented 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?
States a clear verb+resource ('Find a company's SEC CIK and tickers') and specifies the accepted input identifiers (name, ticker, CIK). It does not differentiate from siblings like cross_section or history, but those appear to be unrelated data-retrieval tools rather than overlapping lookups.
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 second sentence 'The other tools also take a name as company' is an observation about sibling tools, not guidance on when to use this tool. No when-to-use, when-not, or alternative-selection guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historyMeasure historyARead-onlyIdempotentInspect
Get a measure (or several, with concepts) over time, newest first: latest (default), first reported, or as known on a filing date, with its filing, other version and yearly change.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | Default: the unit with most periods. | |
| as_of | No | A filing date, not a period end: only filings made by then count. | |
| basis | No | latest (default), first_reported, or as_of (default with as_of). | |
| limit | No | Default 20, newest first. | |
| company | Yes | Ticker (AAPL), CIK or company name. | |
| concept | No | Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues). | |
| periods | No | annual (default), quarterly, or all (adds year-to-date). | |
| concepts | No | Instead of concept: 2-6 measures. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| basis | No | |
| total | No | |
| limits | No | |
| series | No | |
| columns | No | |
| company | No | |
| concept | No | |
| meaning | No | |
| snapshot | No | |
| truncated | No | |
| next_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds ordering ('newest first') and basis-selection semantics, but says nothing about pagination, truncation at the limit, or what 'other version' and 'yearly change' actually mean in the result.
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?
A single dense sentence that front-loads the core action and then enumerates the basis variants. It is efficient, though the clause 'with its filing, other version and yearly change' is a compressed output description that reads awkwardly.
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?
With 8 params at full schema coverage, an output schema, and rich annotations, the description supplies enough to call it correctly. Minor gaps: no mention that concept and concepts are mutually exclusive, and no note on the limit default interacting with 'newest first'.
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 goes further by explaining the concept/concepts relationship ('or several, with concepts') and framing as_of as 'as known on a filing date' with 'first reported' as the alternative view, adding semantic glue the schema fields only state individually.
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 (get a measure over time) plus scope details: newest-first ordering, basis variants, and multi-measure via concepts. It does not name or differentiate against overlapping siblings like known_as_of, restatements, or vintages, so an agent must infer which tool handles the as-of/restatement case.
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 notes the default basis (latest) and that as_of implies basis=as_of, which is useful implied guidance. But it never says when to prefer this over known_as_of, restatements, or vintages, which is exactly the ambiguity an agent faces with six sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
known_as_ofKnown as of a dateARead-onlyIdempotentInspect
Get what a company had reported as of a date: per measure, the latest period filed by then, its value, and whether it was later restated; optionally ratios from those filings. For point-in-time backtests.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | Yes | Decision date: only filings on or before it count. | |
| ratios | No | Adds margins, ROE, ROA, leverage, free cash flow. | |
| company | Yes | Ticker (AAPL), CIK or company name. | |
| periods | No | annual (default) or quarterly. | |
| concepts | No | Default: ten common measures. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| as_of | No | |
| limits | No | |
| ratios | No | |
| columns | No | |
| company | No | |
| meaning | No | |
| missing | No | |
| snapshot | No | |
| truncated | No | |
| next_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety profile is covered. The description adds genuine behavioral context beyond them: results are point-in-time scoped and carry a flag telling whether the figure was later restated, which materially affects how an agent interprets a row.
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?
A single dense sentence with the resource and the returned detail front-loaded, followed by the use case. Nearly every clause earns its place, though the colon-separated list of return fields makes it slightly packed.
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?
With a full output schema, rich annotations, and 100% parameter coverage, the description only needs to supply intent and point-in-time semantics, and it does both. It is complete enough to call correctly, missing only explicit sibling routing.
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% and all five parameters are documented in the schema (ticker/CIK/name, decision-date rule, annual/quarterly, concept list, ratios). The description only restates the ratios option and implies period selection, adding little beyond the schema, so the baseline 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?
States a specific verb ('Get') and a precise resource/dataset ('what a company had reported as of a date'), then enumerates the returned elements: latest period filed by then, its value, the restatement flag. It is unambiguous but never names or contrasts the nearest siblings (vintages, restatements, history), so the agent must infer the boundary.
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?
'For point-in-time backtests' gives a concrete intended-use context, which is more than implied guidance. It stops short of 5 because it offers no exclusions or explicit routing to alternatives like history or vintages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_conceptsList conceptsBRead-onlyIdempotentInspect
List the XBRL concepts a company reports and the plain names it supports, with units, periods, date range and restated-period counts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 40. | |
| offset | No | next_offset from the last page. | |
| search | No | Words in concept names or labels, e.g. revenue. | |
| company | Yes | Ticker (AAPL), CIK or company name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| limits | No | |
| columns | No | |
| company | No | |
| matched | No | |
| meaning | No | |
| concepts | No | |
| snapshot | No | |
| truncated | No | |
| next_offset | No | |
| plain_names | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world and non-destructive, so the safety profile is covered. The description adds the returned facets (units, periods, date range, restated-period counts), which is genuinely useful context, but does not cover pagination semantics (limit/offset) or ordering.
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?
A single, front-loaded sentence with no wasted words. It puts the resource first and then enumerates the returned facets efficiently.
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?
With an output schema present, the description need not explain return values, and it correctly stays at a high level while implying the facets available. The main missing piece is pagination/ordering behavior and when to choose this tool over siblings, but the core contract is 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 each of the four parameters is already documented in the schema, including the limit/offset and search semantics. The description mentions units/periods/restated counts, which describe output rather than adding parameter-level meaning. 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?
States a clear verb (List) and resource (XBRL concepts), and adds useful scope detail ('a company reports', 'plain names it supports'). It does not explicitly differentiate from siblings like find_company or cross_section, but the resource is specific enough to be selectable.
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 when-to-use guidance or alternatives are named. The description implies this is a discovery/inspection call scoped to one company, but it never says when to prefer list_concepts over cross_section or history, nor any prerequisites around the 'company' value being required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restatementsRestated periodsARead-onlyIdempotentInspect
List periods whose value changed in a later filing, with first and latest values, % change and cause (stock splits left out by default). Omit concept to scan everything.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 25, newest first. | |
| since | No | Only periods ending on or after. | |
| offset | No | next_offset from the last page. | |
| company | Yes | Ticker (AAPL), CIK or company name. | |
| concept | No | Default: every concept. | |
| periods | No | annual (default), quarterly, or all (adds year-to-date). | |
| include_splits | No | Also list stock-split changes; default false. | |
| min_change_pct | No | Minimum absolute change, % of first value. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| limits | No | |
| changed | No | |
| columns | No | |
| company | No | |
| meaning | No | |
| scanned | No | |
| snapshot | No | |
| truncated | No | |
| next_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world behavior, so the safety profile is covered. The description adds meaningful context annotations cannot: stock-split-driven changes are excluded by default and the result carries cause attribution. That is real behavioral disclosure beyond the structured fields, though no pagination or rate-limit detail is offered.
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 sentences, no filler. The core definition and payload are front-loaded, and the trailing clause about omitting concept is a useful, compact instruction.
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?
With an output schema present, the description isn't obliged to explain return shape, and it still briefly characterizes the fields. Combined with full schema coverage and rich annotations, an agent has enough to invoke correctly; only cross-tool routing guidance is thin.
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%, so every one of the eight parameters is already documented (limit default/newest-first, since, offset via next_offset, concept default, periods enum, include_splits, min_change_pct). The description only restates the concept-default behavior rather than adding syntax or format meaning, so baseline 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?
States a specific verb (List) and resource (periods whose value changed in a later filing), and enumerates the payload the agent gets back (first and latest values, % change, cause). This cleanly separates it from siblings like vintages or history, which concern as-filed data rather than restatements.
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 gives one usage hint -- 'Omit concept to scan everything' -- which tells the agent how to broaden the query. It never states when to prefer this tool over vintages, history, or known_as_of, nor any prerequisites. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vintagesFiling vintagesARead-onlyIdempotentInspect
List every filing that reported one period of one measure, oldest first: the revision history behind a number.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | Period end. | |
| unit | No | Default: the unit with most periods. | |
| start | No | Period start, when several periods share the end (quarter vs year-to-date). | |
| company | Yes | Ticker (AAPL), CIK or company name. | |
| concept | Yes | Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues). |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| limits | No | |
| columns | No | |
| company | No | |
| concept | No | |
| meaning | No | |
| snapshot | No | |
| truncated | No | |
| filing_url | No | |
| next_offset | No |
TDQS
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, so the safety and idempotency profile is covered. The description adds ordering ('oldest first') and the scoping constraint (one period of one measure), which is useful, but says nothing about result size or pagination.
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?
A single front-loaded sentence with the verb and resource up front and the framing clause after the colon. No padding and nothing redundant.
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 need not be explained, and annotations carry the safety profile while the schema fully documents parameters. The only gap is routing guidance relative to the overlapping siblings, which keeps it short of a 5.
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%, so all five parameters are already documented, including unit defaults and the start/end quarter-vs-YTD distinction. The description only loosely maps 'one period of one measure' to the end/concept pair and adds no syntax or format detail beyond the schema, so the baseline 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?
States a specific verb (List), resource (every filing), and scope (one period of one measure, oldest first), framing the result as a revision history. It is clear what the tool returns, but it does not explicitly differentiate itself from close siblings like restatements or history, which an agent might reasonably reach for instead.
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 phrase 'the revision history behind a number' implies the use case, but there is no explicit when-to-use statement, no when-not-to-use, and no named alternative such as restatements or history. The agent must infer selection from the description alone.
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 tool update
- Changed
history5 fields changed- changed
Input schema / properties / as_of / descriptionPrevious value: -"Only filings made on or before this date count, for every basis."New value: +"A filing date, not a period end: only filings made by then count." - changed
Input schema / properties / basis / descriptionPrevious value: -"first_reported (default), latest, or as_of (default when as_of is set)."New value: +"latest (default), first_reported, or as_of (default with as_of)." - added
Input schema / properties / conceptsAdded value: +{ + "description": "Instead of concept: 2-6 measures.", + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 6, + "minItems": 2, + "type": "array" +} - changed
Input schema / requiredPrevious value: -[ - "company", - "concept" -]New value: +[ + "company" +] - added
Output schema / properties / seriesAdded value: +{ + "items": { + "additionalProperties": {}, + "properties": {}, + "type": "object" + }, + "type": "array" +}
7 tool updates
- First observed
cross_section - First observed
find_company - First observed
history - First observed
known_as_of - First observed
list_concepts - First observed
restatements - First observed
vintages
Related MCP Connectors
SEC EDGAR filings, XBRL facts and normalized financial statements, point-in-time by acceptance.
Verified SEC filing data for US equities: fundamentals, point-in-time values, 13F holders, insiders
Read-only fundamentals of developed-market listed companies from official filings, with dates.
SEC company fundamentals and filing events, each with its source filing. Pay per call with x402.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to look up SEC company fundamentals point in time: what a company first reported, what was known on any given date, and which values were later restated, with the filing behind each value. Supports querying history over time, tracing every vintage of a period, and resolving measures such as revenue or EPS across the XBRL tags a company has used.773 npm1MIT

akyla-mcpofficial
AlicenseAqualityDmaintenanceProvides as-reported US equity fundamentals, live quotes, financial statements, valuation comps, and a screener from SEC filings, with per-cell filing provenance for citations.7MIT- 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

EvidInvestofficial
AlicenseNot gradedqualityBmaintenanceSEC-filed financial statements back to 1985 for US-listed companies, plus global coverage, every number cited to its filing with an accession number. 59 tools for income statements, balance sheets, cash flow, growth rates, valuation (DCF, reverse DCF, comparables, fair-value range), SEC filing and earnings-call search, supply chains, 13F holders, options positioning and thesis monitoring.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.