Skip to main content
Glama

List every company an officer has been appointed to

get_officer_appointments
Read-onlyIdempotent

Retrieve all company appointments for a person using their officer ID, including role, appointment, and resignation dates. Trace a person's corporate footprint across the registry with paginated results.

Instructions

Given an officer_id (from get_officers or search_officers), return every company in the registry where that person has held an appointment, with role, appointed_on, and resigned_on dates. This is the cross-company tracing tool — use it to follow a person's full corporate footprint across the registry. Results are paginated.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jurisdictionYesISO 3166-1 alpha-2 country code (uppercase). All registries are official government sources. Currently supported: AU, BE, CA, CA-BC, CA-NT, CH, CY, CZ, DE, ES, FI, FR, GB, HK, IE, IM, IS, IT, KR, KY, LI, MC, MX, MY, NL, NO, NZ, PL, RU, TW. Per-country capability, ID format, examples, status mapping, and caveats: call `list_jurisdictions({jurisdiction:'<code>'})`. To find which countries support a specific tool: `list_jurisdictions({supports_tool:'<tool>'})`.
officer_idYesOfficer ID from a previous get_officers or search_officers call.
limitNo
cursorNo
freshNo

Output Schema

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

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true, covering safety and idempotency. Description adds value by noting pagination behavior and the ability to trace a person across all companies, which goes beyond annotation metadata. No contradictions found.

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?

Description is three sentences, front-loaded with the core purpose and prerequisites. Second sentence adds value by stating what the tool returns. Third sentence clarifies its unique role among siblings. No wasted words.

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

Completeness5/5

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

Given the tool has an output schema, the description doesn't need to explain return values. It covers key usage context: input source, output fields, cross-company scope, and pagination. For a read-only, idempotent tool with comprehensive annotations and schema, the description is complete enough.

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

Parameters4/5

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

Schema description coverage is 40%, but description adds meaning by specifying that officer_id is from a previous get_officers or search_officers call, and that results include role and dates. The jurisdiction parameter's detailed requirements are already in the schema description. For parameters not extensively described (limit, cursor, fresh), the schema provides defaults and constraints, so the description isn't severely lacking.

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 uses specific verb ('return') and resource ('every company an officer has been appointed to'), clearly stating input (officer_id) and output fields (role, appointed_on, resigned_on). Differentiates from sibling tools like get_officers by emphasizing cross-company tracing of a single person's full corporate footprint.

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?

Explicitly states prerequisite: officer_id must come from get_officers or search_officers. Describes purpose as cross-company tracing tool, which distinguishes it from get_officers (returns officers for a single company) and other siblings. Includes pagination note for result consumption.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sophymarine/openregistry'

If you have feedback or need assistance with the MCP directory API, please join our Discord server