get_officers

Pack: companies-house · Endpoint: https://gateway.pipeworx.io/companies-house/mcp

List directors, secretaries, or LLP members for a UK company by company_number (from search_companies). Returns each officer’s name, role, appointment/resignation dates, occupation, nationality, country of residence, and date of birth (month/year). Supports register_type filter (directors | secretaries | llp-members) and pagination.

Parameters

NameTypeRequiredDescription
company_numberstringyesUK company number
items_per_pagenumberno1-100 (default 35)
start_indexnumbernoPagination offset (default 0)
register_typestringnodirectors | secretaries | llp-members (optional restriction)

Example call

Arguments

{
  "company_number": "00006245"
}

curl

curl -X POST https://gateway.pipeworx.io/companies-house/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_officers","arguments":{"company_number":"00006245"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('get_officers', {
  "company_number": "00006245"
});

More examples

{
  "company_number": "00006245",
  "register_type": "directors",
  "items_per_page": 50
}

Response shape

Always returns: company_number, total, officers

FieldTypeDescription
company_numberstringUK company number
totalnumberTotal number of officers
activenumber | nullNumber of currently active officers
resignednumber | nullNumber of resigned officers
officersarrayList of officers (directors, secretaries, etc.)
Full JSON Schema
{
  "type": "object",
  "properties": {
    "company_number": {
      "type": "string",
      "description": "UK company number"
    },
    "total": {
      "type": "number",
      "description": "Total number of officers"
    },
    "active": {
      "type": [
        "number",
        "null"
      ],
      "description": "Number of currently active officers"
    },
    "resigned": {
      "type": [
        "number",
        "null"
      ],
      "description": "Number of resigned officers"
    },
    "officers": {
      "type": "array",
      "description": "List of officers (directors, secretaries, etc.)",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Officer name"
          },
          "role": {
            "type": [
              "string",
              "null"
            ],
            "description": "Officer role (Director, Secretary, etc.)"
          },
          "appointed_on": {
            "type": [
              "string",
              "null"
            ],
            "description": "Appointment date (ISO format)"
          },
          "resigned_on": {
            "type": [
              "string",
              "null"
            ],
            "description": "Resignation date (ISO format) if applicable"
          },
          "occupation": {
            "type": [
              "string",
              "null"
            ],
            "description": "Officer occupation"
          },
          "country_of_residence": {
            "type": [
              "string",
              "null"
            ],
            "description": "Country of residence"
          },
          "nationality": {
            "type": [
              "string",
              "null"
            ],
            "description": "Nationality"
          },
          "dob": {
            "type": [
              "object",
              "null"
            ],
            "description": "Date of birth (month and year only)",
            "properties": {
              "month": {
                "type": "number"
              },
              "year": {
                "type": "number"
              }
            }
          },
          "address": {
            "type": [
              "object",
              "null"
            ],
            "description": "Officer address details"
          }
        }
      }
    }
  },
  "required": [
    "company_number",
    "total",
    "officers"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "companies-house": {
      "url": "https://gateway.pipeworx.io/companies-house/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build June 27, 2026