Skip to main content
Glama

UK Business Tools - Ledgerhall

Get Company Officers

dd_company_officers
Read-onlyIdempotent

Fetch officers for a Companies House company number.

Returns directors, secretaries, and other officers with appointment dates, nationality, and country of residence. Resigned officers are excluded by default; set include_resigned=true for historical DD. Pagination is handled internally.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
start_indexNoIgnored — pagination is handled internally. Only accepted to avoid call failures.
company_numberYesCompanies House company number (8 digits, e.g. '03782379'). Returned by company_search.
items_per_pageNoIgnored — pagination is handled internally. Only accepted to avoid call failures.
include_resignedNoInclude resigned/historic officers. Default false for backwards-compatible current-officer queries.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalYesTotal officers returned (filtered by include_resigned).
officersNoOfficer records.
company_numberYesCompanies House company number.
include_resignedYesWhether resigned officers were included in this result.
high_appointment_count_flagNoNumber of active officers with 10+ total appointments, or null if appointment counts were not fetched. Non-zero values are a nominee/phoenix director risk signal.

TDQS

A4.3/5.0
Behavior4/5

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

It discloses useful behaviors beyond the readOnlyHint/idempotent annotations: resigned officers are excluded by default, include_resigned=true is the opt-in, and pagination is handled internally. These are real operational details that change how an agent calls/de is treated.

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?

Four short sentences, no filler, main purpose explicitly stated up front, and the most important non-obvious behaviors are spaced out clearly. Every sentence contributes value.

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

Completeness5/5

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

Given the existing output schema and the annotations and the rich schema coverage, the description fully covers what an agent needs to know to correctly select and invoke the tool. It covers the action, the returned data shape, the key parameter option, and the internal pagination behavior.

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 the schema already explains each parameter — including the ignored start_index/items_per_page and the default false for include_resigned. The description mainly re-states what the schema covers, though it adds the note 'historical DD' which gives light additional context.

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?

Starts with 'Fetch officers for a Companies House company number,' which names the exact verb and resource. It then states what is returned (directors, secretaries, other officers) and easily distinguishes this tool from sibling tools like dd_company_charges or dd_officer_appointments.

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 makes clear this is the tool to use for company officer lists and gives a concrete condition for the include_resigned parameter. It does not explicitly mention alternatives such as 'if you need a single officer's appointment history use dd_officer_appointments', so it misses explicit exclusion guidance, but the context is clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation4/5

Tools are well-grouped by domain prefixes (dd_, gov_, law_, prop_) with clear descriptions that differentiate them. However, there is minor overlap, e.g., dd_search could be used instead of individual searches, and dd_fetch versus dedicated profile tools might cause confusion.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with domain-specific prefixes (dd_, gov_, law_, prop_). Names are descriptive and predictable, e.g., dd_charity_search, gov_govuk_search, law_bills_search_bills.

Tool Count4/5

70 tools is high but justified by the broad scope covering due diligence, government, legal, and property domains. Each domain has a reasonable number of tools (about 15-20 each). The count is on the upper end but still manageable.

Completeness5/5

The tool set is comprehensive across all domains: full CRUD for companies and charities, detailed legal research (cases, legislation, parliament, citations), property data (EPC, planning, price paid, rentals), and government information. No obvious gaps for the intended use cases.

Resources