QGIS MCP
Provides tools to interact with a live QGIS project, including layer management, styling, labeling, selections, running Processing algorithms, querying and editing attributes, geocoding, and executing PyQGIS code.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@QGIS MCPshow me the layers in my project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
QGIS MCP [PL]
English
1. Project description
QGIS MCP is a local MCP server that lets Claude Desktop (others as well) see and act on the QGIS project you currently have open — list and edit layers, styling, labels, and selections, run Processing algorithms, query and edit attributes, geocode addresses, and even execute arbitrary Python against the live project — all without leaving your machine.
The system is made of two cooperating processes that never share code:
Claude Desktop
| stdio (MCP)
v
server/ local Python process, connects over TCP — never imports qgis.*
| 127.0.0.1:9876, newline-delimited JSON
v
plugin/qgis_mcp/ QGIS plugin, runs inside QGIS's own interpreter
v
QgsProject.instance() (the project you have open)server/is what Claude Desktop launches and talks MCP to.plugin/qgis_mcp/is a QGIS plugin that runs a small command server inside QGIS and answers requests fromserver/over a loopback-only socket (127.0.0.1) — nothing is ever exposed to the network.
Because everything runs locally over 127.0.0.1, your project data never leaves your machine except for the parts of the conversation you share with Claude.
2. Requirements
QGIS 3.22 or newer, installed and runnable on your machine.
Claude Desktop, installed and signed in.
Python 3.12+ to run the local MCP server (a dedicated virtual environment is created for it; it does not use QGIS's bundled Python).
macOS, Windows, or Linux — installing the plugin through QGIS's Plugin Manager (see below) works on all platforms. Some developer-only scripts in this repo (
scripts/deploy_plugin.sh) are macOS-specific and are not needed for normal use.
3. Installing the QGIS Plugin
The plugin is distributed as a .zip file attached to the project's GitHub Releases page (qgis_mcp-<version>.zip).
Download the latest
qgis_mcp-<version>.zipfrom the Releases page.In QGIS, open Plugins → Manage and Install Plugins…
Go to the Install from ZIP tab.
Select the downloaded
.zipfile and click Install Plugin.Make sure QGIS MCP is checked/enabled in the plugin list.
Once enabled, the plugin automatically starts a command server listening on 127.0.0.1:9876 — there is nothing else to click or start. You can confirm it's running from the small toolbar icon / menu entry the plugin adds; that toggle only lets you stop the server, since it starts on its own so Claude Desktop can always reach it.
If you install a newer version of the plugin later, restart QGIS afterwards to make sure the updated code is loaded.
4. Downloading the server & configuring Claude Desktop
a) Get the server code
This project is managed with uv. With uv installed:
git clone https://github.com/piatkowski/qgis-mcp.git
cd qgis-mcp
uv syncThis creates a .venv and installs the exact dependency versions from uv.lock (fastmcp, httpx). Nothing from qgis.* is required here — this environment is completely separate from QGIS.
If you don't have uv installed, plain pip works too — dependencies are declared in pyproject.toml, no requirements.txt needed:
git clone https://github.com/piatkowski/qgis-mcp.git
cd qgis-mcp
python3 -m venv .venv
.venv/bin/pip install -e .This installs the same packages, just without pinning to the exact locked versions in uv.lock.
b) Point Claude Desktop at it
Open Claude Desktop's config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Add (or merge) an entry under mcpServers, using the absolute path to the .venv you just created:
{
"mcpServers": {
"qgis-mcp": {
"command": "/absolute/path/to/qgis-mcp/.venv/bin/python",
"args": ["-m", "server"]
}
}
}On Windows, command would instead point at ...\qgis-mcp\.venv\Scripts\python.exe.
c) Restart Claude Desktop
Quit and reopen Claude Desktop. With QGIS open and the plugin enabled, Claude should now be able to list and use the QGIS MCP tools.
d) Verify the connection (optional, for troubleshooting)
With QGIS running and the plugin enabled, you can check the two sides can talk directly from a terminal:
.venv/bin/python -c "from server.bridge import request; print(request('ping'))"A successful response confirms the server can reach the plugin's command server inside QGIS.
5. Available tools
Related MCP server: QGISMCP
1. QGIS Project & Session
Tool | Description |
| Check connection to QGIS and API version. |
| Open a |
| Save project (with "save as" option). |
| Create a new empty project. |
| Project metadata: CRS, path, layer count, extent. |
| Set project CRS (e.g. EPSG:2180). |
| Title, author, abstract, keywords. |
| List layers with ID, type, CRS, visibility. |
| Snapshot project state to JSON (backup/rollback). |
| Execute arbitrary PyQGIS code (expert mode, gated). |
| List Processing algorithms with text filter. |
| Description of parameters for a selected algorithm. |
| Run any Processing algorithm with parameters. |
2. Map Navigation & View
Tool | Description |
| Zoom to given bbox + CRS. |
| Zoom to layer extent. |
| Zoom to selected features. |
| Zoom to full project extent. |
| Set map scale (e.g. 1:10000). |
| Center view on coordinates. |
| Zoom to place by name (via geocoder). |
| Zoom to administrative unit by TERYT code. |
| Rotate map by given angle. |
| Current view extent in selected CRS. |
| Current map scale. |
| Render view to PNG (returned as image). |
| Set canvas background color. |
| Refresh the map canvas. |
| "Click" at a point: returns attributes of all visible layers. |
3. Layer Management
Tool | Description |
| Load vector file (SHP, GPKG, GeoJSON, GML). |
| Load raster (GeoTIFF, ECW, JP2). |
| Add layer from any provider URI. |
| Remove a layer. |
| Rename a layer. |
| Toggle layer visibility on/off. |
| Set opacity 0–100%. |
| Change layer order in the layer tree. |
| Create a layer group. |
| Move layer into a group. |
| Duplicate a layer. |
| Scale-dependent visibility. |
| CRS, geometry type, feature count, extent, source, encoding. |
| Assign/fix layer CRS (without reprojection). |
| Reproject to a new CRS (e.g. 4326 → 2180). |
| Configure layer temporal properties. |
4. Symbology, Labels & Style
Tool | Description |
| Single symbol renderer (color, outline, size). |
| Categorized renderer by field. |
| Graduated renderer (quantiles, natural breaks). |
| Rule-based renderer with expressions. |
| Heatmap renderer for point layers. |
| Point cluster renderer. |
| Load style from QML/SLD file. |
| Export layer style to file. |
| Copy style between layers. |
| Singleband pseudocolor / hillshade / RGB renderer. |
| Enable labels from field or expression. |
| Font, buffer, placement, priority, collision settings. |
| Disable labels. |
| Set layer blend mode. |
5. Selection, Queries & Attributes
Tool | Description |
| Select features by QGIS expression. |
| Select features by bounding box. |
| Select by spatial relation to another layer. |
| Clear current selection. |
| Attributes and geometries of selected features. |
| Retrieve N features with filter and limit. |
| Count features matching a condition. |
| List fields, types, lengths. |
| Add a new field. |
| Delete a field. |
| Rename a field. |
| Field calculator (expression → field). |
| Edit attribute values of a specific feature. |
| Min/max/mean/median/sum/stddev for a field. |
| Unique values of a field. |
| Layer query filter (SQL WHERE clause). |
| Attribute join of two layers by key field. |
| Quick filter by TERYT code (commune/county/voivodeship). |
6. Vector Editing
Tool | Description |
| Begin an edit session. |
| Commit changes in the edit session. |
| Roll back changes in the edit session. |
| Add feature from WKT/GeoJSON geometry + attributes. |
| Delete feature by ID. |
| Replace feature geometry. |
| Create a temporary (scratch) layer with a given schema. |
| Create a new layer in a GeoPackage. |
| Fix invalid geometries. |
| Report topological/geometric errors. |
| Detect overlaps between polygons. |
| Detect gaps between polygons. |
| Configure snapping settings (tolerance, mode). |
7. Vector Geoprocessing
Tool | Description |
| Buffer at given distance (with segments, dissolve). |
| Intersect layers. |
| Union layers. |
| Difference between layers. |
| Clip to mask layer. |
| Dissolve/aggregate by field. |
| Generate centroids. |
| Convex hull. |
| Concave hull. |
| Voronoi diagram. |
| Delaunay triangulation. |
| Simplify geometry. |
| Smooth lines. |
| Merge multiple layers. |
| Split layer by field value. |
| Batch reproject files in a directory. |
| Spatial join with aggregation. |
| Nearest neighbor + distance. |
| Distance matrix. |
| Generate random points in polygon/on layer. |
| Create regular grid (square/hexagonal). |
| Count points in polygons. |
| Line intersection points. |
| Extract features by spatial relation. |
| Add area/length/x/y fields (in metres, Polish grid). |
8. Raster & Terrain Analysis
Tool | Description |
| Size, pixel size, bands, CRS, statistics, nodata. |
| Clip raster to bounding box. |
| Clip raster by mask layer. |
| Warp raster to another CRS. |
| Mosaic raster tiles (e.g. GUGiK DTM tiles). |
| Raster calculator with expression. |
| Change raster resolution. |
| Vectorize raster (polygonize). |
| Rasterize vector layer. |
| Zonal statistics by polygon zones. |
| Sample raster values at point locations. |
| Compute slope from DEM. |
| Compute aspect from DEM. |
| Generate hillshade from DEM. |
| Generate contour lines at given interval. |
| Elevation profile along a line. |
| Viewshed analysis from a point. |
| Fill sinks in DEM. |
| Watersheds and flow direction analysis. |
| DTM elevation at a point (also via GUGiK API). |
9. Geocoding & Addresses (PL)
Tool | Description |
| OSM/Nominatim geocoding restricted to Poland. |
| Geocoding with autocomplete suggestions. |
| Coordinates → address (reverse geocoding). |
| Geocoding via PRG address points (GUGiK service). |
| Batch geocode CSV/address table. |
| Search TERYT codes: voivodeship/county/commune/locality. |
| Administrative unit boundary by TERYT code. |
| Cadastral parcel geometry from ULDK by identifier. |
| Identify parcel at coordinates (ULDK). |
| Retrieve precinct/commune/county geometry from ULDK. |
| Search the State Register of Geographical Names (PRNG). |
| Address points / streets from EMUiA. |
| Lookup by postal code. |
10. Routing & Networks
Tool | Description |
| Car/bike/walking route (geometry, time, distance). |
| Routing with profiles and avoidances (optional self-hosted). |
| Time/distance matrix many-to-many. |
| Isochrones/isodistances from a point. |
| Point order optimization (Travelling Salesman Problem). |
| Shortest path on own network layer (QGIS Network Analysis). |
| Service area from a point on road network. |
| Fetch OSM data with Overpass QL query to layer. |
| Quick download POI by key=value in bbox/commune. |
| Download road network for an area in Poland. |
11. OGC Services & Polish Data Sources
Tool | Description |
| Read GetCapabilities (WMS/WMTS/WFS/WCS). |
| Add WMS layer with URL, name and style. |
| Add WMTS layer with matrix set selection. |
| Add WFS layer with filter and feature limit. |
| Add WCS layer (e.g. DTM as coverage). |
| Add XYZ tile layer (OSM, raster backgrounds). |
| GetFeatureInfo at a point. |
| Catalog of ready-made National Geoportal services (short IDs instead of URLs). |
| Orthophoto map (current and archive, year selection). |
| Digital Terrain Model as WMS/WCS. |
| Digital Surface Model (nDSM). |
| Download DTM/DSM tiles (ASCII GRID/ARC) for extent. |
| Download LAZ point clouds for extent. |
| Download BDOT10k for county (GML → GPKG). |
| General Geographic Objects Database (BDOO). |
| PRG administrative boundaries (voiv./county/commune/precincts). |
| National Land Registry Integration — parcels and buildings. |
| National Land and Building Utility Integration. |
| Geodetic control points. |
| Map sheet indexes (grid codes, coverage extents). |
12. Coordinate Systems (PL Specifics)
Tool | Description |
| List of Polish CRS: 2180, 2176–2179, 3120, 4326, 3857. |
| Transform coordinates between CRS systems. |
| Select appropriate PUWG 2000 zone for an area. |
| Height transformation (Kronstadt'86 ↔ EVRF2007-NH, PL-geoid2021). |
| Detect probable CRS based on coordinate range. |
13. Print Layouts & Export
Tool | Description |
| Create new print layout with given format and orientation. |
| Add map frame with extent and scale. |
| Add legend (with layer filtering). |
| Add scale bar. |
| Add north arrow. |
| Add text/title with expressions. |
| Add attribute table to layout. |
| Export to PDF/PNG/SVG at given DPI. |
| Configure atlas by coverage layer (e.g. sheets, communes). |
| Serial atlas export. |
| List all layouts in the project. |
14. Miscellaneous
Tool | Description |
| List installed plugins and their status. |
| Enable/disable a plugin. |
| Load LAS/LAZ/COPC as point cloud layer. |
| Filter by classification (ground, buildings, vegetation). |
| Generate DTM/DSM from point cloud. |
| Load mesh layer (e.g. hydraulic models). |
| Chart from attribute data (histogram, scatter, bar). |
| Text summary of layer (schema, statistics, data quality). |
| Evaluate QGIS expression in layer context. |
| List of expression functions with descriptions. |
| Batch run algorithm on files in a directory. |
| Status of long-running operation (download, processing). |
| Clear cache of downloaded external data. |
| Latest entries from Log Messages Panel (diagnostics). |
6. Troubleshooting
Claude doesn't show any QGIS tools / can't connect. Check that the
mcpServersentry inclaude_desktop_config.jsonuses an absolute path to.venv/bin/python(or.venv\Scripts\python.exeon Windows), that the JSON is valid, and that you fully restarted Claude Desktop after editing it.Tool calls fail with a connection/timeout error. Make sure QGIS is running and the QGIS MCP plugin is enabled (check Plugins → Manage and Install Plugins). The plugin must be running inside QGIS for the server to reach it — the server only relays requests, it does not run QGIS itself.
Error message starts with
[BridgeTimeout]or[BridgeError]. These indicate the server couldn't reach the plugin's socket at127.0.0.1:9876in time — QGIS may be closed, busy, or the plugin may not be enabled. Errors prefixed with a different type (e.g.[LayerNotFound],[UnsupportedLayerType]) come from the plugin itself and describe why the requested operation failed, not a connection problem.You just installed/updated the plugin and nothing changed. QGIS does not hot-reload plugin code. Restart QGIS after installing a new version.
Port 9876 already in use / need a different port. Both sides read
QGIS_MCP_HOST/QGIS_MCP_PORTenvironment variables independently. Set both consistently — for the server, in theenvsection of itsmcpServersconfig entry; for the plugin, in the environment QGIS itself is launched with.The plugin refuses to bind to a non-
127.0.0.1address. This is intentional: the command server only ever listens on loopback, by design, so nothing on your QGIS project is ever reachable from the network.A geocoding tool fails with a clear error about authentication. A couple of external geocoding endpoints require credentials that aren't publicly documented; those tools intentionally raise a clear error instead of silently failing.
Polski
1. Opis projektu
QGIS MCP to lokalny serwer MCP, który pozwala Claude Desktop (i nie tylko) widzieć i wykonywać akcje na aktualnie otwartym projekcie QGIS — wyświetlać i edytować warstwy, stylowanie, etykiety oraz zaznaczenia, uruchamiać algorytmy Processing, odczytywać i edytować atrybuty, geokodować adresy, a nawet wykonywać dowolny kod Pythona na żywym projekcie — wszystko lokalnie, bez opuszczania Twojego komputera.
System składa się z dwóch współpracujących procesów, które nigdy nie dzielą kodu:
Claude Desktop
| stdio (MCP)
v
server/ lokalny proces Pythona, łączy się przez TCP — nigdy nie importuje qgis.*
| 127.0.0.1:9876, dane JSON oddzielone znakiem nowej linii
v
plugin/qgis_mcp/ wtyczka QGIS, działa wewnątrz interpretera samego QGIS
v
QgsProject.instance() (otwarty projekt)server/to proces uruchamiany przez Claude Desktop, komunikujący się z nim przez MCP.plugin/qgis_mcp/to wtyczka QGIS, która uruchamia niewielki serwer poleceń wewnątrz QGIS i odpowiada na żądania zserver/przez gniazdo dostępne wyłącznie lokalnie (127.0.0.1) — nic nie jest udostępniane w sieci.
Ponieważ wszystko działa lokalnie na 127.0.0.1, dane Twojego projektu nie opuszczają komputera, poza fragmentami rozmowy, którymi sam(a) zdecydujesz się podzielić z Claude.
2. Wymagania
QGIS w wersji 3.22 lub nowszej, zainstalowany i uruchamialny na Twoim komputerze.
Claude Desktop, zainstalowany i zalogowany.
Python 3.12+ do uruchomienia lokalnego serwera MCP (tworzone jest dla niego dedykowane środowisko wirtualne; nie korzysta z Pythona dołączonego do QGIS).
macOS, Windows lub Linux — instalacja wtyczki przez menedżer wtyczek QGIS (patrz niżej) działa na wszystkich platformach. Niektóre skrypty deweloperskie w tym repozytorium (
scripts/deploy_plugin.sh) są przeznaczone wyłącznie dla macOS i nie są potrzebne do normalnego użytkowania.
3. Instalacja wtyczki QGIS
Wtyczka jest dystrybuowana jako plik .zip dołączony do strony GitHub Releases projektu (qgis_mcp-<wersja>.zip).
Pobierz najnowszy plik
qgis_mcp-<wersja>.zipze strony Releases.W QGIS otwórz Wtyczki → Zarządzaj i instaluj wtyczki…
Przejdź do zakładki Zainstaluj z ZIP.
Wybierz pobrany plik
.zipi kliknij Zainstaluj wtyczkę.Upewnij się, że wtyczka QGIS MCP jest zaznaczona/włączona na liście wtyczek.
Po włączeniu wtyczka automatycznie uruchamia serwer poleceń nasłuchujący na 127.0.0.1:9876 — nie trzeba nic dodatkowo klikać ani uruchamiać. Działanie serwera można potwierdzić z poziomu małej ikony na pasku narzędzi / wpisu w menu dodawanego przez wtyczkę; ten przełącznik pozwala jedynie celowo zatrzymać serwer, ponieważ uruchamia się on sam, tak by Claude Desktop zawsze mógł się z nim połączyć.
Jeśli w przyszłości zainstalujesz nowszą wersję wtyczki, zrestartuj potem QGIS, aby mieć pewność, że wczytany zostanie zaktualizowany kod.
4. Pobranie serwera i konfiguracja w Claude Desktop
a) Pobierz kod serwera
Ten projekt jest zarządzany za pomocą uv. Mając zainstalowane uv:
git clone https://github.com/piatkowski/qgis-mcp.git
cd qgis-mcp
uv syncTo polecenie tworzy .venv i instaluje dokładnie te wersje zależności, które są zapisane w uv.lock (fastmcp, httpx). Nie jest tu potrzebne nic z qgis.* — to środowisko jest całkowicie odseparowane od QGIS.
Jeśli nie masz zainstalowanego uv, zwykły pip też zadziała — zależności są zadeklarowane w pyproject.toml, plik requirements.txt nie jest potrzebny:
git clone https://github.com/piatkowski/qgis-mcp.git
cd qgis-mcp
python3 -m venv .venv
.venv/bin/pip install -e .Zainstaluje to te same pakiety, tylko bez przypięcia do dokładnych, zablokowanych wersji z uv.lock.
b) Wskaż serwer w Claude Desktop
Otwórz plik konfiguracyjny Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Dodaj (lub połącz z istniejącą zawartością) wpis w sekcji mcpServers, używając bezwzględnej ścieżki do utworzonego przed chwilą .venv:
{
"mcpServers": {
"qgis-mcp": {
"command": "/absolute/path/to/qgis-mcp/.venv/bin/python",
"args": ["-m", "server"]
}
}
}W systemie Windows command powinno wskazywać zamiast tego na ...\qgis-mcp\.venv\Scripts\python.exe.
c) Zrestartuj Claude Desktop
Zamknij i uruchom ponownie Claude Desktop. Przy otwartym QGIS i włączonej wtyczce Claude powinien teraz widzieć i móc używać narzędzi QGIS MCP.
d) Sprawdzenie połączenia (opcjonalnie, do diagnostyki)
Przy uruchomionym QGIS i włączonej wtyczce można bezpośrednio sprawdzić z terminala, czy obie strony się komunikują:
.venv/bin/python -c "from server.bridge import request; print(request('ping'))"Poprawna odpowiedź potwierdza, że serwer może dotrzeć do serwera poleceń wtyczki działającego wewnątrz QGIS.
5. Lista narzędzi
1. Projekt i sesja QGIS
Narzędzie | Opis |
| Sprawdzenie połączenia z QGIS i wersji API. |
| Otwarcie pliku |
| Zapis projektu (z opcją „save as"). |
| Nowy pusty projekt. |
| Metadane projektu: CRS, ścieżka, liczba warstw, zakres. |
| Ustawienie CRS projektu (np. EPSG:2180). |
| Tytuł, autor, abstrakt, słowa kluczowe. |
| Lista warstw z ID, typem, CRS, widocznością. |
| Zrzut stanu projektu do JSON (backup/rollback). |
| Wykonanie dowolnego kodu PyQGIS (tryb ekspercki, gated). |
| Lista algorytmów Processing z filtrem tekstowym. |
| Opis parametrów wybranego algorytmu. |
| Uruchomienie dowolnego algorytmu Processing z parametrami. |
2. Nawigacja i widok mapy
Narzędzie | Opis |
| Zoom do podanego bbox + CRS. |
| Zoom do zasięgu warstwy. |
| Zoom do zaznaczonych obiektów. |
| Zoom do pełnego zasięgu projektu. |
| Ustawienie skali (np. 1:10000). |
| Wycentrowanie na współrzędnych. |
| Zoom do miejsca po nazwie (przez geokoder). |
| Zoom do jednostki administracyjnej po kodzie TERYT. |
| Obrót mapy o zadany kąt. |
| Aktualny zasięg widoku w wybranym CRS. |
| Aktualna skala. |
| Render widoku do PNG (zwrot jako obraz). |
| Kolor tła kanwy. |
| Odświeżenie kanwy. |
| „Kliknięcie" w punkt: atrybuty wszystkich widocznych warstw. |
3. Zarządzanie warstwami
Narzędzie | Opis |
| Wczytanie pliku wektorowego (SHP, GPKG, GeoJSON, GML). |
| Wczytanie rastra (GeoTIFF, ECW, JP2). |
| Warstwa z dowolnego URI providera. |
| Usunięcie warstwy. |
| Zmiana nazwy. |
| Włącz/wyłącz widoczność. |
| Przezroczystość 0–100%. |
| Zmiana kolejności w drzewie warstw. |
| Utworzenie grupy warstw. |
| Przeniesienie warstwy do grupy. |
| Duplikat warstwy. |
| Widoczność zależna od skali. |
| CRS, geometria, liczba obiektów, zakres, źródło, encoding. |
| Nadanie/naprawa CRS warstwy (bez reprojekcji). |
| Reprojekcja do nowego CRS (np. 4326 → 2180). |
| Konfiguracja właściwości czasowych warstwy. |
4. Symbolizacja, etykiety, styl
Narzędzie | Opis |
| Jednolity symbol (kolor, obrys, rozmiar). |
| Renderer kategoryzowany wg pola. |
| Renderer stopniowany (kwantyle, natural breaks). |
| Renderer regułowy z wyrażeniami. |
| Mapa ciepła dla punktów. |
| Klastrowanie punktów. |
| Wczytanie stylu z pliku QML/SLD. |
| Eksport stylu warstwy. |
| Kopiowanie stylu między warstwami. |
| Singleband pseudocolor / hillshade / RGB. |
| Włączenie etykiet z pola lub wyrażenia. |
| Czcionka, bufor, placement, priorytet, kolizje. |
| Wyłączenie etykiet. |
| Tryb mieszania warstwy. |
5. Selekcja, zapytania, atrybuty
Narzędzie | Opis |
| Selekcja wyrażeniem QGIS. |
| Selekcja bbox. |
| Selekcja relacją przestrzenną wobec innej warstwy. |
| Czyszczenie zaznaczenia. |
| Atrybuty i geometrie zaznaczonych obiektów. |
| Pobranie N obiektów z filtrem i limitem. |
| Liczba obiektów spełniających warunek. |
| Lista pól, typy, długości. |
| Dodanie pola. |
| Usunięcie pola. |
| Zmiana nazwy pola. |
| Kalkulator pól (wyrażenie → pole). |
| Edycja wartości konkretnego obiektu. |
| Min/max/średnia/mediana/suma/odchylenie dla pola. |
| Unikalne wartości pola. |
| Filtr zapytania na warstwie (SQL WHERE). |
| Złączenie atrybutowe dwóch warstw po kluczu. |
| Szybki filtr po kodzie TERYT (gmina/powiat/woj.). |
6. Edycja wektorowa
Narzędzie | Opis |
| Rozpoczęcie sesji edycyjnej. |
| Zatwierdzenie zmian w sesji edycyjnej. |
| Cofnięcie zmian w sesji edycyjnej. |
| Dodanie obiektu z geometrii WKT/GeoJSON + atrybuty. |
| Usunięcie obiektu po ID. |
| Podmiana geometrii obiektu. |
| Warstwa tymczasowa (scratch) o zadanym schemacie. |
| Nowa warstwa w GeoPackage. |
| Naprawa nieprawidłowych geometrii. |
| Raport błędów topologicznych/geometrycznych. |
| Wykrycie nakładek między poligonami. |
| Wykrycie szczelin. |
| Ustawienia przyciągania (tolerancja, tryb). |
7. Geoprocessing wektorowy
Narzędzie | Opis |
| Bufor o zadanej odległości (z segmentami, dissolve). |
| Przecięcie warstw. |
| Suma warstw. |
| Różnica warstw. |
| Przycięcie do maski. |
| Agregacja wg pola. |
| Centroidy. |
| Otoczka wypukła. |
| Otoczka wklęsła. |
| Diagram Woronoja. |
| Triangulacja Delaunaya. |
| Uproszczenie geometrii. |
| Wygładzenie linii. |
| Scalenie wielu warstw. |
| Podział warstwy wg pola. |
| Masowa reprojekcja plików w katalogu. |
| Złączenie przestrzenne z agregacją. |
| Najbliższy sąsiad + odległość. |
| Macierz odległości. |
| Losowe punkty w poligonie/na warstwie. |
| Siatka regularna (kwadratowa/heksagonalna). |
| Zliczanie punktów w poligonach. |
| Punkty przecięć linii. |
| Ekstrakcja relacją przestrzenną. |
| Dodanie pól area/length/x/y (w metrach, PUWG). |
8. Raster i analizy terenu
Narzędzie | Opis |
| Rozmiar, piksel, pasma, CRS, statystyki, nodata. |
| Przycięcie do bbox. |
| Przycięcie warstwą maski. |
| Warp do innego CRS. |
| Mozaikowanie arkuszy (np. kafle NMT GUGiK). |
| Kalkulator rastrowy z wyrażeniem. |
| Zmiana rozdzielczości. |
| Wektoryzacja (polygonize). |
| Rasteryzacja. |
| Statystyki strefowe wg poligonów. |
| Próbkowanie wartości w punktach. |
| Nachylenie stoku. |
| Ekspozycja stoku. |
| Cieniowanie rzeźby terenu. |
| Poziomice o zadanym cięciu. |
| Profil wysokościowy wzdłuż linii. |
| Analiza widoczności z punktu. |
| Wypełnianie zagłębień. |
| Zlewnie i kierunki spływu. |
| Wysokość NMT w punkcie (także przez API GUGiK). |
9. Geokodowanie i adresy (PL)
Narzędzie | Opis |
| Geokodowanie OSM/Nominatim z ograniczeniem do PL. |
| Geokodowanie z podpowiedziami (autocomplete). |
| Współrzędne → adres. |
| Geokodowanie po punktach adresowych PRG (usługa GUGiK). |
| Masowe geokodowanie pliku CSV/tabeli adresów. |
| Wyszukiwanie kodów TERYT: województwo/powiat/gmina/miejscowość. |
| Granica jednostki administracyjnej po kodzie TERYT. |
| Geometria działki ewidencyjnej z ULDK po identyfikatorze. |
| Identyfikacja działki pod współrzędnymi (ULDK). |
| Pobranie obrębu/gminy/powiatu jako geometrii z ULDK. |
| Wyszukiwanie w Państwowym Rejestrze Nazw Geograficznych. |
| Punkty adresowe / ulice z EMUiA. |
| Wyszukiwanie po kodzie pocztowym. |
10. Routing i sieci
Narzędzie | Opis |
| Trasa samochód/rower/pieszo (geometria, czas, dystans). |
| Routing z profilami i unikaniem (opcjonalnie własna instancja). |
| Macierz czasów/odległości wiele-do-wielu. |
| Izochrony/izodystanse od punktu. |
| Optymalizacja kolejności punktów (problem komiwojażera). |
| Najkrótsza ścieżka na własnej warstwie sieciowej (QGIS Network Analysis). |
| Obszar obsługi od punktu po sieci drogowej. |
| Pobranie danych OSM zapytaniem Overpass QL do warstwy. |
| Szybkie pobranie POI wg klucza=wartość w bbox/gminie. |
| Pobranie sieci drogowej dla obszaru w Polsce. |
11. Usługi OGC i polskie źródła danych
Narzędzie | Opis |
| Odczyt GetCapabilities (WMS/WMTS/WFS/WCS). |
| Dodanie warstwy WMS z URL, nazwą i stylem. |
| Dodanie WMTS z wyborem matrix set. |
| Dodanie WFS z filtrem i limitem obiektów. |
| Dodanie WCS (np. NMT jako coverage). |
| Dodanie warstwy XYZ (OSM, tła rastrowe). |
| GetFeatureInfo w punkcie. |
| Katalog gotowych usług Geoportalu Krajowego (skrótowe ID zamiast URL-i). |
| Ortofotomapa (aktualna i archiwalna, wybór roku). |
| Numeryczny Model Terenu jako WMS/WCS. |
| Numeryczny Model Pokrycia Terenu. |
| Pobranie kafli NMT/NMPT (ASCII GRID/ARC) dla zasięgu. |
| Pobranie chmur punktów LAZ dla zasięgu. |
| Pobranie BDOT10k dla powiatu (GML → GPKG). |
| Baza Danych Obiektów Ogólnogeograficznych. |
| Granice administracyjne PRG (woj./pow./gm./obręby). |
| Krajowa Integracja Ewidencji Gruntów (działki, budynki). |
| Krajowa Integracja Uzbrojenia Terenu / budynków. |
| Punkty osnowy geodezyjnej. |
| Skorowidze arkuszy (godła map, zasięgi opracowań). |
12. Układy współrzędnych (specyfika PL)
Narzędzie | Opis |
| Lista polskich CRS: 2180, 2176–2179, 3120, 4326, 3857. |
| Przeliczenie współrzędnych między układami. |
| Dobór właściwej strefy PUWG 2000 dla obszaru. |
| Transformacja wysokości (Kronsztadt'86 ↔ EVRF2007-NH, geoida PL-geoid2021). |
| Wykrycie prawdopodobnego CRS na podstawie zakresu współrzędnych. |
13. Kompozycje wydruku i eksport
Narzędzie | Opis |
| Nowa kompozycja o zadanym formacie i orientacji. |
| Ramka mapy z zasięgiem i skalą. |
| Legenda (z filtrowaniem warstw). |
| Podziałka liniowa. |
| Strzałka północy. |
| Tekst/tytuł z wyrażeniami. |
| Tabela atrybutów w kompozycji. |
| Eksport do PDF/PNG/SVG w zadanym DPI. |
| Atlas wg warstwy pokrycia (np. arkusze, gminy). |
| Seryjny eksport atlasu. |
| Lista kompozycji w projekcie. |
14. Pozostałe
Narzędzie | Opis |
| Zainstalowane wtyczki i status. |
| Włączenie/wyłączenie wtyczki. |
| Wczytanie LAS/LAZ/COPC jako warstwy chmury punktów. |
| Filtrowanie po klasyfikacji (grunt, budynki, roślinność). |
| Generowanie NMT/NMPT z chmury punktów. |
| Wczytanie warstwy mesh (np. modele hydrauliczne). |
| Wykres z danych atrybutowych (histogram, scatter, słupki). |
| Tekstowe podsumowanie warstwy (schemat, statystyki, jakość danych). |
| Ewaluacja wyrażenia QGIS w kontekście warstwy. |
| Lista funkcji wyrażeń z opisem. |
| Wsadowe uruchomienie algorytmu na plikach z katalogu. |
| Status długotrwałej operacji (pobieranie, przetwarzanie). |
| Czyszczenie cache pobranych danych zewnętrznych. |
| Ostatnie wpisy z Log Messages Panel (diagnostyka). |
6. Rozwiązywanie problemów
Claude nie pokazuje żadnych narzędzi QGIS / nie może się połączyć. Sprawdź, czy wpis
mcpServerswclaude_desktop_config.jsonużywa bezwzględnej ścieżki do.venv/bin/python(lub.venv\Scripts\python.exew Windows), czy JSON jest poprawny, oraz czy Claude Desktop został w pełni zrestartowany po edycji pliku.Wywołania narzędzi kończą się błędem połączenia/przekroczenia czasu. Upewnij się, że QGIS jest uruchomiony, a wtyczka QGIS MCP jest włączona (Wtyczki → Zarządzaj i instaluj wtyczki). Wtyczka musi działać wewnątrz QGIS, aby serwer mógł się z nią połączyć — sam serwer jedynie przekazuje żądania, nie uruchamia QGIS.
Komunikat błędu zaczyna się od
[BridgeTimeout]lub[BridgeError]. Oznacza to, że serwer nie zdążył połączyć się z gniazdem wtyczki na127.0.0.1:9876— QGIS może być zamknięty, zajęty, albo wtyczka może być wyłączona. Błędy z innym prefiksem (np.[LayerNotFound],[UnsupportedLayerType]) pochodzą z samej wtyczki i opisują, dlaczego żądana operacja się nie powiodła — to nie jest problem z połączeniem.Właśnie zainstalowano/zaktualizowano wtyczkę i nic się nie zmieniło. QGIS nie wczytuje kodu wtyczek na gorąco. Po instalacji nowej wersji zrestartuj QGIS.
Port 9876 jest zajęty / potrzebny inny port. Obie strony niezależnie odczytują zmienne środowiskowe
QGIS_MCP_HOST/QGIS_MCP_PORT. Ustaw je spójnie po obu stronach — dla serwera w sekcjienvjego wpisu wmcpServers, dla wtyczki w środowisku, w którym uruchamiany jest sam QGIS.Wtyczka odmawia nasłuchiwania na adresie innym niż
127.0.0.1. To celowe zachowanie: serwer poleceń zawsze nasłuchuje wyłącznie lokalnie, dzięki czemu nic w Twoim projekcie QGIS nigdy nie jest dostępne z sieci.Narzędzie geokodowania kończy się jasnym błędem dotyczącym uwierzytelnienia. Część zewnętrznych usług geokodowania wymaga danych uwierzytelniających, które nie są publicznie udokumentowane; te narzędzia celowo zgłaszają czytelny błąd zamiast działać w sposób pozornie poprawny, a w rzeczywistości zwodniczy.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/piatkowski/qgis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server