Google Flights
Google Flights fares, airlines, stops and durations for any route. Paid, on Apify's hosted MCP.
Beschreibung vom Entwickler (englisches Original)
Safe MCP server for PostGIS and Oracle Spatial: query geodata and answer with maps.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
DATABASE_URLAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"mapsql": {
"command": "uvx",
"args": [
"mapsql-mcp"
],
"env": {
"DATABASE_URL": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add mapsql --env DATABASE_URL=your-value -- uvx mapsql-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"mapsql": {
"command": "uvx",
"args": [
"mapsql-mcp"
],
"env": {
"DATABASE_URL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"mapsql": {
"type": "stdio",
"command": "uvx",
"args": [
"mapsql-mcp"
],
"env": {
"DATABASE_URL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto mveyseldelibas bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: DATABASE_URL
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.0) kam vorgestern in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Google Flights, RoamDial — World Radio Map, RoamDial — World Radio Map
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Google Flights fares, airlines, stops and durations for any route. Paid, on Apify's hosted MCP.
Explore 35,000+ live radio stations from 215 countries by city, genre, mood, and ICY track title.
Explore 35,000+ live radio stations from 215 countries by city, genre, mood, and ICY track title.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Ask your PostGIS or Oracle Spatial database questions in plain English and get the answer back as a map.
mapsql-mcp is a Model Context Protocol server that lets AI assistants (Claude Desktop, Claude Code, Cursor, and any other MCP client) explore, query and analyse a PostGIS or an Oracle Spatial (SDO_GEOMETRY) database *safely* and answer with maps rendered right in the chat.
*"Which pharmacies are within 500 m of Kızılay square?"* - the model discovers the layers, calls
within_distance(geodesic metres, whatever the table's SRID), thenrender_map. The picture above is the
literal output of those two tool calls on the bundled demo database.
*The GIF is built by scripts/make_demo_video.py from real tool outputs on the demo databases (PostGIS and Oracle).*
Türkçe: kullanım kılavuzu aşağıda · Who is it for / step-by-step: Usage
Generic Postgres or Oracle MCP servers are not spatial-aware: the model has to hand-write PostGIS / SDO_* SQL and gets SRIDs, geography casts, units and ST_DWithin / SDO_WITHIN_DISTANCE arguments wrong in subtle ways, then cannot show the result. mapsql-mcp is built around three ideas:
sqlglot in Oracle mode), runs in a READ ONLY transaction with a timeout and a row cap, and secrets never reach the model. Writes are off unless you ask for them (PostGIS only).within_distance, nearest, buffer, spatial_filter, spatial_join, aggregate, bbox_of ... take care of SRIDs, metric units and indexes - the same 14 tools on both databases. Plain run_sql is still there.render_map returns a PNG (OpenStreetMap basemap, choropleths, labels) as MCP image content and can also write an interactive Leaflet HTML file.And the model is told to ask instead of guess: the server instructions, a prompt and the tools themselves refuse to proceed on "pharmacies nearby" (*nearby what?*) or on a place name that matches ten features.
Requires Python 3.10+ and a PostGIS or Oracle Spatial database. Use a read-only database role / user (see SECURITY.md). The backend is chosen from the connection string.
pip install mapsql-mcp # or: pipx install mapsql-mcp | uvx mapsql-mcp
export DATABASE_URL=postgresql://readonly:secret@localhost:5432/gis mapsql-mcp --check # prints PostgreSQL/PostGIS versions and exits
pip install "mapsql-mcp[oracle]" export DATABASE_URL="oracle://MAPSQL_RO:secret@dbhost:1521/ORCLPDB1" mapsql-mcp --check
Edit claude_desktop_config.json (macOS ~/Library/Application Support/Claude/, Windows %APPDATA%\Claude\):
{
"mcpServers": { "postgis": { "command": "uvx", "args": ["mapsql-mcp"], "env": { "DATABASE_URL": "postgresql://readonly:secret@localhost:5432/gis" } } } }
claude mcp add postgis -e DATABASE_URL=postgresql://readonly:secret@localhost:5432/gis -- uvx mapsql-mcp
.cursor/mcp.json) / Windsurf{
"mcpServers": { "postgis": { "command": "uvx", "args": ["mapsql-mcp", "--schemas", "public,osm"], "env": { "DATABASE_URL": "postgresql://readonly:secret@localhost:5432/gis" } } } }
.vscode/mcp.json, Copilot Chat in Agent mode)VS Code uses a servers key and can prompt for the password instead of storing it in the file:
{
"inputs": [ { "id": "pg-url", "type": "promptString", "description": "PostGIS connection URL", "password": true } ], "servers": { "postgis": { "type": "stdio", "command": "uvx", "args": ["mapsql-mcp", "--schemas", "public,osm"], "env": { "DATABASE_URL": "${input:pg-url}" } } } }
Run the streamable-HTTP transport and point the client at http://127.0.0.1:8000/mcp:
mapsql-mcp --transport streamable-http --host 127.0.0.1 --port 8000
There is no authentication on the HTTP transport: keep it on loopback or put it behind your own authenticating reverse proxy / tunnel. If you installed from a clone use "command": "python", "args": ["-m", "mapsql_mcp"].
Who it is for. GIS developers, database people, analysts and researchers who already use an AI assistant (Claude Code, Claude Desktop, Cursor, VS Code + Copilot) and have spatial data in PostGIS or Oracle Spatial. It is a building block for an assistant, not an end-user app: there is no web UI of its own, the chat window *is* the UI.
1. Install:
pipx install "mapsql-mcp[oracle]" # or: pip install "mapsql-mcp[oracle]"
2. Point it at a database with a read-only user and check the connection:
export DATABASE_URL=postgresql://readonly:secret@localhost:5432/gis # or oracle://USER:PASS@host:1521/service
mapsql-mcp --check
No database at hand? Build the bundled demo (Natural Earth + OpenStreetMap Ankara) in two minutes, see the next section.
3. Register it with your assistant. Put one of the JSON blocks from *Quickstart* into the client's config (.mcp.json for Claude Code, .vscode/mcp.json for VS Code, .cursor/mcp.json for Cursor, claude_desktop_config.json for Claude Desktop). In VS Code click Start above the server entry; in Claude Code run /mcp and check it says *connected*. You should see 14 tools.
4. Ask in plain language. For example:
5. See the map. render_map returns the PNG to the assistant and saves it (and optionally an interactive Leaflet HTML) under ~/mapsql-mcp-output. Some clients (e.g. the Claude Code panel in VS Code) do not show tool images to you; add MAPSQL_OPEN_MAPS=1 (or --open-maps) to the server's env and every map opens in your default viewer.
Good to know. The assistant's provider (Anthropic, OpenAI, ...) receives the rows the tools return, so do not connect databases whose content must not leave your organisation; use --schemas / --layers to expose only what is needed, and keep the database user read-only.
The demo data is Natural Earth (world countries, provinces, cities, rivers, lakes - public domain) plus an OpenStreetMap extract of central Ankara (POIs, roads, parks, 105 neighbourhoods - ODbL). A pinned snapshot ships in demo/data (2.8 MB), so building it works offline.
docker run -d --name pg -p 55432:5432 -e POSTGRES_PASSWORD=pw postgis/postgis:16-3.4
pip install -e . python demo/build_demo_db.py --database-url postgresql://postgres:pw@localhost:55432/postgres export DATABASE_URL=postgresql://postgres:pw@localhost:55432/postgres
Then ask your assistant, for example:
Cafes per neighbourhood (spatial_join + choropleth) | 5 nearest hospitals (nearest) |
|---|---|
*Map data © OpenStreetMap contributors (ODbL).* Interactive versions of two of them: docs/images/*.html (open in a browser).
New in v0.2: the same tools, the same safety model and the same maps on Oracle Database with Spatial (19c, 21c, 23ai / 26ai, Autonomous Database, ...), through python-oracledb in *thin* mode (no Oracle Client libraries needed).
*Same question, same answer (20 pharmacies) as on PostGIS - this time from SDO_WITHIN_DISTANCE(... 'distance=500 unit=M') on an Autonomous Database. Map data (c) OpenStreetMap contributors (ODbL).*
pip install "mapsql-mcp[oracle]" # adds oracledb + sqlglot
| Variable | Meaning | |
|---|---|---|
DATABASE_URL=oracle://USER:PASS@host:1521/service_name | Easy form. Percent-encode special characters in the password (@ -> %40). Add ?protocol=tcps (or ?tls=true) for TLS; other ?key=value pairs are passed on as Easy Connect parameters (e.g. ssl_server_dn_match=yes). | |
MAPSQL_ORACLE_DSN + MAPSQL_ORACLE_USER + MAPSQL_ORACLE_PASSWORD | For long TNS descriptors, tcps://host:1522/service strings or tnsnames.ora aliases (with TNS_ADMIN). The DSN overrides the host part of an oracle:// URL; user/password given here override those in the URL. Keeping the password out of the URL avoids quoting problems. | |
MAPSQL_ORACLE_WALLET_DIR, MAPSQL_ORACLE_WALLET_PASSWORD | Only for mutual-TLS (wallet) connections, e.g. Autonomous Database with "mTLS required". | |
| `MAPSQL_BACKEND=postgis\ | oracle / --backend` | Force the backend. Default: detected from the DATABASE_URL scheme, or Oracle when only MAPSQL_ORACLE_DSN is set. |
All other settings (MAPSQL_SCHEMAS, MAPSQL_LAYERS, MAPSQL_STATEMENT_TIMEOUT_MS, MAPSQL_MAX_ROWS, ...) work unchanged; the timeout is applied as the connection call_timeout, schemas are Oracle *owners*.
Autonomous Database (TLS, no wallet). In the console open *Database connection*, choose *TLS authentication: TLS* (instead of mTLS; requires an access control list / allowed IPs for your address) and copy the Low/Medium connection string. The descriptor looks like (description=(address=(protocol=tcps)(port=1522)(host=...))(connect_data=(service_name=...))(security=(ssl_server_dn_match=yes))); put it in MAPSQL_ORACLE_DSN (it is long and contains parentheses, so it does not fit well in a URL). The server certificate is verified against the operating system's trust store. Use a dedicated read-only user, never ADMIN.
export MAPSQL_ORACLE_DSN='(description=(retry_count=3)(address=(protocol=tcps)(port=1522)(host=adb.<region>.oraclecloud.com))(connect_data=(service_name=xxxx_myNur der Anfang wird gezeigt; den Rest findest du im Repo