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 分