# `io.github.lbruce-wq/international-classifications` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/io.github.lbruce-wq/international-classifications
- JSON: https://anlyon.dev/api/v1/servers/io.github.lbruce-wq/international-classifications
- Version: 0.5.2 (active)
- Publisher: io.github.lbruce-wq (GitHub account)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Repository: https://github.com/lbruce-wq/international-classifications-mcp
- Metadata from the official MCP Registry, synced 2026-10-21T18:38:07.533Z

Title and description, as the publisher wrote them:

```untrusted-server-text
International Classifications MCP
Deterministic MCP for statistical classifications and survey codelists with provenance.
```

Scanned 2026-10-21T19:24:28.170Z over streamable-http.

**10 tools: 2 change things and 8 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 2 | ask |
| Only reads | read | 8 | allow |

## Findings

- **warn** Annotations that disagree with the tool in `get_code_definition` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "get_code_definition" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_code_definition" says "get": a word for reading.
```

- **warn** Annotations that disagree with the tool in `map_codes` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "map_codes" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "apply": a word for a change.
```


## Changes things (2)

Creates or changes something that can be changed back. Claude Code: ask.

### `get_code_definition`

- The name "get_code_definition" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
Retrieve one exact code or codelist container, including its node_kind, hierarchy position and explanatory notes.
```

### `map_codes`

- The description's first verb is "apply": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
Apply official stored correspondences and expose splits, merges, changed meanings and unmapped codes. Never assume one-to-one equivalence.
```

## Only reads (8)

Looks things up and changes nothing. Claude Code: allow.

### `browse_hierarchy`

- The name "browse_hierarchy" says "browse": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Browse top-level nodes or immediate children. Curated families return node_kind=codelist containers at root; pass that code as parent_code to browse its options.
```

### `export_choice_list`

- The name "export_choice_list" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Return a structured choice list at a selected hierarchy level. MICS exports require one codelist_id and never merge unrelated answer lists.
```

### `get_classification`

- The name "get_classification" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get authoritative metadata and coverage for one classification_id returned by list_classifications.
```

### `list_classifications`

- The name "list_classifications" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List classification families, versions, custodians, coverage and licensing notes. Start here when the correct standard is unknown.
```

### `list_codelists`

- The name "list_codelists" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List independent option lists within a classification before searching or exporting one list.
```

### `recommend_classifications`

- The description's first verb is "return": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Return a deterministic ranked shortlist of all relevant classification concepts and codelists. Ranking supports user choice; it is not an automatic selection. Include answer options and context.
```

### `search_codes`

- The name "search_codes" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Full-text search labels and notes. Results restrict to one option list only when codelist_id is explicitly supplied.
```

### `validate_codes`

- The name "validate_codes" says "validate": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Validate exact codes against one named classification version.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `international-classifications`:

```json
{
  "permissions": {
    "allow": [
      "mcp__international-classifications__list_classifications",
      "mcp__international-classifications__get_classification",
      "mcp__international-classifications__list_codelists",
      "mcp__international-classifications__recommend_classifications",
      "mcp__international-classifications__search_codes",
      "mcp__international-classifications__browse_hierarchy",
      "mcp__international-classifications__validate_codes",
      "mcp__international-classifications__export_choice_list"
    ],
    "ask": [
      "mcp__international-classifications__get_code_definition",
      "mcp__international-classifications__map_codes"
    ],
    "deny": []
  }
}
```
