# `io.github.mk-career-planning/mofa-overseas-safety` 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.mk-career-planning/mofa-overseas-safety
- JSON: https://anlyon.dev/api/v1/servers/io.github.mk-career-planning/mofa-overseas-safety
- Version: 0.1.0 (active)
- Publisher: io.github.mk-career-planning (GitHub account)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Metadata from the official MCP Registry, synced 2026-10-21T18:41:12.634Z

Title and description, as the publisher wrote them:

```untrusted-server-text
MOFA Overseas Safety Levels
Which danger level has Japan's MOFA set for a country and its regions? Hosted, change history kept.
```

Scanned 2026-10-21T19:35:06.677Z over streamable-http.

**4 tools: 2 change things and 2 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 | 2 | allow |

## Findings

No check matched anything in these tool definitions.


## Changes things (2)

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

### `mofa_country_levels`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Which danger level (1-4) does Japan's MOFA set now for this country, region by region? Look up by ISO 3166-1 alpha-2/alpha-3 or 4-digit MOFA code. Returns region-level entries in MOFA's Japanese text with English level labels, levels present, a derived max level (not a country-wide level), infectious disease danger notices, MOFA issue dates and URLs, previous levels from this service's own history (tracking_since), freshness and sources. Relays MOFA; no danger assessment or travel advice.
```

### `mofa_level_changes`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Which countries had their Japan MOFA danger or infectious disease danger levels (or region texts) change since a given time? From this service's own observation record: old and new levels, MOFA info ids and issue dates, when we observed the change and when we last saw the old state, plus polling gaps. Only changes since tracking_since, as observed at our polling times. Free window: last 30 days (an earlier since is clamped; see history_window). Relays MOFA; no advice.
```

## Only reads (2)

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

### `catalog`

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

Description, as the server wrote it:

```untrusted-server-text
List the tools of this server with prices, data sources, licensing, daily limits and data freshness.
```

### `get_receipt`

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

Description, as the server wrote it:

```untrusted-server-text
Re-fetch the stored result of a settled paid call by its receipt_id, for when the response was lost after payment. Free. Unknown or unsettled receipt ids return RECEIPT_NOT_FOUND. Results are kept for 90 days after settlement.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `mofa-overseas-safety`:

```json
{
  "permissions": {
    "allow": [
      "mcp__mofa-overseas-safety__catalog",
      "mcp__mofa-overseas-safety__get_receipt"
    ],
    "ask": [
      "mcp__mofa-overseas-safety__mofa_country_levels",
      "mcp__mofa-overseas-safety__mofa_level_changes"
    ],
    "deny": []
  }
}
```
