registrum-mcp
Server Details
UK company data: profiles, iXBRL financials, directors, PSC chains, ECCTA. Hosted, no key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- vdmeu/registrum-mcp
- GitHub Stars
- 1
- Server Listing
- RegistrumMCP
Available Tools
9 toolsget_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.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Sections to fetch. Omit for all five. Valid values: profile, compliance, financials, psc, directors. The profile is always included regardless. | |
| company_number | Yes | Companies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does so thoroughly: partial results are normal, sections may be null for plan or data reasons, compliance requires a Pro plan, financials can be null when no machine-readable accounts exist, verification_status semantics carry over, and only a missing company is an error. This gives a complete null/error handling model.
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 long but front-loaded with the core purpose, and every subsequent sentence earns its place by addressing an operational concern such as credits, nulls, plan restrictions, and 404s. It is dense with actionable guidance rather than filler.
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?
Despite having no output schema, the description compensates by specifying what each section contains, how nulls should be reported, how plan restrictions affect results, and what constitutes an actual error. An agent has enough context to invoke the tool correctly and interpret responses.
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?
The schema already documents both parameters at 100% coverage, including valid include values, omission behavior, and the profile-always-included rule. The description restates this guidance but adds no new parameter-level meaning beyond what the schema provides.
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 resource ('several views of one UK company in a single request'), and enumerates the five sections. It clearly distinguishes itself from get_company, get_compliance, get_financials, get_psc, and get_directors by framing itself as the batched alternative.
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?
Explicitly says to prefer this tool over the five sibling endpoints when multiple views are needed, explaining the benefits: one API call, one credit, one round trip. It also instructs when to pass or omit include, and tells the agent how to distinguish null sections from a genuine 404 missing-company error.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company_number | Yes | Companies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns derived fields like company_age_years and accounts.overdue, which is useful context. However, it does not mention any side effects, data freshness, rate limits, or authentication requirements, and being a read operation, it never explicitly confirms non-mutating behavior.
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 two sentences, front-loaded with the main action and resource, then efficiently enumerates the returned fields. Every sentence adds value and there is no redundancy or fluff.
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 one-parameter lookup tool with no output schema, the description is quite complete: it lists the main output categories and highlights derived fields that add value. It does not specify the response format or error behaviors, but given the low complexity, this is a minor gap.
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% for the single parameter, with a clear description including format and example. The tool description only repeats 'Companies House number' without adding new meaning beyond the schema, so the parameter semantics are adequately covered by the schema itself.
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 clearly states the tool retrieves an enriched profile for a UK company using a Companies House number. This is a specific verb+resource+scope, and the mention of 'enriched profile' distinguishes it from sibling tools like get_directors or get_financials.
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 implies this is the tool for a comprehensive company profile, but it does not explicitly state when to use it versus sibling tools or mention any exclusions. It notes that derived fields are 'not available from the raw Companies House API', which hints at uniqueness but stops short of naming alternatives or providing when-to-use guidance.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company_number | Yes | Companies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It does this thoroughly: it clarifies that 'pending' is not a failure and must not be reported as one, defines 'overdue,' notes the Pro plan requirement and 24-hour caching, and explains that unverified officers can block filings. This goes well beyond basic safety expectations.
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 compact but packs in essential information: purpose, compliance context, exact return fields, and a critical warning about the meaning of 'pending.' The emphasis on 'IMPORTANT' ensures the agent does not misinterpret the status. Every sentence earns its place with no filler.
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?
Even without an output schema, the description enumerates the exact returned counts (directors_total, directors_verified, directors_pending, directors_overdue, etc.) and the unverified_persons structure. It also covers caching, plan requirements, and the regulatory backdrop, making the tool fully self-explanatory for an AI agent.
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% for the single parameter company_number, including a pattern, a concrete example, and zero-padding instructions. The description does not repeat or extend the parameter documentation, but given the schema's completeness, a baseline of 3 is appropriate. No additional parameter-level semantic information 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 clearly states the tool's purpose with a specific verb and resource: 'Check a UK company's ECCTA identity-verification status.' It also enumerates what the status includes (verified, pending, overdue) and distinguishes it from sibling tools by focusing on compliance rather than general company data, directors, or PSC information.
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 provides strong contextual guidance by explaining the ECCTA legal requirement and the enforcement date, which implicitly tells users when they would need this tool. It does not explicitly contrast with alternatives like get_directors or get_psc, but the unique compliance angle and the detail about enforcement make the use case clear. A clear exclusion or explicit alternative would bump this to 5.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company_number | Yes | Companies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and handles it well: it warns that not every entry is a director, explains the officer_role field and is_board_director boolean, and lists all returned fields. It lacks pagination/auth details, but for a read-only query this is adequate.
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 a single paragraph of moderate length, front-loading the core function then adding the critical caveat and field enumeration. It is informative without being bloated, though it could be broken into shorter sentences for readability.
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?
Without an output schema, the description thoroughly explains all return fields and the officer_role variants, plus the is_board_director boolean and the list of other companies. This gives an agent everything needed to interpret the full response.
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?
The only parameter company_number is fully documented in the schema with format guidance and an example, so the description adds no extra semantic value. Baseline 3 applies because schema coverage is 100%.
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 clearly states it retrieves current and past officers for a UK company, and goes further to correct the misleading tool name by explaining the list is the full officer register not just directors. This effectively distinguishes it from siblings like get_psc (ownership) and get_company (basic 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?
It provides clear context on scope (full officer register, corporate history) and says the call gives a full picture in one call, implying it is the comprehensive officer tool. However, it does not explicitly name alternatives or state when not to use it, which would earn a 5.
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) and a data_quality block indicating which fields were extracted and which were absent from the filing. Cached for 7 days.
| Name | Required | Description | Default |
|---|---|---|---|
| company_number | Yes | Companies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and delivers: it explains the data source (iXBRL accounts), details the returned fields including a data_quality block, and discloses a 7-day cache. This provides thorough behavioral context beyond a simple 'get'.
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 well-structured with a clear purpose first, then a detailed list of returned data, and finally a behavioral note about caching. Every sentence adds value without redundancy.
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?
Given the single parameter with full schema coverage and the absence of an output schema, the description thoroughly enumerates all return values, the data source, and caching behavior, making it complete for operational use.
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?
The schema description for company_number is 100% covered, including format and example, so the description adds no extra parameter meaning beyond what the schema already states. Baseline of 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?
The description clearly specifies the verb 'Get' and the resource 'structured financial data for a UK company', and distinguishes it from siblings by focusing on financials parsed from iXBRL accounts. It is unambiguous and directly reflects the tool's function.
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 makes it clear that this tool is for retrieving financial data from Companies House filings. It implies the appropriate context without naming alternatives or exclusions, which is acceptable given the obvious distinction from sibling tools.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | Traversal depth: 1 = direct connections only, 2 = connections of connections (default 1). Depth 2 can return many results for large companies. | |
| company_number | Yes | Companies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It discloses the read-only nature ('Returns all companies...') and details the output fields, which is transparent. It does not warn about potentially large result sets for depth 2 (though the schema does), nor does it explicitly declare itself read-only, so it falls short of fully comprehensive behavioral disclosure.
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 three concise sentences that front-load the core purpose, then describe the return contents and use cases. Every sentence contributes meaning without redundancy.
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?
Given no output schema and no annotations, the description compensates by specifying return fields and the domain (UK companies, shared directors). It covers the main aspects an agent needs: what it does, what it returns, and when to use it. The only gap is a lack of explicit warnings about result size at larger depths, but the schema addresses that.
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 adds context linking 'depth' to 'up to the specified depth' and 'shared directors' to 'shared board members', but these are already conveyed in the schema. No additional parameter-level meaning is provided beyond the schema.
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 clearly states the verb 'Map' and the resource 'corporate network connected to a UK company via shared directors', distinguishing it from sibling tools like get_directors or get_company. It also specifies the output contents (company name, number, status, shared directors), making the tool's function unmistakable.
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 provides explicit use cases ('useful for identifying corporate group structures, related party relationships, and director interlocks') which guides when to apply this tool. However, it does not explicitly name alternative tools for different scenarios or state when not to use it, so it lacks the exclusionary guidance typical of a 5.
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 include their company number for ownership chain traversal, and carry none of the verification fields. Also detects PSC exemptions for listed PLCs. Cached for 24 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| company_number | Yes | Companies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes full responsibility and delivers rich behavioral detail: decoded control types, ECCTA verification status semantics, the difference between pending/unknown/overdue, corporate entities lacking verification fields, exemption detection for listed PLCs, and 24-hour caching. This goes well beyond a mere 'returns data' statement.
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 long but every sentence adds operational value: thresholds, decoding, verification semantics, corporate PSC differences, exemptions, and caching. It is front-loaded with the core purpose and then builds logically through data categories and status meanings with no filler.
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?
Given there is no output schema, the description compensates thoroughly by specifying the types of PSCs, the fields on each, the meaning of verification statuses, and caching behavior. It gives the agent enough information to interpret and use the returned data correctly without over-specifying internal structure.
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 is only one parameter and the schema already covers it fully with a pattern, an example, and zero-padding guidance. The description adds context that the company must be UK-based, but most of the parameter documentation already lives in the schema, so the added value is minimal.
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 starts with a specific verb and resource: 'Get the PSC register for a UK company.' It goes on to enumerate exactly what is returned (individuals, corporate entities, legal persons) and the thresholds, making the tool's purpose unambiguous and distinct from sibling tools like get_psc_chain by focusing on the register itself.
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 clearly says the tool is for obtaining a UK company's PSC register, which implies when to use it. However, it does not explicitly state when not to use it or compare it against alternatives such as get_psc_chain, leaving the routing decision partially to the agent.
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, with the raw value in kind_raw. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| max_depth | No | Maximum chain depth to traverse (1-10, default 5). Each level costs 1 upstream API call per corporate entity found. | |
| company_number | Yes | Companies House company number, e.g. '00445790' for Tesco PLC. Numeric-only numbers should be zero-padded to 8 digits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It explains recursive traversal, all terminal_reason values, nuances like unverified_registry and unknown_kind, ECCTA identity verification semantics, and which node types carry verification fields. It also proactively warns against misreporting pending or unknown statuses as compliance failures.
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 long but densely informative, and the length is justified by the tool's complexity and the absence of an output schema or annotations. It is front-loaded with the core purpose, then organizes details into terminal reasons, verification statuses, and metadata. Some phrasing is repetitive, but each part adds useful operational guidance.
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?
Given the tool's complexity, the lack of annotations, and the absence of an output schema, the description is exceptionally complete. It covers what the returned tree contains, how branches terminate, how verification statuses should be interpreted, and what chain_metadata reports. An agent has enough context to invoke the tool and interpret its results correctly.
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?
The input schema already covers 100% of the parameters, including max_depth constraints and company_number formatting, so the description does not need to add much. It adds minor context like per-level API cost but does not significantly enrich parameter understanding beyond the schema.
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 states a precise verb and resource: "Trace the full ownership chain for a UK company by recursively following corporate entity PSCs." It clearly explains what the tool returns and distinguishes itself from the immediate PSC layer, making it easy to tell apart from sibling get_psc.
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 explicitly names use cases: KYB checks, AML screening, and any task requiring beneficial ownership beyond the immediate PSC layer. It gives clear context for when to use it versus simpler PSC retrieval, though it does not explicitly enumerate exclusions or alternatives beyond the implied comparison to get_psc.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (default 20) | |
| query | Yes | Company name or keywords to search for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It discloses that the tool is a search operation returning a list of matches with specific fields. It doesn't describe rate limits, auth, or pagination, but for a simple read-only search the core behavior is transparent. The description adds scope (UK companies) and return values, which is adequate.
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 two sentences, front-loaded with the main action and scope, followed by return fields and usage advice. Every 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with two well-documented parameters and no output schema, the description is complete. It states what it searches, what it returns, and when to use it. No output schema exists, but the listed return fields cover the essential information. The description fully suffices for an agent to select and invoke the tool.
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% for both parameters, so the schema already explains 'query' and 'limit' clearly. The tool description does not add significant semantic detail beyond the schema, staying at the baseline expected when schema carries the load.
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 clearly states the tool's function: 'Search for UK companies by name.' It specifies the resource (UK companies) and the action (search), and distinguishes it from sibling tools that retrieve specific company details. The return fields are listed, making the purpose unmistakable.
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 provides explicit usage guidance: 'Use this first when you only have a company name and need its company number.' This tells the agent when to use it, though it doesn't explicitly mention when not to use it or name alternative tools. The phrase 'use this first' implies it's the entry point before using siblings, but exclusions are not stated.
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. Dates show when Glama detected each change.
1 tool update
- Added
get_bundle
1 tool update
- Changed
search_company1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return (default 10)"New value: +"Maximum number of results to return (default 20)"
8 tool updates
- First observed
get_company - First observed
get_compliance - First observed
get_directors - First observed
get_financials - First observed
get_network - First observed
get_psc - First observed
get_psc_chain - First observed
search_company
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Companies House MCP — UK statutory company registry (BYO key)
Companies House, Find a Tender and Find a Grant as paid JSON for agents. USDC via x402, no signup.
Official company and director data: search, profiles, filings, and name normalization.
Company intelligence via UK Companies House and risk screening across 386 risk data sources.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceProvides 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.-
- AlicenseAqualityDmaintenanceUnmodified 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.1017Apache 2.0
- FlicenseBqualityCmaintenanceProvides access to UK Companies House public data, enabling search and retrieval of company profiles, officers, filing history, and more through natural language queries.12-
- AlicenseNot gradedqualityCmaintenanceEnables querying UK company data including search, profiles, officers, filings, and persons with significant control via Companies House API.101MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct aspect of UK company data: search, profile, officers, financials, PSC register, PSC chain, network, and compliance status. The overlapping-sounding tools (get_psc vs get_psc_chain) are clearly differentiated by one being the immediate register and the other the recursive ownership chain.
All tools follow a consistent verb_noun pattern with snake_case: search_company and get_<resource> (company, compliance, directors, financials, network, psc, psc_chain). The compound get_psc_chain still fits the pattern and is predictable.
8 tools is well-scoped for a UK company intelligence server. Each tool covers a major data domain (search, profile, people, finances, ownership, network, compliance) without unnecessary redundancy or bloat.
The tool surface covers the core lifecycle for company due diligence: search, profile, directors, financials, PSC, and beneficial ownership chain. Minor gaps like filing history or charges are absent, but the server's apparent purpose (KYB/AML and company insight) is well served.