Geojp

io.github.55tarkun由 GitHub 帳號 55tarkun 發布v0.1.0更新於 Oct 24, 2026

MCP server for Japan geodata: cadastral lot numbers (chiban) and reverse geocoding, for AI agents.

已驗證Streamable HTTP可網頁執行位置與生活資料與分析

概覽

AI 產生的概覽

Geojp 將日本地理資料 API 提供給 AI 助理:地號(chiban)查詢,以及依座標或地址進行的日本地址地理編碼。

可以做什麼
依經緯度查詢所在的地籍地塊,回傳地號(chiban)、大字/字、市町村與測量精度等級。將座標反查為最近的日本居住地址,包含都道府縣、市町村、地區與郵遞區號。將部分地址正向地理編碼為最多 10 個候選地點。透過一次平行呼叫同時取得地址與地號,當座標超出地號涵蓋範圍時僅回傳地址。
適用情境
適合日本不動產盡職調查、土地交易流程,或任何需要座標背後地籍地號的工作,這類資訊通常無法從通用地理編碼服務取得。也適合助理在日本地址與座標之間互相轉換。
執行需求
可連線託管的遠端端點,或以 Node.js 透過 npx 在本機執行 npm 套件 geojp-mcp。需要 ReverseGeoJP/ChibanJP 的 API 金鑰:本機使用時透過環境變數 GEOJP_API_KEY 提供,遠端端點則使用 Authorization bearer 權杖。需要能存取上游 API 的網路。
安裝前請注意
API 金鑰(GEOJP_API_KEY 或 Authorization bearer 權杖)屬於機密,不應分享或提交至程式碼庫。每次呼叫都會代理至第三方的 ReverseGeoJP/ChibanJP 正式 API,因此座標與地址會傳送給該服務商。使用可能受該服務商條款或配額限制。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Geojp,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.55tarkun%2Fgeojp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "geojp": {
      "type": "http",
      "url": "https://mcp.reversegeojp.com/",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

geojp-mcp

日本語版 README はこちら

An MCP (Model Context Protocol) server that exposes two Japan-specific geodata APIs as tools for AI agents (Claude Code, Claude Desktop, and other MCP clients):

  • ChibanJP — coordinates → chiban (地番, the official cadastral lot number recorded at Japan's Legal Affairs Bureau). Chiban rarely maps predictably to a residential address (住居表示) and is not exposed by most general-purpose geocoders.
  • ReverseGeoJP — coordinates ⇄ Japanese address (reverse geocoding / forward geocoding).

Why chiban?

Japan uses two independent addressing systems: the residential address (住居表示) that appears on maps and mail, and the chiban — the cadastral lot number used in property registries, land transactions, and legal documents. The two do not follow a predictable pattern, so converting between them requires a dedicated lookup against registry map data, not a lookup table.

Chiban matters for real estate due diligence, land transaction platforms, and any workflow that touches Japan's registry system — a growing need as foreign investment in Japanese real estate rises. Most global geocoding APIs do not source chiban directly from registry map data, which is why this exists as a standalone tool.

Tools

ToolBacking APIInputReturns
get_parcelChibanJP /parcellat, lonChiban (cadastral lot number), ōaza/aza, municipality, and survey precision class for the containing parcel
reverse_geocodeReverseGeoJP /reverselat, lonNearest residential address (prefecture, municipality, district, postal code)
geocodeReverseGeoJP /geocodeaddressUp to 10 candidate locations for a partial address match
lookup_locationBoth, in parallellat, lonAddress and chiban together in one call (an orchestration example — succeeds with address-only if the point falls outside ChibanJP's current coverage)

All tools share a single API key. Get one at reversegeojp.com.

Two ways to run it

The tool definitions live in src/tools.ts and are shared by both entry points:

  • Local (stdio) — src/index.ts. Your MCP client launches it as a child process on your machine. One user, one API key.
  • Remote (HTTP, Cloudflare Workers) — src/worker.ts. Already deployed at https://mcp.reversegeojp.com; anyone can connect with their own API key, no build step required.

Setup (local/stdio)

bash
npm install -g geojp-mcp

or, from source:

bash
npm installnpm run build

The server reads the API key from the GEOJP_API_KEY environment variable. You normally don't run it directly — your MCP client starts it as a subprocess (see below).

Register with Claude Code

bash
claude mcp add --scope user geojp -e GEOJP_API_KEY=your-api-key-here -- npx geojp-mcp

--scope user makes it available across all projects on your machine (omit it to register for the current project only). Verify with claude mcp list.

Argument order matters: -e/--env accepts multiple values, so it will swallow subsequent arguments if placed before the server name. Keep the order: add, then the server name, then -e.

Or configure manually in .mcp.json / ~/.claude.json:

json
{  "mcpServers": {    "geojp": {      "type": "stdio",      "command": "npx",      "args": ["geojp-mcp"],      "env": {        "GEOJP_API_KEY": "your-api-key-here"      }    }  }}

Register with Claude Desktop

Add the same block to the mcpServers section of claude_desktop_config.json, then restart Claude Desktop. Four tools (reverse_geocode, geocode, get_parcel, lookup_location) become available.

Setup (remote/HTTP)

Connect directly to the hosted server with your own API key — no install or build required:

bash
claude mcp add --scope user --transport http geojp-remote https://mcp.reversegeojp.com --header "Authorization: Bearer your-api-key-here"

Health check: GET https://mcp.reversegeojp.com/health.

Remote server design notes

  • No bindings, stateless: the Worker holds no session state and uses no Durable Objects. Every call reads the API key from the Authorization header and proxies straight through to the ReverseGeoJP/ChibanJP production APIs. This avoids the paid Workers plan that Durable Objects require, so it runs on the same free plan as reverse-geo-jp/chibanjp with no added infrastructure cost (the more common McpAgent pattern from agents-sdk assumes Durable Objects and a paid plan).
  • Web Standards transport: uses @modelcontextprotocol/sdk's WebStandardStreamableHTTPServerTransport, since the Node-only StreamableHTTPServerTransport depends on http.IncomingMessage/ServerResponse, which don't exist in the Workers runtime.
  • Gotcha: reversegeojp-client/chibanjp-client default to holding a bare, unbound fetch (this.fetchImpl = options.fetch ?? fetch), which throws "Illegal invocation" on Cloudflare Workers. Fixed by passing an explicitly-bound fetch into the client constructor options in createGeojpMcpServer() (see boundFetch in src/tools.ts). Also fixed upstream in geojp-api-clients v0.1.1 (fetch.bind(globalThis)); geojp-mcp depends on that version, and keeps the local boundFetch as a harmless fallback.

Deploy / local dev

bash
npm run worker:dev     # local wrangler dev server (http://127.0.0.1:8787 etc.)npm run worker:check   # typecheck against the Workers tsconfig onlynpm run worker:deploy  # deploy to production

Smoke test (no API key required — wiring check only)

bash
npm run smoke-test

Starts the server with a dummy key and confirms the tool list loads and a real API call correctly returns an invalid_api_key error.

Why this exists

ReverseGeoJP/ChibanJP were already running as APIs meant to be called directly by developers reading the docs. This project exposes them as MCP tools so AI agents can discover and call them automatically — reusing the existing production infrastructure while building hands-on MCP/agent-integration experience.

License

MIT

來源:README.md,提交 a9ee994

工具

0
該伺服器需要 API 金鑰等憑證,因此 SourceWeft 無法在沒有憑證的情況下讀取其工具,也未收錄。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分