Addressfinder MCP by usefulapi
Autocomplete and verify NZ and AU addresses, and search NZ and AU locations in Addressfinder.
作者による説明(英語の原文)
Place search, directions, isochrones & area analysis across 10 map providers. No API key to start.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
GOOGLE_MAPS_API_KEY, YELP_API_KEY, CENSUS_API_KEY, FOURSQUARE_API_KEY, GEOWIRE_INTERNAL_CSV, GEOWIRE_CONFIG「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"geowire": {
"command": "npx",
"args": [
"-y",
"@geowirehq/mcp"
],
"env": {
"GOOGLE_MAPS_API_KEY": "your-value",
"YELP_API_KEY": "your-value",
"CENSUS_API_KEY": "your-value",
"FOURSQUARE_API_KEY": "your-value",
"GEOWIRE_INTERNAL_CSV": "your-value",
"GEOWIRE_CONFIG": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add geowire --env GOOGLE_MAPS_API_KEY=your-value --env YELP_API_KEY=your-value --env CENSUS_API_KEY=your-value --env FOURSQUARE_API_KEY=your-value --env GEOWIRE_INTERNAL_CSV=your-value --env GEOWIRE_CONFIG=your-value -- npx -y @geowirehq/mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"geowire": {
"command": "npx",
"args": [
"-y",
"@geowirehq/mcp"
],
"env": {
"GOOGLE_MAPS_API_KEY": "your-value",
"YELP_API_KEY": "your-value",
"CENSUS_API_KEY": "your-value",
"FOURSQUARE_API_KEY": "your-value",
"GEOWIRE_INTERNAL_CSV": "your-value",
"GEOWIRE_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"geowire": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@geowirehq/mcp"
],
"env": {
"GOOGLE_MAPS_API_KEY": "your-value",
"YELP_API_KEY": "your-value",
"CENSUS_API_KEY": "your-value",
"FOURSQUARE_API_KEY": "your-value",
"GEOWIRE_INTERNAL_CSV": "your-value",
"GEOWIRE_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
GEOWIRE_INTERNAL_CSV envGEOWIRE_CONFIG envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント geowire で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:GOOGLE_MAPS_API_KEY, YELP_API_KEY, CENSUS_API_KEY, FOURSQUARE_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.6.1)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Addressfinder MCP by usefulapi, topo^alpin, Dojazdomat
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Autocomplete and verify NZ and AU addresses, and search NZ and AU locations in Addressfinder.
Avalanche bulletins, mountain weather, stations, huts, ski and snowshoe tours in the Alps.
Warsaw commute by transit, bike, walk or car plus rent medians: rank, compare, trend areas.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Give any AI agent real-world location intelligence in 5 minutes — no API key required.
One interface for place search, directions, and area/market analysis across every map provider.
GeoWire is an open-source geo intelligence gateway that sits between AI agents and map/place data providers (OpenStreetMap, Google, Yelp, Foursquare, US Census, your own data) and exposes them through a single MCP server, REST API, and SDK. One interface for place search, geocoding, directions & distance matrices, and commercial-area analysis (density, ratings, demographics) — with provider fallback, multi-provider merge + dedup, cost budgets, and a policy engine that enforces each provider's caching/attribution terms.
Published on npm — MCP · REST · CLI · SDK all functional. 10 providers, 8 operations.
Honest by design: OpenStreetMap (the zero-key default) is a great
*geocoder* — strong on place names, addresses, and landmarks — but thin on
category words ("coffee", "pharmacy"), ratings, and hours. For US/Western
commercial data, add a Google, Yelp, or Foursquare key (BYOK) — GeoWire merges
them and tells you which source every field came from. Directions run key-free
on OpenStreetMap routing (OSRM); US demographics come from the Census (free key).
Contents: Why · Quickstart · MCP tools · REST · Anatomy of a response · Config · Providers · Recipes & examples · Roadmap · Architecture
| Direct integration | Single-provider MCP | GeoWire | |
|---|---|---|---|
| Unified place schema | ❌ per-provider code | ❌ | ✅ |
| Provider fallback on failure | ❌ | ❌ | ✅ |
| Multi-provider merge + dedup | ❌ | ❌ | ✅ |
| Cost budgets & routing | ❌ | ❌ | ✅ |
| Works without any API key | ❌ | depends | ✅ (OSM by default) |
| Self-hosted | — | depends | ✅ |
| Your own place data as a provider | ❌ | ❌ | ✅ |
| Transparent provenance (which source, what cost) | ❌ | ❌ | ✅ (every response) |
**Not a Google replacement — it *uses* Google. The thing no single provider can do: merge your own store data + Google + OSM** into one deduped record, with per-field provenance (your name is authoritative, Google adds ratings, OSM adds coordinates). Real run below:
Once your agent can find places, it can reason about *areas*. One analyze_area call turns a point + radius into a commercial-district read — category density, competition, the rating landscape, and (in the US) demographics:
// "Is this a good block for a new café?" — SF, 1 km radius
{ "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radiusMeters": 1000, "categories": ["cafe", "restaurant", "bar"] } // → per-category counts + density/km², avg rating (Google/Yelp), price mix, // an activity proxy (Yelp review volume), and Census demographics for the tract.
Same gateway also does directions & distance matrices and travel-time isochrones — key-free via OSRM — so an agent can rank candidates by drive time and answer catchment questions like *"what's within a 15-minute drive of this address?"* See Recipes.
Add this to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": { "geowire": { "command": "npx", "args": ["-y", "@geowirehq/mcp"] } } }
Then ask: *"Where is the Golden Gate Bridge?"*, *"Find coffee within 2 km of 37.7749, -122.4194 (San Francisco)."*, or *"How do I drive from downtown SF to Fisherman's Wharf?"* Works with zero API keys — OpenStreetMap + OSRM routing are the defaults. Add "env": { "GOOGLE_MAPS_API_KEY": "..." } (or YELP_API_KEY) for ratings, reviews, and hours, and "CENSUS_API_KEY" for area demographics. See more MCP client configs.
npx @geowirehq/cli search "Golden Gate Bridge" # terminal search with a results table
npx @geowirehq/cli search "coffee" --near 37.7749,-122.4194 --radius 2000 # near a coordinate npx @geowirehq/cli reverse 37.8199,-122.4783 # coordinate → nearest place npx @geowirehq/cli route 37.7749,-122.4194 37.8083,-122.4156 # driving directions (no key, OSRM) npx @geowirehq/cli get google:ChIJ... # one place by reference (getPlace-capable provider) npx @geowirehq/cli # start the REST + MCP server (zero-config) npx @geowirehq/cli init # interactive setup wizard (.env + config) npx @geowirehq/cli test # check provider connections
Add --json to any command for the full response (results + provenance meta).
docker run -p 4980:4980 geowire/geowire
curl -X POST http://localhost:4980/v1/places/search \ -H 'content-type: application/json' \ -d '{"query":"coffee","near":{"latitude":37.7749,"longitude":-122.4194},"radiusMeters":2000}'
Or with docker compose up (see docker-compose.yml). API docs at /docs.
import { createGeoWire } from "@geowirehq/core";
import { createNominatimProvider } from "@geowirehq/provider-nominatim";
const geo = createGeoWire({ providers: [createNominatimProvider()] }); const { results, meta } = await geo.searchPlaces({ query: "coffee", near: { latitude: 37.7749, longitude: -122.4194 }, radiusMeters: 2000, });
Full embedded-SDK guide: examples/typescript-sdk.md.
| Tool | Description |
|---|---|
search_places | Natural-language + coordinate/region place search |
get_place | Details by provider:providerPlaceId reference |
geocode_address | Address → coordinates (+ normalized address) |
reverse_geocode | Coordinates → nearest address |
get_directions | Route between waypoints (distance, time, legs) — no key (OSRM) |
distance_matrix | N×M travel distances/times — rank candidates by drive time — no key |
analyze_area | Commercial-area analysis: category density, competition, rating landscape, demographics |
get_isochrone | Travel-time reachability polygon ("what's within a 15-min drive") — no key (OSRM) |
get_demographics | Population / age / income for a coordinate's area (US Census, free key) |
list_geo_providers | Active providers, capabilities, status (agent self-awareness) |
Every response includes both a human-readable summary and structuredContent (schema-valid JSON).
| Method | Path | |
|---|---|---|
| POST | /v1/places/search | search |
| GET | /v1/places/{ref} | place details (provider:id) |
| GET | /v1/geocode?address= | geocode |
| GET | /v1/reverse-geocode?lat=&lon= | reverse geocode |
| POST | /v1/directions | directions between waypoints (no key) |
| POST | /v1/distance-matrix | N×M travel distance/time matrix (no key) |
| POST | /v1/analyze-area | commercial-area analysis (density, competition, ratings, demographics) |
| POST | /v1/isochrone | travel-time reachability polygon (no key) |
| GET | /v1/demographics?lat=&lon= | area demographics (US Census, free key) |
| GET | /v1/providers | list providers |
| GET | /v1/health | health check |
| GET | /metrics | Prometheus metrics |
| GET | /docs | Swagger UI (OpenAPI 3.1) |
| POST | /mcp | MCP over Streamable HTTP |
Optional Bearer auth: set GEOWIRE_API_KEYS=key1,key2.
No black box. Every response carries a meta block: which providers were used / skipped / failed (and why), dedup counts, cache status, estimated cost, and per-field sourcing — so you always know where each value came from.
{
"results": [{ "id": "gwp_CvWvRZrFtegkJPxP9CW0", "name": "Golden Gate Bridge", "location": { "latitude": 37.8199286, "longitude": -122.4782551 }, "sources": [{ "provider": "nominatim", "providerPlaceId": "way/27385590", "fields": ["name", "location", "categories", "address"] // ← what this source contributed }], "attributions": ["© OpenStreetMap contributors"] }], "meta": { "providersUsed": [{ "provider": "nominatim", "resultCount": 1, "latencyMs": 2449 }], "providersSkipped": [], // e.g. { provider: "google", reason: "MISSING_CREDENTIALS" | "QUOTA_EXCEEDED" } "providersFailed": [], // e.g. { provider: "google", reason: "TIMEOUT" } "strategy": "first-success", "cache": { "hit": false } // merging adds: "dedup": { "before": 3, "after": 1 } // paid provider: "estimatedCostUSD": 0.032 } }
After a merge, sources[].fields shows (say) the phone came from Google while the coordinates came from OSM. Walkthrough: docs/recipes.md.
geowire.config.yaml:
providers:
nominatim: { enabled: true } # default ON, no key (search/geocode) osrm: { enabled: true } # default ON, no key (directions) google: { enabled: true, apiKey: ${GOOGLE_MAPS_API_KEY} } yelp: { enabled: true } # env YELP_API_KEY (US/Western business & reviews) census: { enabled: true } # env CENSUS_API_KEY (US demographics, free) kakao: { enabled: true } # env KAKAO_REST_API_KEY (KR) internal: { enabled: true, source: ./my-places.csv, priority: 100 } routing: defaultStrategy: merge # first-success | merge | cost-aware | weighted | fastest providerWeights: # for weighted: order by priority·cost·coverage priority: 0.5 cost: 0.3 coverage: 0.2 budget: perRequestMaxUSD: 0.10 # over-budget paid providers are skipped, free ones used
Keys come from the environment (${VAR}), never committed in plaintext.
| Provider | Key? | Capabilities |
|---|---|---|
@geowirehq/provider-nominatim (OpenStreetMap) | none | search, geocode, reverseGeocode |
@geowirehq/provider-osrm (OpenStreetMap routing) | none | route, distanceMatrix |
@geowirehq/provider-google (Maps Platform) | BYOK | search, geocode, reverseGeocode, getPlace, route, distanceMatrix |
@geowirehq/provider-kakao (카카오맵, KR) | BYOK KAKAO_REST_API_KEY | search, geocode, reverseGeocode |
@geowirehq/provider-naver (네이버 지역검색, KR) | BYOK NAVER_CLIENT_ID+NAVER_CLIENT_SECRET | search, geocode |
@geowirehq/provider-baidu (百度地图, CN) | BYOK BAIDU_MAP_AK | search, geocode, reverseGeocode |
@geowirehq/provider-foursquare (global POI) | BYOK FOURSQUARE_API_KEY | search, getPlace |
@geowirehq/provider-yelp (US/Western business, ratings & reviews) | BYOK YELP_API_KEY | search, getPlace |
@geowirehq/provider-census (US demographics) | BYOK CENSUS_API_KEY (free) | demographics |
@geowirehq/provider-internal (your CSV) | none | search |
Regional providers make Korea (Kakao/Naver) and China (Baidu) coverage first-class where OSM is thin and Google has gaps — Baidu returns BD-09 coordinates, which GeoWire converts to WGS84 automatically. Merge them all + your own store data into one deduped
冒頭だけを表示しています。続きはリポジトリで読めます