npm mcp-server-geodata-placefinderstdioGPL-3.0updated 3mo ago
An open-source geocoding API and demo site that converts addresses into geographic coordinates (and vice versa) using Overture Maps data queried through DuckDB.
mcp server geodata placefinder 能做什么?
GeoDataPlacefinder
An open-source geocoding API and demo site that converts addresses into geographic coordinates (and vice versa) using Overture Maps data queried through DuckDB.
Features
- Geocoding — convert free-form addresses, place names, or categories into coordinates
- Reverse geocoding — find the nearest places to any latitude/longitude pair
- Nearest place — single closest match within a configurable radius
- Place detail — full Overture Maps record by place ID
- Zero external dependencies at runtime — DuckDB reads Overture Parquet files directly over HTTPS; no PostGIS, no Elasticsearch, no third-party API keys
Documentation
Full API reference is available on the live demo site at /docs, or read the source in lib/api-spec/openapi.yaml.
Endpoints
| Method | Path | Description |
|---|---|---|
GET |
/api/health |
Server status and cache info |
GET |
/api/search |
Geocode by name, address, city, postcode, or category |
GET |
/api/reverse |
Reverse geocode — places near a coordinate |
GET |
/api/places/nearest |
Single closest place within a radius |
GET |
/api/places/:id |
Full place detail by Overture place ID |
Quick example
# Geocode by name
curl "https://geodataplacefinder.org/api/search?q=Eiffel+Tower"
# Reverse geocode
curl "https://geodataplacefinder.org/api/reverse?lat=48.8584&lon=2.2945"
# Nearest place within 500 m
curl "https://geodataplacefinder.org/api/places/nearest?lat=48.8584&lon=2.2945&max_distance_m=500"
Installation
Prerequisites
- Docker (recommended)
- Or: Node.js 20+ and pnpm 9+
Docker (recommended)
# 1. Clone the repository
git clone https://github.com/your-org/geodataplacefinder.git
cd geodataplacefinder
# 2. Build and start both services
docker compose up --build
The API server is available at http://localhost:8080 and the demo site at http://localhost:3000. The production deployment is at https://geodataplacefinder.org.
Note: On first start DuckDB fetches ~50 000 place records from Overture Maps S3 (~15 s). Subsequent restarts load the local cache instantly from
data/places.duckdb.
Dockerfile (API server)
FROM node:20-alpine AS base
WORKDIR /app
# Install pnpm
RUN corepack enable && corepack prepare pnpm@latest --activate
# Install dependencies
COPY pnpm-workspace.yaml pnpm-lock.yaml package.json ./
COPY artifacts/api-server/package.json ./artifacts/api-server/
COPY lib/ ./lib/
RUN pnpm install --frozen-lockfile
# Build
COPY . .
RUN pnpm --filter @workspace/api-server run build
EXPOSE 8080
CMD ["node", "artifacts/api-server/dist/index.js"]
docker-compose.yml
version: "3.9"
services:
api:
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"
environment:
PORT: 8080
volumes:
- ./data:/app/data # persist the DuckDB cache between restarts
web:
build:
context: .
dockerfile: artifacts/geodata-web/Dockerfile
ports:
- "3000:3000"
environment:
PORT: 3000
depends_on:
- api
Manual installation (without Docker)
# 1. Clone
git clone https://github.com/your-org/geodataplacefinder.git
cd geodataplacefinder
# 2. Install dependencies (requires Node.js 20+ and pnpm 9+)
pnpm install
# 3. Start the API server (port 8080)
pnpm --filter @workspace/api-server run dev
# 4. In a separate terminal, start the frontend (port 25276 by default)
pnpm --filter @workspace/geodata-web run dev
Environment variables
| Variable | Default | Description |
|---|---|---|
PORT |
8080 |
API server port |
SESSION_SECRET |
— | Secret used for session signing (set for production) |
Contributing
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.
License
GeoDataPlacefinder is released under the GNU General Public License v3.0. See LICENSE for the full text.
Data sourced from Overture Maps Foundation, released under CDLA Permissive 2.0.
安装
把 mcp server geodata placefinder 添加到你的客户端。选择你正在使用的那个。
claude mcp add mcp-server-geodata-placefinder -- npx -y mcp-server-geodata-placefindercodex mcp add mcp-server-geodata-placefinder -- npx -y mcp-server-geodata-placefinderamp mcp add mcp-server-geodata-placefinder -- npx -y mcp-server-geodata-placefinder{
"mcpServers": {
"mcp-server-geodata-placefinder": {
"command": "npx",
"args": [
"-y",
"mcp-server-geodata-placefinder"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-server-geodata-placefinder": {
"command": "npx",
"args": [
"-y",
"mcp-server-geodata-placefinder"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-server-geodata-placefinder","command":"npx","args":["-y","mcp-server-geodata-placefinder"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-server-geodata-placefinder": {
"command": "npx",
"args": [
"-y",
"mcp-server-geodata-placefinder"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-server-geodata-placefinder": {
"command": "npx",
"args": [
"-y",
"mcp-server-geodata-placefinder"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-server-geodata-placefinder": {
"command": "npx",
"args": [
"-y",
"mcp-server-geodata-placefinder"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-server-geodata-placefinder": {
"type": "local",
"command": "npx",
"args": [
"-y",
"mcp-server-geodata-placefinder"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-server-geodata-placefinder": {
"command": {
"path": "npx",
"args": [
"-y",
"mcp-server-geodata-placefinder"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y mcp-server-geodata-placefinderRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
评分
39 / 100
不完整
- 文档25/25
- 维护13/25
- 可信度13/20
- 能力0/15
- 安装体验12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 99 days ago
- Has a release history
- Repository is not archived
- Licensed GPL-3.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
版本历史
| 版本 | 发布于 |
|---|---|
| 2.0.0最新 | 2026年5月25日 |
| 1.0.0 | 2026年5月24日 |