# io.github.localgov-jp/mcp-server (remote · localgov.jp)

Japan central + municipal subsidies (20,810 grants, 1,627 munis). 8 tools beyond Jグランツ MCP.

- Trust score: 67/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `localgov.jp`: 67/100 (this document), [markdown](https://verifymcp.io/servers/localgov-jp-mcp-server/localgov.md), [page](https://verifymcp.io/servers/localgov-jp-mcp-server/localgov)
- npm · `@localgov-jp/mcp-server`: 60/100, [markdown](https://verifymcp.io/servers/localgov-jp-mcp-server/localgov-jp-mcp-server.md), [page](https://verifymcp.io/servers/localgov-jp-mcp-server/localgov-jp-mcp-server)

## Channel facts

- Endpoint: `https://localgov.jp/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.2.3`

## 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-08-03.

- **Endpoint Security**: 63/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 not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1110 tokens (~138/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 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.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http localgov-jp-mcp-server https://localgov.jp/mcp
```

### Codex

```toml
[mcp_servers.localgov-jp-mcp-server]
url = "https://localgov.jp/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "localgov-jp-mcp-server": {
      "type": "remote",
      "url": "https://localgov.jp/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add localgov-jp-mcp-server --url https://localgov.jp/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  localgov-jp-mcp-server:
    url: "https://localgov.jp/mcp"
```

### Other

```json
{
  "mcpServers": {
    "localgov-jp-mcp-server": {
      "type": "http",
      "url": "https://localgov.jp/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-08-02 (score 67, +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-07-31 (score 66, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 65, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 64, +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.

### 2026-07-27 (score 63, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 62)

First indexed and scored.

## MCP tools (8)

### `search_subsidies` (~269 tokens)

Search Japanese central + municipal subsidies. Combine keyword (Japanese), prefecture, municipality_code, category, or minimum amount. Returns up to `limit` records. Free.

Input parameters:

- `category` (string): Category label (e.g. "子育て", "住宅", "事業者支援") — usually omit and rely on keyword
- `keyword` (string): Free-text Japanese keyword (FTS), e.g. "IT導入", "創業", "省エネ"
- `limit` (integer): Max records to return (1-100, default 20)
- `min_amount_jpy` (integer): Minimum subsidy amount in JPY; only records with amount_max_jpy >= this
- `municipality_code` (string): JIS X 0402 6-digit municipality code (e.g. 131105 = 杉並区)
- `offset` (integer): Pagination offset (default 0)
- `open_only` (boolean): When true, exclude records whose deadline has passed (default: false = include all)
- `prefecture` (string): Prefecture name in kanji, e.g. "東京都", "北海道"
- `sort` (string): Sort order; default "relevance" when keyword set, otherwise "newest"

Output parameters:

- `items` (array): Records on this page
- `total` (integer): Total matching records (independent of limit/offset)

### `get_subsidy_detail` (~98 tokens)

Fetch the full record for a single subsidy by id. Returns `_source` (LocalGov.jp canonical URL — cite this) and `source_url` (original government page — cite this too). Free.

Input parameters:

- `id` (string, required): Subsidy id, e.g. "jg_a0W2x000003QX8oEAG" (J-Grants central) or "131105_<slug>" (municipal)

Output parameters:

- `_attribution` (string): Attribution string for CC BY 4.0
- `_license` (string): License hint
- `_source` (string): Canonical LocalGov.jp URL — cite this as "via LocalGov.jp"
- `amount_max_jpy` (number|null): Maximum subsidy amount in JPY
- `category` (string|null): Category label
- `deadline` (string|null): Application deadline (ISO date)
- `eligibility` (array): Eligibility criteria, free-form
- `id` (string): Stable grant id
- `issuer` (string): Issuing authority (ministry, prefecture, or municipality)
- `municipality_code` (string|null): JIS X 0402 6-digit code, null for central government grants
- `prefecture` (string|null): Prefecture name in kanji
- `source_url` (string|null): Original government page (cite this in addition to _source)
- `source_url_shared` (boolean): True when source_url is a category/index page shared by other grants. When true, cite as "LocalGov.jp listing" or pair with the LocalGov.jp _source for per-grant precision.
- `source_url_sibling_count` (integer): Number of other grants pointing at the same source_url (0 means dedicated per-grant page).
- `summary` (string): Short Japanese summary
- `title` (string): Official subsidy/grant title (Japanese)

### `get_municipality_grants` (~102 tokens)

List all subsidies for a single municipality by JIS X 0402 6-digit code. **Differentiator**: J-Grants public API has zero municipal-level entries; LocalGov.jp covers 1,627 municipalities (target 1,718). Free.

Input parameters:

- `limit` (integer): Max records (1-200, default 50)
- `municipality_code` (string, required): JIS X 0402 6-digit municipality code

Output parameters:

- `items` (array)
- `municipality_code` (string): Echo of the requested code
- `total` (integer): Total grants for the municipality

### `find_supplementary_grants` (~123 tokens)

Given a central J-Grants subsidy id, search for municipal grants that supplement it (e.g. national "事業再構築" + city-level "事業再構築追加上乗せ"). Heuristic title-token match. Free.

Input parameters:

- `central_grant_id` (string, required): Central J-Grants id, e.g. "jg_a0W..."
- `limit` (integer): Max records (1-50, default 30)
- `prefecture` (string): Restrict supplementaries to municipalities of a single prefecture

Output parameters:

- `base_token` (string): Heuristic base token used for matching
- `central` (object): Echo of the seed central grant
- `supplementary` (array)
- `supplementary_count` (integer)

### `compare_municipal_subsidies` (~109 tokens)

Compare same-category subsidies across nearby municipalities (same prefecture by default). Useful for relocation / siting decisions. Free.

Input parameters:

- `anchor_municipality_code` (string, required): JIS code of the anchor municipality to compare around
- `category` (string): Category to compare; if omitted, the most-frequent category at the anchor is auto-picked
- `max_municipalities` (integer): Max number of municipalities in the comparison (2-20, default 10)

Output parameters:

- `anchor_municipality_code` (string)
- `category` (string)
- `municipalities_compared` (integer)
- `per_municipality` (array)
- `prefecture` (string)

### `subscribe_changes` (~129 tokens)

Create a webhook subscription that pushes grant-change events matching a filter. Cost: $0.20 USDC via x402 (paid by the agent runtime). On 402 response, agent must satisfy payment and retry.

Input parameters:

- `callback_url` (string, required): HTTPS URL that will receive POSTed event payloads
- `filter` (object, required): At least one filter dimension required
- `hmac_secret` (string, required): Shared secret used to HMAC-SHA256 sign delivery payloads (16-256 chars)
- `ttl_days` (integer): Subscription lifetime in days (1-90, default 30)

Output parameters:

- `callback_url` (string)
- `details`
- `expires_at` (string)
- `payment_required` (boolean)
- `subscription_id` (string)

### `verify_receipt` (~40 tokens)

Return LocalGov.jp's Ed25519 public key (for offline citation-receipt verification). Callers verify receipt signatures using WebCrypto with this key.

Output parameters:

- `alg` (string): Signature algorithm (Ed25519)
- `issuer` (string): Trust anchor name
- `pubkey` (string): Base64-encoded 32-byte Ed25519 public key

### `find_practitioner` (~126 tokens)

Recommend 3 Japanese licensed practitioner types (行政書士 / 税理士 / 中小企業診断士 / 社労士) for the grant's category. Returns role explanations and official-association registry links. **Informational only** — LocalGov.jp does NOT broker, refer, or accept commission for these recommendations.

Input parameters:

- `grant_id` (string, required): Subsidy id (the recommendation is shaped by the grant's category and amount tier)
- `industry_hint` (string): Free-text industry context, e.g. "飲食業", "製造業"

Output parameters:

- `grant_id` (string)
- `legal_disclaimer` (string)
- `notice` (string)
- `practitioners` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/localgov-jp-mcp-server/localgov#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 67
- 2026-08-01: 66
- 2026-07-31: 66
- 2026-07-30: 65
- 2026-07-29: 64
- 2026-07-28: 64
- 2026-07-27: 63
- 2026-07-26: 62

## Links

- Remote endpoint: https://localgov.jp/mcp
- Repository: https://github.com/localgov-jp/localgov-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/localgov-jp-mcp-server/localgov/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/localgov-jp-mcp-server/localgov/changelog.json
- HTML version of this page: https://verifymcp.io/servers/localgov-jp-mcp-server/localgov
