Skip to main content
Glama

Filing history

list_filings
Read-onlyIdempotent

Retrieve a company's filing history, sorted newest first. Filter by category such as accounts or annual-return. Returns metadata including filing ID, date, and optional document ID for document retrieval.

Instructions

Return a company's filing history, newest first. Each filing has filing_id, filing_date, category, description, and (when upstream exposes one) a document_id that round-trips to get_document_metadata / fetch_document. Raw upstream fields preserved under jurisdiction_data.

Filter via the optional category. Common normalized values: 'accounts', 'annual-return', 'capital', 'charges', 'confirmation-statement', 'incorporation', 'insolvency', 'liquidation', 'mortgage', 'officers', 'resolution'. Native upstream form codes also accepted.

This tool returns metadata only — call fetch_document on document_id for the actual filing bytes. has_document=false means the body is paywalled or unavailable upstream. Pagination uses limit (default 25, max 1000) plus cursor (GB) or offset (IE). Unsupported jurisdictions return 501; call list_jurisdictions for per-country category values and pagination style.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jurisdictionYesISO 3166-1 alpha-2 country code (uppercase). All registries are official government sources. Currently supported: AU, BE, CA, CA-BC, CA-NT, CH, CY, CZ, DE, ES, FI, FR, GB, HK, IE, IM, IS, IT, KR, KY, LI, MC, MX, MY, NL, NO, NZ, PL, RU, TW. Per-country capability, ID format, examples, status mapping, and caveats: call `list_jurisdictions({jurisdiction:'<code>'})`. To find which countries support a specific tool: `list_jurisdictions({supports_tool:'<tool>'})`.
company_idYesRegistry-specific company ID. IE accepts an optional '/B' suffix for the business-name register.
categoryNoOptional category filter. Use a normalized value or the registry's native form code. Call `list_jurisdictions({jurisdiction:'<CC>'})` for the accepted values per country.
limitNoItems per page. Default 25.
offsetNoPagination offset (IE).
cursorNoOpaque pagination cursor returned as `next_cursor` (GB). Omit for first page.
freshNoBypass cache; refetch from upstream.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queried_atYesISO-8601 + Europe/London timezone stamp for when the registry was queried.
itemsNo
total_countNo
next_cursorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.0.4
    • changedInput schema / properties / category / description
      Previous value: -"Optional filter on standardized category. GB: native Companies House category strings. IE: 'accounts'|'annual-return'|'capital'|'charges'|'incorporation'|'insolvency'|'officers'|'prospectus'|'registered-office'|'resolution'. IM: 'annual-return'|'articles'|'memorandum'|'incorporation'|'name-change'|'officers'|'resolution'|'charges' (mapped to upstream AR/AA/MA/INC/CCN/9N/RES/CRS; pass the raw upstream code directly for any other IoM document type). IS: 'annual-return'|'incorporation'|'articles'|'supplementary-notice'|'other', or the Icelandic column names ('Stofngögn'/'Samþykktir'/'Aukatilkynningar'/'Önnur gögn'), or the raw numeric typeid (1/4/5/6/7)."New value: +"Optional category filter. Use a normalized value or the registry's native form code. Call `list_jurisdictions({jurisdiction:'<CC>'})` for the accepted values per country."
    • changedInput schema / properties / cursor / description
      Previous value: -"GB only. Opaque pagination cursor returned by a previous call as 'next_cursor'. Omit for the first page."New value: +"Opaque pagination cursor returned as `next_cursor` (GB). Omit for first page."
    • addedInput schema / properties / fresh / description
      Added value: +"Bypass cache; refetch from upstream."
    • changedInput schema / properties / offset / description
      Previous value: -"IE only. Skip the first N filings (pagination). Combine with limit."New value: +"Pagination offset (IE)."
    • changedOutput schema / properties / items / items / properties / jurisdiction_data / description
      Previous value: -"Full original response fields from the upstream registry, field names unchanged. Shape is jurisdiction-specific — see `list_jurisdictions({ jurisdiction: '<CODE>' })`."New value: +"Full original response fields from the upstream registry, field names unchanged. Shape is jurisdiction-specific - see `list_jurisdictions({ jurisdiction: '<CODE>' })`."
  2. First observedv1.0.3

TDQS

A5/5.0
Behavior5/5

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

The description discloses behavioral traits beyond annotations, such as the preservation of raw upstream fields under jurisdiction_data, the meaning of has_document=false (paywalled/unavailable), and the cache-bypass behavior of the fresh parameter. Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint, and the description does not contradict them.

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?

The description is well-structured and front-loaded with the core purpose. It uses short, informative paragraphs covering response fields, filtering, usage notes, pagination, and error handling. Every sentence adds value without redundancy. It is concise yet comprehensive.

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

Completeness5/5

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

Given the tool's complexity (7 parameters, multiple jurisdictions, pagination, output schema), the description covers all essential aspects: core function, response structure, optional filtering, how to retrieve document bytes, pagination details, error codes, and cache bypass. It references sibling tools for further details, making it complete.

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

Parameters5/5

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

With 100% schema coverage, the baseline is 3, but the description adds significant value: it explains the category parameter's normalized vs native values, the pagination parameters (cursor for GB, offset for IE), and the fresh parameter's meaning. It also clarifies the jurisdiction parameter's format and how to get per-country info. This enriches the schema descriptions.

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?

The description clearly states the tool returns a company's filing history, newest first, specifying the verb 'return' and resource 'filing history'. It distinguishes from sibling tools like fetch_document (actual bytes) and search_companies (search). The description also lists common categories and mentions unsupported jurisdictions, providing a clear purpose.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool (for metadata only) and when not to (call fetch_document for actual filing bytes). It provides guidance on filtering by category, pagination with limit/cursor/offset, and error handling for unsupported jurisdictions. It also directs users to list_jurisdictions for per-country details, offering clear usage guidelines.

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