# Insurers Global (remote · insurers.global)

Search the world's licensed insurers by country, class, group and regulator. Read-only, no auth.

- Trust score: 78/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-24

## Components

- remote · `insurers.global`: 78/100 (this document), [markdown](https://verifymcp.io/servers/global-insurers-directory/insurers.md), [page](https://verifymcp.io/servers/global-insurers-directory/insurers)

## Channel facts

- Endpoint: `https://insurers.global/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.3.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-24.

- **Endpoint Security**: 77/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 83/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2371 tokens (~148/item across 16 items; 14 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 33/100
  - Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Insurers Global MCP server?

Insurers Global is a hosted endpoint at https://insurers.global/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http global-insurers-directory 'https://insurers.global/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "global-insurers-directory": {
      "url": "https://insurers.global/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "global-insurers-directory": {
      "type": "http",
      "url": "https://insurers.global/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.global-insurers-directory]
url = "https://insurers.global/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "global-insurers-directory": {
      "type": "remote",
      "url": "https://insurers.global/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add global-insurers-directory --url 'https://insurers.global/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  global-insurers-directory:
    url: "https://insurers.global/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "global-insurers-directory": {
      "Transport": "http",
      "Url": "https://insurers.global/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add global-insurers-directory -t streamable-http -u 'https://insurers.global/mcp'
```

### Other

```json
{
  "mcpServers": {
    "global-insurers-directory": {
      "type": "http",
      "url": "https://insurers.global/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-24 (score 78, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 2136 → 2371
- [functional] Server version: 1.2.0 → 1.3.0
- [functional] New tool “fetch”
- [functional] New tool “search”

### 2026-09-23 (score 78, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_country” rewrote its description, which is the text the model reads
- [security] Tool “get_footprint” rewrote its description, which is the text the model reads
- [security] Tool “get_group” rewrote its description, which is the text the model reads
- [security] Tool “list_regulators” rewrote its description, which is the text the model reads
- [security] Tool “list_insurers” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 120 → 152
- [functional] Server version: 1.1.0 → 1.2.0
- [cosmetic] “get_country” added an optional parameter “compact”
- [cosmetic] “get_country” added an optional parameter “limit”
- [cosmetic] “get_country” added an optional parameter “offset”
- [cosmetic] “get_footprint” added an optional parameter “limit”
- [cosmetic] “get_footprint” added an optional parameter “offset”
- [cosmetic] “get_group” added an optional parameter “compact”
- [cosmetic] “get_group” added an optional parameter “limit”
- [cosmetic] “get_group” added an optional parameter “offset”
- [cosmetic] “list_insurers” added an optional parameter “compact”
- [cosmetic] “resolve_former_name” added an optional parameter “limit”
- [cosmetic] “resolve_former_name” added an optional parameter “offset”
- [cosmetic] “get_country” reworded the description of “country”
- [cosmetic] “get_country_summary” reworded the description of “country”
- [cosmetic] “get_insurer” reworded the description of “slug”
- [cosmetic] “list_insurers” reworded the description of “country”

### 2026-09-21 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-20 (score 77, 0)

- [functional] Server version: 1.0.0 → 1.1.0

### 2026-09-19 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-18 (score 76, 0)

- [security] Tool “get_country” rewrote its description, which is the text the model reads
- [security] Tool “get_country_summary” rewrote its description, which is the text the model reads
- [security] Tool “get_footprint” rewrote its description, which is the text the model reads
- [security] Tool “list_insurers” rewrote its description, which is the text the model reads
- [cosmetic] “get_country” reworded the description of “country”
- [cosmetic] “get_country_summary” reworded the description of “country”
- [cosmetic] “get_footprint” reworded the description of “group”
- [cosmetic] “get_group” reworded the description of “slug”
- [cosmetic] “get_insurer” reworded the description of “slug”
- [cosmetic] “list_insurers” reworded the description of “country”
- [cosmetic] “list_insurers” reworded the description of “group”
- [cosmetic] “list_regulators” reworded the description of “region”

### 2026-09-17 (score 76, 0)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-09-16 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (14)

### `search_insurers` (~97 tokens)

Search insurers, groups and countries by name

Search licensed insurance companies, reinsurers, takaful operators and insurance groups across Africa, Europe, Asia-Pacific, South America and North America by name. Returns matching insurers, countries and groups with their slugs and links.

Input parameters:

- `limit` (integer): Maximum number of results to return.
- `offset` (integer): Results to skip, for paging.
- `query` (string, required): Company, group or country name, or part of one.

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `list_insurers` (~353 tokens)

List licensed insurers with filters

List licensed insurers with optional filters and bounded pages (25 by default, at most 200; a page of large records stops early to keep the response small and reports nextOffset). Filter by continent ("africa", "europe", "asia-pacific", "south-america", "north-america"), country slug (e.g. "uganda"), class slug (e.g. "captive-risk-retention-group", "composite", "funeral-assistance", "general-non-life", "health-medical"), group type slug (e.g. "corporate-parent-captive", "domestic-private", "foreign-multinational", "mutual-cooperative"), parent group slug or verification level. Country filtering fetches only that market's full insurer records; compact returns lean rows instead.

Input parameters:

- `class` (string): Class of business slug.
- `compact` (boolean): true: return each insurer as a lean row (slug, name, country, class, groupSlug, verification) without notes, source text, identifiers or links, so more rows fit in one response. get_insurer returns t…
- `continent` (string): Continent slug.
- `country` (string): Country slug (e.g. "uganda") or ISO alpha-2 code (e.g. "UG").
- `group` (string): Parent group slug, e.g. "allianz"; list_groups returns them all.
- `group_type` (string): Ownership group type slug.
- `limit` (integer): Maximum number of results to return.
- `offset` (integer): Results to skip, for paging.
- `verification` (string): Verification level against the source register.

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `get_country` (~282 tokens)

Get one market with its full insurer list

Get one country in Africa, Europe, Asia-Pacific, South America or North America: regulator (name, acronym, website, notes), currency, counts by class and ownership, verification status against the regulator register, market notes, and its licensed insurers with register identifiers and source caveats. Counts by class count entities, not licences: every company appears once, under the class its register row records, and byClass sums to total. A regulator’s own per-class licence tally is broader and will not match. Most markets return every insurer in one call; a large market returns a first page, and insurersPage gives the total and the nextOffset to pass as offset. Prefer get_country_summary for market facts alone.

Input parameters:

- `compact` (boolean): true: return each insurer as a lean row (slug, name, country, class, groupSlug, verification) without notes, source text, identifiers or links, so more rows fit in one response. get_insurer returns t…
- `country` (string, required): Country slug (e.g. "uganda") or ISO alpha-2 code (e.g. "UG").
- `limit` (integer): Maximum entity rows to return. Long lists also stop early to keep the response small; the page object reports total and nextOffset.
- `offset` (integer): Entity rows to skip, for paging.

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `get_country_summary` (~129 tokens)

Get one market’s facts without insurer rows

Get compact market facts for one country: regulator, currency, counts, verification and market notes, without its insurer rows. Counts by class count entities, not licences: every company appears once, under the class its register row records, and byClass sums to total. A regulator’s own per-class licence tally is broader and will not match. Accepts a country slug or ISO alpha-2 code. Use list_insurers with country for paged entity records.

Input parameters:

- `country` (string, required): Country slug (e.g. "uganda") or ISO alpha-2 code (e.g. "UG").

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `get_directory_info` (~56 tokens)

Get dataset coverage, version and vocabularies

Get this edition’s dataset version, source dates, licence, coverage counts, endpoint URLs and filter vocabularies, plus compact country metadata. Use this to discover supported country, class, ownership, region and continent slugs before querying.

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `get_insurer` (~102 tokens)

Get one insurer’s record

Get one insurer by slug, including its parent group, class, regulator, source basis, register identifiers (LEI, national ID) where available, notes, sibling entities in the same group, and the reviewed profile (website, social links, founding year, stock-exchange listings with tickers, and Wikidata id) where one has been collected.

Input parameters:

- `slug` (string, required): Insurer slug, e.g. "uganda-apa-insurance-uganda".

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `list_groups` (~109 tokens)

List multi-country insurance groups

List insurance groups with licensed entities in two or more countries across Africa, Europe, Asia-Pacific, South America and North America, with their footprint.

Input parameters:

- `continent` (string): Only groups with entities on this continent.
- `iaig` (boolean): true: only groups controlled by an Internationally Active Insurance Group (IAIS register); false: only groups that are not.
- `limit` (integer): Maximum number of results to return.
- `offset` (integer): Results to skip, for paging.

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `list_iaigs` (~142 tokens)

List Internationally Active Insurance Groups

List the Internationally Active Insurance Groups (IAIGs) in the IAIS public register with their group-wide supervisor and jurisdiction, and for each the directory groups, entities and countries it controls across Africa, Europe, Asia-Pacific, South America and North America.

Input parameters:

- `in_directory` (boolean): true: only IAIGs with at least one licensed entity in this directory; false: only those without.
- `jurisdiction` (string): Jurisdiction of the group-wide supervisor, e.g. "France" or "United States".
- `limit` (integer): Maximum number of results to return.
- `offset` (integer): Results to skip, for paging.

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `get_group` (~187 tokens)

Get one insurance group

Get one insurance group by slug: home market, type, continents and countries covered, the slug of every licensed entity in the directory, and their records in insurersDetail. A large group returns a first page of records; insurersDetailPage gives the total and the nextOffset to pass as offset.

Input parameters:

- `compact` (boolean): true: return each insurer as a lean row (slug, name, country, class, groupSlug, verification) without notes, source text, identifiers or links, so more rows fit in one response. get_insurer returns t…
- `limit` (integer): Maximum entity rows to return. Long lists also stop early to keep the response small; the page object reports total and nextOffset.
- `offset` (integer): Entity rows to skip, for paging.
- `slug` (string, required): Group slug, e.g. "allianz".

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `get_footprint` (~225 tokens)

Get a group’s licensed footprint by country

Licensed footprint: which legal entity of an insurance group is licensed in which country, with collected branches, EEA freedom-of-services passporting and GLEIF parents. Pass exactly one group slug (from list_groups, e.g. "allianz") for the country × entity matrix, or an insurer slug for that entity alone. A large group returns its whole matrix with a first page of entity records; entitiesPage gives the nextOffset to pass as offset. Licence rows come from the directory registers; relationship enrichment comes from GLEIF and EIOPA. Null or empty enrichment means it has not been collected, not that no relationships exist.

Input parameters:

- `group` (string): Group slug, e.g. "allianz".
- `insurer` (string): Insurer slug, when asking about one entity.
- `limit` (integer): Maximum entity rows to return. Long lists also stop early to keep the response small; the page object reports total and nextOffset. Group footprints only.
- `offset` (integer): Entity rows to skip, for paging. Group footprints only.

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `list_regulators` (~140 tokens)

List insurance regulators

List the insurance supervisory authority for every covered country: name, acronym, website, currency, notes and the register source used for verification. Returns every match unless limit or offset is supplied (when paging, limit defaults to 25 and is capped at 200); a long result stops early to keep the response small and reports nextOffset.

Input parameters:

- `continent` (string): Continent slug.
- `limit` (integer): Maximum number of results to return.
- `offset` (integer): Results to skip, for paging.
- `region` (string): Optional region slug, e.g. "north-africa", "west-africa", "central-africa".

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `resolve_former_name` (~152 tokens)

Resolve a former insurer name to today’s entity

Resolve a company name that is no longer in use to the insurer listed today. Use this when a policy, certificate or older document names an insurer that does not appear in search_insurers — the company may have been renamed, merged or delisted. Returns what happened, when, and the current entity where one exists. A renamed, acquired, merged or transferred insurer keeps its licence, so its policies continue with the successor; only "failed" means the company failed.

Input parameters:

- `limit` (integer): Maximum number of results to return.
- `name` (string, required): The former company name, or part of it, as printed on the document.
- `offset` (integer): Results to skip, for paging.

Output parameters:

- `code` (string)
- `dataset` (string)
- `error` (string)
- `licence` (string)
- `retryable` (boolean)
- `verificationNote` (string)
- `verified` (string): Date the dataset snapshot was verified.
- `version` (string): Dataset version the result was read from.

### `search` (~103 tokens)

Search the directory for citable records

Search licensed insurers, insurance groups, countries and former company names across Africa, Europe, Asia-Pacific, South America and North America. Returns up to 20 results, each with an id to pass to fetch and the insurers.global page URL to cite. Provided for ChatGPT deep research and company knowledge; for ordinary questions prefer search_insurers, which returns slugs, record types and paging.

Input parameters:

- `query` (string, required): Company, group or country name, or part of one.

### `fetch` (~144 tokens)

Fetch one directory record as citable text

Fetch one record by an id returned from search ("insurer:<slug>", "group:<slug>", "country:<slug>", "former:<slug>"), e.g. "insurer:uganda-apa-insurance-uganda". Returns the record as text with its regulator, class, verification level and register source, the page URL to cite, and the dataset version and licence in metadata. Absence from the directory does not establish absence of a licence. Provided for ChatGPT deep research and company knowledge; for ordinary questions prefer get_insurer, get_group or get_country_summary.

Input parameters:

- `id` (string, required): An id from search, in the form "<type>:<slug>".

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/global-insurers-directory/insurers#diagnostics

## Score history

- 2026-09-24: 78
- 2026-09-23: 78
- 2026-09-22: 78
- 2026-09-21: 78
- 2026-09-20: 77
- 2026-09-19: 77
- 2026-09-18: 76
- 2026-09-17: 76
- 2026-09-16: 76
- 2026-09-15: 75
- 2026-09-14: 75

## Common questions

### What is the Insurers Global MCP server?

Insurers Global is an MCP server listed in the public MCP registry as global.insurers/directory. Search the world's licensed insurers by country, class, group and regulator. Read-only, no auth. This page covers its hosted endpoint (https://insurers.global/mcp).

### Is the Insurers Global MCP server safe to use?

Insurers Global scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Insurers Global MCP server expose?

Insurers Global exposes 14 tools: search_insurers, list_insurers, get_country, get_country_summary, get_directory_info, and 9 more. Their descriptions and schemas cost roughly 2,221 tokens of context every time the server is loaded.

### Does the Insurers Global MCP server require authentication?

No. We connected to Insurers Global without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Insurers Global MCP server still maintained?

Insurers Global is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://insurers.global/mcp
- Website: https://insurers.global/
- Changelog RSS feed: https://verifymcp.io/servers/global-insurers-directory/insurers.xml
- Changelog JSON feed: https://verifymcp.io/servers/global-insurers-directory/insurers.json
- HTML version of this page: https://verifymcp.io/servers/global-insurers-directory/insurers
