Seraphix Public Records
Server Details
Dated, source-linked public records about companies, from SEC filings and other primary documents.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Each tool targets a clearly distinct resource and action: get_company (one company by identity), list_companies (the index), get_record (one record by ID), search_records (query-based lookup), get_filings_wire (SEC filing feed), and get_coverage (meta description of scope). There is no meaningful overlap; even the two company tools differ by singular lookup vs. full index listing, and get_coverage is explicitly a scope/meta tool.
All names are snake_case with a predictable verb_noun pattern (get_company, get_coverage, get_filings_wire, get_record, list_companies, search_records). The verb choice is consistent with intent: get for single-item retrieval, list for enumeration, search for querying.
Six tools is well-scoped for a read-only public-records API. Each tool earns its place: identity lookup, index listing, record retrieval, search, filings feed, and a coverage/scope check that prevents false-negative conclusions.
The read-only domain is well covered: identity, enumeration, per-record retrieval, search across records, SEC filings wire, and an explicit coverage statement. Minor gaps exist—search_records and list_companies lack documented pagination/limit parameters, and there is no dedicated state-policy browse tool—but agents can work around these via search and get_company.
Available Tools
6 toolsget_companyGet one company and its coverageARead-onlyIdempotentInspect
Get one covered company by name, former name, SEC CIK or slug: identity (legal name, former names, state of incorporation, SEC EDGAR source), dossier status, a plain-language coverage statement saying which record sections are on file and which are NOT MONITORED (not monitored is not zero), all of its records (reviewed and unreviewed, each with tier), and up to 5 recent SEC filings from the wire. A name matching several companies returns an error listing them; a company outside coverage returns an error (isError) that says so.
| Name | Required | Description | Default |
|---|---|---|---|
| name_or_id | Yes | Company name, former name, SEC CIK (leading zeros optional) or slug, e.g. "Cipher Digital" or "1819989". |
Output Schema
| Name | Required | Description |
|---|---|---|
| company | Yes | |
| records | Yes | |
| coverage | Yes | |
| sections | Yes | |
| dossier_status | Yes | |
| recent_filings | Yes | |
| coverage_statement | Yes | |
| recent_filings_coverage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), and the description adds real behavioral detail on top: ambiguity produces an error listing the matches, out-of-coverage produces an isError, records come back reviewed and unreviewed with tier, and filings are capped at 5. The 'not monitored is not zero' caveat is an important interpretive warning that no annotation or schema conveys.
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?
Front-loaded with verb and resource, and every clause carries information the agent needs (accepted identifiers, payload sections, both error modes, the not-monitored caveat). It is a single very dense sentence, though, and could be broken for scanability without losing 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?
Output schema exists, yet the description still summarizes the payload shape well enough to inform selection, and it covers both error paths an agent will actually hit. For a one-parameter lookup with annotations and an output schema, nothing an agent needs to call it correctly 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?
With a single parameter and 100% schema description coverage, the schema already documents that name_or_id accepts name, CIK (leading zeros optional), or slug, including an example. The description restates the same identifier list without adding format, normalization, or precedence rules, 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 and resource: 'Get one covered company' plus the four accepted identifier forms, and enumerates the payload (identity, dossier status, coverage statement, records, filings). It is clear enough to distinguish from list_companies and search_records, but it never explicitly names a sibling or draws the boundary with get_coverage/get_filings_wire, which return overlapping data.
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?
Usage is implied by the identifier forms ('by name, former name, SEC CIK or slug') and the failure modes: an ambiguous name errors with a list, and out-of-coverage errors with isError. There is no explicit when-to-use-vs-alternatives guidance telling the agent to prefer this over search_records when the exact entity is unknown, so the routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coverageWhat is and is not coveredARead-onlyIdempotentInspect
Describe exactly what Seraphix covers and what it does not, from the published data: companies tracked and their dossier status, states, record counts by tier, each source with its status (OBSERVED, DEGRADED or NOT MONITORED) and last good check, an explicit not-covered list, and the publication rules (source links, company-stated labels, corrections). Call this before concluding that something is absent. Takes no arguments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| rules | Yes | |
| states | Yes | |
| license | Yes | |
| objects | Yes | |
| sources | Yes | |
| summary | Yes | |
| companies | Yes | |
| method_url | Yes | |
| record_url | Yes | |
| source_url | Yes | |
| not_covered | Yes | |
| source_date | Yes | |
| published_at | Yes | |
| reviewed_records | Yes | |
| companies_tracked | Yes | |
| published_records | Yes | |
| unreviewed_records | Yes | |
| companies_with_reviewed_records | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real behavioural context beyond them: it names the source status vocabulary (OBSERVED, DEGRADED, NOT MONITORED), mentions 'last good check' freshness, and notes the presence of an explicit not-covered list and publication rules. It stops short of describing freshness semantics or how stale a 'last good check' might be.
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 purpose is front-loaded in the first clause, and the trailing 'Takes no arguments' is a useful, short operational note. The middle enumeration of returned content is dense and reads as a list-in-prose, but each item corresponds to a distinct coverage dimension rather than 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?
An output schema exists, so the description does not need to specify return structure, and it correctly focuses on scope and the when-to-use rule instead. For a zero-argument, read-only introspection tool this gives the agent everything needed to decide to call it.
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 description confirms this with 'Takes no arguments', which prevents an agent from hunting for optional filters. The baseline for a no-parameter tool is 4; nothing further is needed.
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 and object — 'Describe exactly what Seraphix covers and what it does not' — and enumerates the dimensions of coverage (companies, dossier status, sources, tiers). That framing is clearly distinct from the record-retrieval siblings like get_company and search_records, which return data rather than coverage metadata.
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 gives an explicit when-to-use rule: 'Call this before concluding that something is absent.' That is a concrete decision rule an agent can act on without inference, and for a coverage/schema-introspection tool there is no meaningful exclusion case that needs stating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_filings_wireSEC filings wireARead-onlyIdempotentInspect
List SEC EDGAR filings accepted for the companies Seraphix covers, newest first: company, CIK, form, 8-K item codes and titles, SEC acceptance time (source_date), accession number and the SEC filing URL (source_url). Insider and ownership forms (3, 4, 5, 144, SC 13D/G) are excluded. Notices are machine-extracted index metadata (tier "machine-extracted"), not reviewed records; read the filing itself before relying on it. Optional filters: company, since (acceptance time on or after an ISO 8601 date or date-time), limit. If the wire is unavailable the tool returns an error (isError) with its last good check instead of an empty list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum notices (1-100, default 25). | |
| since | No | Only filings accepted on or after this ISO 8601 date or date-time, e.g. 2026-11-01 or 2026-11-05T13:00:00Z. | |
| company | No | Restrict to one covered company: name, SEC CIK or slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | Yes | |
| total | Yes | |
| filters | Yes | |
| notices | Yes | |
| coverage | Yes | |
| returned | Yes | |
| failed_entities | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description still adds real context beyond them: notices are machine-extracted tier metadata rather than reviewed records, and an unavailable wire returns an isError with the last good check instead of an empty list — an important failure-mode disclosure. It stops short of describing ordering stability or freshness/latency guarantees.
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 purpose and scope, and each sentence contributes something distinct (fields, exclusions, data-quality caveat, filters, error behavior). It is dense but not padded; the returned-field enumeration is the only part that borders on redundant with the output schema.
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 read-only, three-parameter list tool with full schema coverage and an output schema, the description covers everything an agent needs: what the wire contains, what is filtered out, the machine-extracted caveat with an instruction to verify against the filing, and the degraded-mode error response. Nothing material 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%, so the schema already documents limit (1-100, default 25), since (ISO 8601 date or date-time on acceptance time), and company (name, CIK or slug). The description restates these at a high level without adding new syntax or edge-case meaning, 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?
The description opens with a specific verb and resource ('List SEC EDGAR filings accepted for the companies Seraphix covers, newest first') and then enumerates the exact fields returned (company, CIK, form, 8-K item codes, source_date, accession number, source_url). The explicit exclusion of insider/ownership forms (3, 4, 5, 144, SC 13D/G) further sharpens the boundary against the sibling record-search 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?
Usage is implied rather than stated: it is a recency-ordered wire with optional company/since/limit narrowing, and insider forms are out of scope. However, it never names an alternative (e.g., search_records or get_record) or states when an agent should prefer those, so routing between siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recordGet one record with historyARead-onlyIdempotentInspect
Fetch one Seraphix public record by ID, with everything needed to cite and check it: the claim, the verbatim quote, source_url, source title, publisher and locator, source_date, published_at, the primary document, supporting quotes from other filings, the dated history of filings stating the same thing, every version (superseded versions keep their reason and correction source), tier, and a ready-made citation. Record IDs look like SX-07-A-0001. An unknown ID returns an error (isError) saying so; IDs are never reused.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Record ID, e.g. SX-07-A-0001. |
Output Schema
| Name | Required | Description |
|---|---|---|
| record | Yes | |
| coverage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, and the description still adds meaningful context: an unknown ID returns an isError response, and IDs are never reused. It also discloses the shape of the returned data, including that superseded versions retain their reason and correction source.
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?
Front-loaded with the core action and purpose, then the payload. The long mid-sentence enumeration of returned fields is heavier than needed, especially since an output schema exists, but the closing error/ID-reuse 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?
For a single-parameter lookup with a full output schema and complete annotations, the description covers purpose, input format, error behavior, and data semantics. Nothing an agent needs in order to call it correctly 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 100% with a pattern and example, and the description's 'Record IDs look like SX-07-A-0001' largely repeats the schema example. The only added semantic is that unknown IDs error out and are never reused, which is useful but not parameter-level detail.
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: 'Fetch one Seraphix public record by ID.' The 'one ... record' framing clearly distinguishes it from siblings like search_records and get_filings_wire, and the enumerated payload confirms it is the single-record detail tool.
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?
Usage context is clear: exact-ID lookup for citing/checking a record, with the ID format spelled out. It stops short of naming alternatives (e.g., use search_records to find an ID first) or stating when-not to use it, so it is strong but not fully routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_companiesList covered companiesARead-onlyIdempotentInspect
List every company in the Seraphix dossier index (the only companies Seraphix covers), alphabetically, with SEC CIK, role, dossier status (FULL = reviewed sections on file; STUB = identity and SEC filing metadata only), the number of reviewed records, the latest record date, the company page URL and its SEC EDGAR source URL. Takes no arguments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| coverage | Yes | |
| companies | Yes |
TDQS
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 covered. The description adds genuine business semantics beyond that: alphabetical ordering and the FULL vs STUB dossier-status distinction (reviewed sections vs identity plus SEC filing metadata only), which an agent cannot infer from 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?
Front-loaded with the verb and resource, and every clause carries information about the returned record. It is a single dense sentence with a long attribute list, which is efficient but slightly hard to scan compared with a short bulleted enumeration.
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 zero-argument, read-only listing tool with an output schema available, the description covers purpose, scope, ordering, return content and status semantics. Nothing an agent needs in order to decide to call it or interpret the call is absent.
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?
Zero parameters, so the baseline is 4; the description reinforces this with "Takes no arguments." Nothing further is required or missing on this dimension.
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?
Specific verb and resource ("List every company in the Seraphix dossier index") with explicit scope closure ("the only companies Seraphix covers"), plus ordering and the exact set of returned attributes. An agent can distinguish this from get_company or search_records without opening any schema.
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 framing makes clear this is the exhaustive, unfiltered inventory ("every company ... the only companies Seraphix covers") and "Takes no arguments" implies filtering must go elsewhere, but no sibling is named explicitly as the alternative for filtered lookups. Clear context, no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recordsSearch public recordsARead-onlyIdempotentInspect
Search Seraphix public records: dated, source-linked statements taken from primary documents (SEC filings, statutes, official codes) about the companies Seraphix covers and state data-center policy. Matching is case-insensitive; every word of query must appear in the record (claim, verbatim quote, title, company, source title or fields). Results are newest record_date first. By default only reviewed records are returned; pass tier "all" to include unreviewed ones. Each result has the record URL to cite, source_url, source_date, published_at, tier and version. An empty result means no matching record in Seraphix coverage, not that no such fact exists; call get_coverage to see what is covered. No news, prices or information about individuals.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | "reviewed" (default) or "all" to include unreviewed records. | reviewed |
| type | No | Record section: sites, power, incentives, water_permits or policy. | |
| limit | No | Maximum results (1-50, default 10). | |
| query | No | Words to match, e.g. "Barber Lake" or "300 MW". Omit to list records by the other filters. | |
| since | No | Only records whose record_date is on or after this ISO 8601 date, e.g. 2026-01-01. | |
| company | No | Restrict to one covered company: name, former name, SEC CIK or slug (see list_companies). |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| total | Yes | |
| filters | Yes | |
| results | Yes | |
| coverage | Yes | |
| returned | Yes |
TDQS
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 covered; the description goes well beyond that with matching semantics (case-insensitive, every query word must appear, exact set of fields scanned), sort order (newest record_date first), the default reviewed-only filter, and the meaning of an empty result set. These are exactly the behavioral traits an agent cannot infer from 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?
Front-loaded with purpose, then mechanics, then edge-case routing and scope exclusions, with no filler sentences. The middle portion is dense and runs long in a single block, which slightly hurts scannability, but every clause carries operational 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?
With six optional parameters, two enums and an output schema, this definition covers the decisions an agent must make: how matching works, what the default filter hides, how results are ordered, and what to do when nothing comes back. Enumerating result fields is mildly redundant against the output schema but reinforces citability of returned records.
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 still adds real meaning by explaining that `query` is an all-words AND match across specific fields and that omitting it degrades to a filtered listing, and by restating the tier default's practical effect. It does not elaborate on `since`/`type` beyond what the schema already says, which is acceptable given full 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?
States a specific verb and resource ("Search Seraphix public records") and immediately qualifies the corpus: dated, source-linked statements from SEC filings, statutes and official codes about covered companies and state data-center policy. It also bounds the scope negatively ("No news, prices or information about individuals"), so an agent can tell what this tool will and will not return without opening the schema.
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?
Gives clear routing for the most important edge case: an empty result means a coverage gap, not a factual absence, and the agent should call get_coverage. It also explains how to list rather than search (omit `query`) and how to widen scope (tier "all"), and points to list_companies for the company filter. It stops short of distinguishing this tool from get_record or get_filings_wire, which is the remaining gap.
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.
6 tool updates
- First observed
get_company - First observed
get_coverage - First observed
get_filings_wire - First observed
get_record - First observed
list_companies - First observed
search_records
Related MCP Connectors
Primary-source SEC filing intelligence for AI agents, with exact evidence and provenance.
Dated funding and SEC 8-K events, each linked to the filing it came from.
SEC filings, company financials, holdings, earnings calls, stock prices, options and macro data.
Detect material changes in public companies since a specified date using primary sources.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables sales agents to retrieve dated funding and SEC 8-K event evidence for companies, with source document links, to identify timely buying signals.-
- -licenseNot gradedqualityNot gradedmaintenanceEnables deep analysis of SEC EDGAR filings through universal company search, document content extraction, and advanced filing search capabilities. Provides AI-ready access to business descriptions, risk factors, financial statements, and full-text search across any public company's SEC documents.-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to query point-in-time U.S. public-record data — federal contracts, congressional and insider trades, lobbying, and regulatory publications — along with AI-infrastructure physical data such as data-center sites, permits, backup-generator capacity, and grid demand. Every record is tied to the company and ticker valid on the day it became public, with publication lags applied so results can be joined without look-ahead.MIT
- AlicenseAqualityAmaintenanceEnables AI agents to research US companies from official public data, covering SEC EDGAR filings, XBRL financials, Form 4 insider trades, cross-company financial comparisons, and Secretary of State business-entity lookups for NY, CO, OR, CT, and PA. Responses are compact JSON with source URLs and paging options, keeping token usage low without requiring API keys.1074 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.