Skip to main content
Glama

Server Details

UK company data: profiles, iXBRL financials, directors, PSC chains, ECCTA. Hosted, no key.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 51 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
vdmeu/registrum-mcp
GitHub Stars
1
Server Listing
RegistrumMCP

TDQS

A4.3/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target a distinct resource (search, profile, compliance, directors, financials, network, PSC, PSC chain), and get_psc vs get_psc_chain is a clear immediate-vs-recursive split. However, get_bundle is an explicit superset of five other tools, creating intentional redundancy that could cause an agent to be unsure when to call the individual endpoints versus the aggregate.

Naming Consistency5/5

All tools follow a clean verb_noun convention (get_company, get_compliance, get_directors, get_financials, get_network, get_psc, get_psc_chain) with search_company the only verb variation, which reads naturally. No mixing of camelCase and snake_case or inconsistent verb styles.

Tool Count5/5

Nine tools is well within the ideal 3-15 range for a read-oriented company-data API. Each tool maps to a distinct Companies House data domain and none feels gratuitous, aside from the deliberate bundle aggregation.

Completeness4/5

The surface covers search, profile, compliance, officers, financials, PSC, ownership chains, and corporate networks, which is strong lifecycle coverage for company intelligence. Minor gaps remain for common Companies House data such as filing history and charges/mortgages, but agents could work around these for most tasks.

Available Tools

9 tools
get_bundleGet a whole company in one requestAInspect

Get several views of one UK company in a single request: profile, ECCTA compliance, financials, PSCs and directors. Prefer this over calling get_company, get_compliance, get_financials, get_psc and get_directors separately - it returns the same data for one API call and one credit instead of five, and in a single round trip. Pass include to fetch only the sections you need; omit it to get all five. The profile is always returned. Partial results are normal and are not errors: any section can come back null when it is unavailable for that company or not included in the caller's plan - financials are null for a company that has filed no machine-readable accounts, and compliance requires a Pro plan. Report a null section as 'not available', never as a failed lookup or as an absence of the underlying fact. Only a missing company is an error, and that is a 404. Each section carries exactly what its own endpoint returns, including ECCTA verification_status on individuals, so the pending-versus-overdue rules apply here too.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoSections to fetch. Omit for all five. Valid values: profile, compliance, financials, psc, directors. The profile is always included regardless.
company_numberYesCompanies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits.

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly. It discloses that partial results are normal, null sections mean 'not available' rather than failure, only a missing company is an error and produces a 404, compliance requires a Pro plan, and ECCTA verification_status rules apply to individuals.

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 dense but every sentence earns its place: the core purpose is front-loaded, followed by usage preference, parameter guidance, null semantics, and error behavior. There is no filler or repetition of schema details.

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?

For a tool with no output schema and no annotations, this description is remarkably complete. It explains what the response contains, how to interpret missing sections, when to use alternatives, and what constitutes an actual error, leaving no critical ambiguity for an AI agent.

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?

Schema coverage is already 100%, but the description adds meaning beyond the schema: omitting include fetches all five sections, the profile is always returned, and each section matches what its standalone endpoint returns. This gives the agent the behavioral context needed to choose the right parameter combination.

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 names a specific verb and resource: getting several views of one UK company in a single request, explicitly listing profile, compliance, financials, PSCs, and directors. It clearly differentiates itself from the individual sibling tools by positioning itself as the aggregate request.

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?

It explicitly says to prefer this over calling get_company, get_compliance, get_financials, get_psc, and get_directors separately, and explains the benefit: one API call, one credit, one round trip. It also instructs when to use the include parameter versus omitting it.

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

get_companyGet company profileAInspect

Get an enriched profile for a UK company by its Companies House number. Returns name, status, type, incorporation date, registered address, SIC codes with descriptions, accounts status, confirmation statement status, and derived fields like company_age_years and accounts.overdue that are not available from the raw Companies House API.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_numberYesCompanies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits.

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It explicitly states that the tool returns an enriched profile and lists returned fields, including derived fields like company_age_years and accounts.overdue that are not available from the raw Companies House API. The read-only nature is clear from 'Get', and no contradictory side effects are implied.

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 two sentences with no filler. The purpose is front-loaded, and the detailed field list in the second sentence earns its place because it tells the agent exactly what data will be returned and highlights the unique derived fields.

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?

For a simple single-parameter get tool with no output schema, the description is largely complete: it identifies the required input, the company jurisdiction, and the returned profile contents. It does not cover error or not-found behavior, but that is a minor gap for a low-complexity lookup tool.

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 100%, and the schema already documents the parameter thoroughly with pattern, example, and zero-padding instruction. The description only says 'by its Companies House number', adding little beyond the schema, so the baseline score of 3 is appropriate.

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 uses a specific verb ('Get') and resource ('enriched profile for a UK company by its Companies House number'), and enumerates the exact fields returned. This clearly distinguishes it from siblings like get_financials, get_directors, and get_compliance, which target narrower aspects of a company.

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?

The description makes clear that the tool is for retrieving a company profile when the Companies House number is known, and the field list implies when it is useful. However, it does not name any alternatives or exclusions, such as using search_company when the number is unknown, so usage guidance remains implicit 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_complianceCheck ECCTA identity-verification complianceAInspect

Check a UK company's ECCTA identity-verification status - who has verified their identity with Companies House, who is still pending, and who is overdue. The Economic Crime and Corporate Transparency Act requires every director and PSC to verify their identity; enforcement begins 18 November 2026, after which unverified officers can block filings. Returns per-company counts (directors_total, directors_verified, directors_pending, directors_overdue) and the same for PSCs, plus unverified_persons with each person's name, role, status and their individual deadline. IMPORTANT: 'pending' means the deadline has not yet passed - it is NOT a failure and must not be reported as one. Only 'overdue' means a deadline was missed. Requires a Pro plan or above. Cached for 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_numberYesCompanies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits.

TDQS

A4.5/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It explicitly discloses that the tool returns counts and unverified_persons details, clarifies the critical distinction between 'pending' and 'overdue', and mentions the 24-hour caching and Pro plan requirement. This is thorough behavioral disclosure beyond just naming the operation.

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 front-loaded with the core purpose and then adds necessary context, return shape, important caveats, and operational details. Each sentence earns its place; the legal context is not filler because it explains the relevance of 'overdue' and enforcement. Despite length, it remains focused and structured.

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 there is no output schema, the description thoughtfully explains exactly what will be returned and how to interpret ambiguous terminology. It covers plan requirements, caching, and deadline implications. The single-parameter tool is simple, and the description leaves little an agent needs to infer.

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?

The schema provides 100% coverage of the single parameter, including format, example, and zero-padding guidance. The description adds nothing new about company_number beyond implying it identifies the company. Baseline 3 is appropriate because structured schema already documents the parameter well.

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?

Description clearly identifies the resource (a UK company's ECCTA identity-verification status) and the specific action (check). It distinguishes itself from siblings by focusing on compliance/verification state rather than raw company or officer data. The return fields are named, leaving no ambiguity about what the tool does.

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 clear context for when this tool is appropriate: whenever a director or PSC's ECCTA identity-verification status is needed. It does not explicitly name alternatives or exclusion conditions, but the compliance-specific language makes the intended use obvious. The Pro plan requirement is also stated.

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

get_directorsGet company officers (directors and secretaries)AInspect

Get the current and past officers for a UK company. Despite the tool name, not every entry is a director: the list is the full officer register, so each entry carries an officer_role such as 'director', 'secretary', 'corporate-secretary' or 'llp-member', plus an is_board_director boolean that is false for secretaries. Report each person by their own officer_role - never describe the whole list as directors. Each officer includes name, officer_role, is_board_director, appointment date, resignation date (if applicable), nationality, occupation, month and year of birth, ECCTA verification status, and a list of other companies they are or were appointed to, each with its own officer_role. This gives you a full picture of an officer's corporate history in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_numberYesCompanies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits.

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries full disclosure burden and does so exceptionally well. It reveals the critical behavior that not every entry is a director, lists example officer_role values, explains the is_board_director flag, and instructs the agent to report each person by their actual role. It also discloses the nested list of other companies, making response behavior predictable.

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?

The description is front-loaded with the core action, followed by necessary clarifications and field enumeration. It is longer than minimal, but each sentence adds value, especially the role-reporting instruction that prevents a common misuse.

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?

Since there is no output schema, the description compensates by listing each officer's fields, roles, and the nested other-company appointments, while also warning about the director misnomer. Minor gaps remain, such as pagination and error behavior, but they are not critical for a single-parameter read tool.

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?

The input schema already has 100% coverage, including a description, pattern, and an example for company_number. The tool description adds no additional parameter semantics, so the baseline of 3 is appropriate.

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 ('Get') and resource ('current and past officers for a UK company'), and explicitly distinguishes the tool from its misleading name by clarifying it returns the full officer register, not just directors. This clearly separates it from related sibling tools like get_psc.

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?

Provides clear context about scope: current and past officers, full register, and corporate history, so an agent can infer when to use it for officer-related queries. It does not explicitly exclude alternatives such as get_psc or get_network, but the described data makes the use case evident.

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

get_financialsGet company financialsAInspect

Get structured financial data for a UK company, parsed from its iXBRL accounts filed at Companies House. Returns revenue, cost of sales, gross profit, operating profit, net profit, fixed assets, current assets, total equity, net assets, creditors, and average employees for the current and prior reporting year. Also includes accounts_type (full, abbreviated, micro, dormant or unknown) and a data_quality block indicating which fields were extracted and which were absent. period_end is the end of the accounting period the figures cover (the year the accounts end), NOT the date the accounts were filed; the filing date is data_quality.filed_on. Other data_quality fields: filing_type (Companies House form code: AA, AAMD or AC(NI)), period_end_source and accounts_type_source (how those two values were determined), and accounts_description_code (the verbatim Companies House code, e.g. unaudited-abridged, micro-entity). Unaudited-abridged, small and audit-exemption-subsidiary filings are abbreviated, not full, and carry no profit and loss (check has_profit_loss). accounts_type is unknown when it could not be determined; do not assume full. The response can be available: false with an unavailable_reason: image_pdf (accounts filed as a scanned PDF, common for large companies such as Tesco), no_ixbrl_filings (no digital filing), or dissolved. That means no figures could be extracted; it does not mean the company has no accounts. Cached for 7 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_numberYesCompanies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits.

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full load and does so richly: it discloses the 7-day cache, the available:false failure modes with three distinct reasons (image_pdf, no_ixbrl_filings, dissolved), and explicitly warns that unavailable does not mean no accounts exist. It also flags that abbreviated filings carry no P&L and that accounts_type unknown must not be assumed to be full — behavior an agent would otherwise get wrong.

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-loads the purpose and the returned fields before the caveats, and almost every sentence carries unique information. It is dense and long, with the data_quality field breakdown approaching output-schema detail, but with no output schema present that detail is arguably load-bearing.

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?

There is no output schema, so the description must describe returns, and it enumerates the key figures, the accounts_type/data_quality blocks, the period_end-vs-filed_on distinction, and the unavailable states. An agent has enough to interpret results correctly without further documents.

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 100% and there is a single required parameter, so the schema already documents company_number fully, including the zero-padding rule. The description adds no parameter-level guidance 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.

Purpose5/5

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

States a specific verb+resource ('Get structured financial data for a UK company') and further scopes it to iXBRL accounts filed at Companies House, which clearly separates it from siblings like get_company or get_compliance.

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?

Usage is implied by the data source and enumerated fields, but there is no explicit when-to-use vs when-not guidance and no alternative sibling is named (e.g. get_company for profile data). The caveats about abbreviated filings and unavailable:false imply when results will be empty, which is helpful but not framed as routing guidance.

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

get_networkGet director networkAInspect

Map the corporate network connected to a UK company via shared directors. Returns all companies connected through shared board members, up to the specified depth. Each connected company includes its name, number, status, and the directors it shares with the focal company. Useful for identifying corporate group structures, related party relationships, and director interlocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoTraversal depth: 1 = direct connections only, 2 = connections of connections (default 1). Depth 2 can return many results for large companies.
company_numberYesCompanies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits.

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It clearly indicates a read-only behavior ('Map... Returns'), explains traversal semantics ('all companies connected through shared board members, up to the specified depth'), and describes the output fields. It does not mention pagination or de-duplication, but the schema's depth warning helps cover volume concerns.

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 concise and well-structured: one sentence for purpose, one for output and traversal, and one for use cases. Each sentence earns its place with no redundancy or filler.

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?

Given there is no output schema, the description compensates by enumerating returned fields (name, number, status, shared directors) and explaining the depth parameter's effect. It lacks explicit error or pagination behavior, but for a simple two-parameter read tool, the description plus schema provide sufficient context.

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 100%, with both parameters already having detailed descriptions. The tool description adds only generic references like 'focal company' and 'specified depth,' which do not meaningfully extend the schema's parameter documentation. Baseline 3 is appropriate.

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 action ('Map the corporate network') and the resource ('connected to a UK company via shared directors'). It distinguishes itself from siblings like get_directors by focusing on the interconnected network of companies rather than a single company's director list. The scope and output are explicitly described.

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 clear use cases: 'identifying corporate group structures, related party relationships, and director interlocks.' It does not explicitly name alternative tools or state when not to use it, but the network-specific framing makes its applicability clear relative to single-entity siblings.

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

get_pscGet persons with significant controlAInspect

Get the PSC (Persons with Significant Control) register for a UK company. Returns individuals, corporate entities, and legal persons who own 25%+ of shares, hold 25%+ of voting rights, or have significant influence or control. Each PSC includes decoded control types in plain English (e.g. 'Owns 25-50% of shares' instead of raw codes). Individual PSCs also carry ECCTA identity verification: verification_status (verified, pending, overdue or unknown), identity_verified, identity_verified_on, and verification_deadline. pending means that person's deadline has not yet passed and is not a compliance failure; unknown means Companies House publishes no record for them, an absence of data rather than a breach. Only overdue means a deadline was missed. Corporate entity PSCs carry none of the verification fields. Their company_number is set only for a confirmed Companies House registration and is otherwise null, so never treat a null as a missing value to look up. What they filed is in registry_number and registry_name, and registry_is_companies_house says how to read it: true is a Companies House registration, null means a number was filed but cannot be tied to the UK register (e.g. a foreign registry), false means no number was filed. kind can be unknown for a PSC type we do not classify, with Companies House's verbatim string in kind_raw. Also detects PSC exemptions for listed PLCs. Cached for 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_numberYesCompanies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits.

TDQS

A4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly: it explains caching (24 hours), that corporate PSCs carry no verification fields, the meaning of verification_status values (pending is not a failure, unknown is absence of data, only overdue is a breach), and the tri-state registry_is_companies_house. These are exactly the behavioral nuances an agent cannot infer from structured fields.

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 purpose before field semantics, and nearly every sentence earns its place by disambiguating a field value. It is a dense unbroken paragraph with no formatting for the many field-by-field rules, and a couple of clauses (e.g. the null-lookup warning) restate the same point, so it is slightly heavier than ideal.

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?

There is no output schema and no annotations, so the description must supply both the return shape and the behavioral profile; it does, covering PSC types, verification fields, registry fields, kind/kind_raw fallback, exemptions, and cache lifetime. An agent has what it needs to call and interpret the result.

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?

Only one parameter and schema description coverage is 100%, so the schema already documents company_number, its pattern, and zero-padding. The description adds no syntax or format detail beyond that, so the baseline of 3 applies.

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 opening sentence gives a specific verb and resource ('Get the PSC register for a UK company') and the body scopes exactly what is returned (individuals, corporates, legal persons with 25%+ control). It never distinguishes itself from the closely related sibling get_psc_chain, so an agent facing both must guess, which keeps it off a 5.

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?

Usage is implied by the domain: call it to obtain a company's PSC register. There is no explicit when-to-use, no when-not, and no routing to alternatives such as get_psc_chain or get_directors, which is a real gap given the overlapping sibling. The embedded 'never treat a null as a missing value to look up' is data-interpretation advice rather than tool-selection guidance.

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

get_psc_chainResolve PSC ownership chain to find ultimate beneficial ownersAInspect

Trace the full ownership chain for a UK company by recursively following corporate entity PSCs. Returns a tree showing who ultimately controls the company - natural persons (UBOs), foreign entities, or legal persons - along with why each branch terminated. Each node has a terminal_reason: natural_person, foreign_entity, legal_person, super_secure, unverified_registry, unknown_kind, depth_limit, not_found, cycle_detected, or psc_exempt. Two of those are easy to misread: unverified_registry means a registration number was filed but cannot be tied to the Companies House register (a foreign registry, or one we do not recognise), which is a finding about the ownership structure and not an error or an outage; unknown_kind means Companies House returned a PSC type we do not classify (kind is then unknown), with the raw value in kind_raw. Both are findings, not errors. A corporate node's company_number is set only for a confirmed Companies House registration, otherwise null; the number it filed is in registry_number with registry_name, and registry_is_companies_house is true (Companies House), null (a number was filed but cannot be tied to the UK register) or false (no number filed). ECCTA identity verification: every individual node, at any depth including the ultimate beneficial owners this chain exists to find, carries verification_status (verified, pending, overdue or unknown), identity_verified (true, false for overdue only, or null otherwise), identity_verified_on, and verification_deadline. IMPORTANT: pending means that person's own deadline has not yet passed - it is not a compliance failure and must not be reported as one. A status of unknown means Companies House publishes no record for them, which is an absence of data rather than a breach. Only overdue means a deadline was missed. Corporate, legal-person and super-secure nodes carry none of these fields, so never describe a company itself as having unverified identity. chain_metadata reports how many companies were resolved and the total API credit cost. Use this for KYB (Know Your Business) checks, AML screening, or any task requiring beneficial ownership beyond the immediate PSC layer.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_depthNoMaximum chain depth to traverse (1-10, default 5). Each level costs 1 upstream API call per corporate entity found.
company_numberYesCompanies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and discharges most of it: it enumerates every terminal_reason, pre-empts two common misreadings (unverified_registry, unknown_kind) as findings rather than errors, explains company_number nullability, and warns against reporting 'pending' verification as a breach. It does not state auth/permission needs or read-only nature, and rate limiting is only hinted at via credit cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the body is a dense wall of text that repeats the same idea ('Both are findings, not errors' / 'which is a finding ... and not an error or an outage'). The terminal_reason semantics earn their space, but the redundancy costs readability.

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?

There is no output schema, so the description must document the return value, and it does so thoroughly: chain_metadata, terminal_reason values, per-node fields (company_number, registry_number, verification_status group), and which node types lack verification fields. Nothing an agent needs to call or interpret this tool is missing.

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 100%, so both parameters are already documented, including the per-level API cost of max_depth and the zero-padding rule for company_number. The description adds no parameter-level detail beyond what the schema supplies, so the baseline 3 applies.

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 precise verb and resource ('Trace the full ownership chain... by recursively following corporate entity PSCs') and describes the return shape (a tree terminating in UBOs, foreign entities, or legal persons). It also separates itself from the sibling get_psc by framing the value as 'beneficial ownership beyond the immediate PSC layer'.

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?

Gives concrete context ('Use this for KYB checks, AML screening, or any task requiring beneficial ownership beyond the immediate PSC layer'), which implicitly routes agents away from get_psc for deep chains. There is no explicit when-not-to-use or cost-based exclusion beyond the chain_metadata cost note.

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

search_companySearch for companiesAInspect

Search for UK companies by name. Returns a list of matching companies with their company number, status, type, and registered address. Use this first when you only have a company name and need its company number.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (default 20)
queryYesCompany name or keywords to search for

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It does disclose the return shape: a list of matching companies with company number, status, type, and registered address. However, it does not describe edge-case behavior such as partial matching, empty results, ordering, or pagination, which limits transparency for such a sparse tool.

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 compact, front-loads the core action and result, and adds a clear usage note in only two sentences. Every sentence contributes useful information with no repetition or filler.

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?

For a simple list-search tool with two well-documented parameters, the description is mostly complete: it states the target population, the result fields, and the primary use case. Since there is no output schema, the described return fields are helpful. It could be slightly stronger by noting behavior when multiple companies share similar names, but that is not a major gap.

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 100%, so the schema already explains both parameters. The description adds little beyond reinforcing that the search is by company name and that the company number is a key output. It does not introduce new parameter-level meaning.

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 a specific verb ('Search'), a specific resource ('UK companies'), and the key output (company number, status, type, registered address). The phrase 'Use this first when you only have a company name and need its company number' distinguishes it from the get_* sibling tools that expect a company identifier.

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?

It explicitly tells the agent when to use the tool: when only a company name is available and a company number is needed. It does not list explicit exclusions or compare with alternatives, but the usage context is clear enough to route decisions correctly.

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. 1 tool update
    • Addedget_bundle
  2. 1 tool update
    • Changedsearch_company1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum number of results to return (default 10)"New value: +"Maximum number of results to return (default 20)"
  3. 8 tool updates
    • First observedget_company
    • First observedget_compliance
    • First observedget_directors
    • First observedget_financials
    • First observedget_network
    • First observedget_psc
    • First observedget_psc_chain
    • First observedsearch_company

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides instant access to verified, enriched business intelligence for any UK company, including legal identity, financial health, web presence, and hiring activity in a single call.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Unmodified government company data from 27 registries, live. Cross-border UBO chain walker for AI agents. 60+ tools covering GB, IE, NO, FR, DE, NL, PL, BE, CH, LI, MC, IM, IS, CY, AU, NZ, CA, TW, HK, MY, FI, CZ, ES, IT, KR, US — raw upstream fields preserved, no LLM extraction.
    10
    18
    Apache 2.0
  • F
    license
    B
    quality
    D
    maintenance
    Provides access to UK Companies House public data, enabling search and retrieval of company profiles, officers, filing history, and more through natural language queries.
    12
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables querying UK company data including search, profiles, officers, filings, and persons with significant control via Companies House API.
    338 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.