Ga naar inhoud
AI Agent
QGIS
Gids

Claude met QGIS koppelen: 3 manieren getest op één taak

Gepubliceerd op

Er is geen officiële plugin van Anthropic voor QGIS. Je hebt drie hoofdmanieren om Claude met QGIS te gebruiken: Claude Desktop of Claude Code koppelen via een QGIS-MCP-server, Claude PyQGIS-code laten schrijven die je in de Python-console plakt, of een agentplugin in QGIS installeren.

Op 7 november 2026 testte ik hoe Claude een echte taak aanpakt: de districten en de OpenStreetMap-scholen van Pune, India, laden, de scholen per polygoon tellen en een choropletenkaart opmaken. Geen van de twee PyQGIS-scripts die Claude Sonnet 5.5 schreef draaide zoals geplakt, al slaagde er één in 44 tot 48 seconden nadat ik de URL van de dataserver had vervangen. Een agent in QGIS rondde dezelfde prompt af in 45 tot 63 seconden, in twee runs achter elkaar.

QGIS-venster met de choropletenkaart van scholen per wijk in Pune in blauwe tinten, de lagenboom links en rechts het chatpaneel van AI Agent met de prompt, de keuze Pune city wards en het eindtotaal van 256 scholen over 58 kieswijken.
De choropletenkaart van scholen in Pune, gebouwd vanuit één zin in QGIS: 256 OpenStreetMap-scholen geteld over 58 kieswijken in 63 seconden.

Op welke manieren gebruik je Claude met QGIS?

Claude met QGIS verbinden betekent ofwel het model van Anthropic een brug geven zodat het tools kan draaien in je open project, ofwel PyQGIS-scripts kopiëren tussen een chatvenster en de Python-console van QGIS. Een derde route slaat de brug over en zet een AI-agentpaneel direct in QGIS.

De meeste tutorials laten alleen de brug via het Model Context Protocol (MCP) zien. Voordat je extra opdrachtregeltools installeert of configuratiebestanden bewerkt, helpt het om te zien wat alle drie de routes vragen en wat er gebeurt als je ze dezelfde klus geeft.

Route 1: Claude + QGIS MCPRoute 2: Claude schrijft PyQGISRoute 3: Een agent in QGIS
Installatiestappen5 stappen (plugin, uv en client installeren, config, elke sessie op Run MCP klikken)0 installatiestappen (3 klikken per taak om de editor te openen, te plakken en te draaien)3 stappen (installeren via de pluginbeheerder van QGIS, paneel openen, inloggen)
Wat je nodig hebtClaude Desktop (Free of betaald) of Claude Code (betaald abonnement), plus uv en een lokale serverElke Claude-chat, geen extra softwareQGIS 3.28+ en een gratis account (geen API-sleutel of creditcard)
Wie de code draaitClaude roept tools aan via de lokale MCP-poortJij plakt en draait het script in de Python-consoleDe plugin draait QGIS-tools en controleert de kaart zelf
Ziet je project?Ja, als de MCP-server draaitNee, tenzij je laagnamen en CRS in de prompt typtJa, leest open lagen, velden en kaartbereik
Ongedaan makenHandmatig opruimen in QGISHandmatig opruimen in QGISKnop Undo changes onder elk antwoord, één klik
Resultaat Pune-taakNiet gedraaid op Pune (9 min 28 s op een vergelijkbare scholentaak in Lyon)0 van 2 scripts draaiden zoals geplakt; 1 werkte in 44 tot 48 s na een aangepaste URL (447 scholen in 14 taluka's)2 van 2 runs geslaagd in 63 s en ~45 s (256 scholen in 58 stadswijken)

Wil je deze taak handmatig doen zonder AI, dan kost de gratis QGIS-route vier stappen: download de grenzen en de amenity=school-punten met Vector > QuickOSM > QuickOSM..., draai Vector > Analysis Tools > Count Points in Polygon... (native:countpointsinpolygon), en zet Layer Properties > Symbology op Graduated voor het nieuwe telveld.

Staat er een Claude-plugin in de QGIS-repository?

Er staat geen officiële plugin van Anthropic in de QGIS-pluginrepository. Toen ik de index van de repository op 7 november 2026 bekeek (4.399 plugins voor QGIS 3.44 en 1.697 voor QGIS 4.0), hadden 45 plugins het woord "claude" in hun metadata, maar 36 daarvan noemden Claude alleen als programmeerhulp of hadden een auteur die Claude heette.

Maar negen communityplugins verbinden echt een Claude-model of -abonnement met QGIS:

  • QGIS MCP (van Nicolas Karasiak, v0.15.2, 77.002 downloads op 7 november 2026): opent een lokale poort zodat Claude Desktop, Claude Code of Cursor 125 tools in QGIS kan draaien.
  • WAI QGIS MCP (v0.3.0, 753 downloads): verbindt met Claude Desktop via één .mcpb-extensiebestand, zodat je Node.js niet zelf hoeft te installeren.
  • QGIS Agent (van bunkmr, v2.4.15, 3.783 downloads), QGIS Agent Mcp (v0.5.0, 3.210 downloads), QGIS Salah MCP (v1.1.1, 2.037 downloads) en ClaudIA QGIS (v0.4.6, 784 downloads): andere MCP-socketservers of panelen die je eigen API-sleutel gebruiken.
  • LandTalk.AI (v1.5.0, 5.927 downloads) en AI Copilot (v1.8.0, 2.098 downloads): chatpanelen voor meerdere modellen die sleutels van Claude, OpenAI of Gemini accepteren.
  • Mapsuke (van MIERUNE, v1.6.0, 1.242 downloads, bijgewerkt op 30 oktober 2026): een chatpaneel in QGIS 3.44+ dat draait op je bestaande login voor Claude Code of Codex, zonder MCP-server, op voorwaarde dat de Claude Code-CLI geïnstalleerd is.

Welk Claude-abonnement je nodig hebt, hangt af van hoe je verbindt. Volgens de vergelijkingspagina's van Anthropic (gelezen op 7 november 2026) is chatten in Claude Desktop beschikbaar op het Free-abonnement en op Pro, Max, Ultra, Team en Enterprise, en kun je een lokale MCP-server koppelen via Settings > Developer > Edit Config of via Desktop Extensions. Claude Code, de opdrachtregeltool waar plugins zoals Mapsuke en CLI-workflows op leunen, zit niet in het Free-abonnement en vraagt een Pro-, Max- of Ultra-abonnement.

De test: scholen per district in kaart brengen in Pune

Elke tutorial die ik voor de SERP-gapanalyse las, testte Claude op een bestand dat de auteur al op schijf had. In echt GIS-werk vraag je de tool vaak om open data op te halen voor een stad die hij nog nooit heeft gezien.

Ik schreef de criteria voor succes op 7 november 2026 op voordat ik iets draaide. De prompt was één zin:

Load the districts of Pune, India and the schools from OpenStreetMap, count schools per district and make a choropleth.

Ik koos Pune met opzet, omdat "districts of Pune" dubbelzinnig is. Pune is een district in Maharashtra dat is verdeeld in 14 subdistricten (taluka's of tehsils), terwijl de stad Pune is verdeeld in 15 bestuurlijke wijkkantoren en 58 kieswijken. Een goede workflow vraagt welke grens je bedoelt, of zegt duidelijk welke hij heeft geladen.

Route 2: Claude om PyQGIS-code vragen om te plakken

Voor de kopieer-en-plakroute draaide ik Claude Sonnet 5.5 (claude-sonnet-5-5 via Claude Code 2.1.306, met alle tools en webtoegang uit, zoals een gewoon chatvenster) twee keer op precies dezelfde prompt, met alleen de toevoeging "I use QGIS. Write the PyQGIS code I can paste in the QGIS Python console for this task". Heb je de console nog nooit gebruikt, dan legt onze PyQGIS-gids uit hoe scripts daar draaien.

Claude deed 77 seconden over het eerste script van 134 regels en 67 seconden over het tweede van 108 regels. Beide antwoorden merkten op dat "districts" dubbelzinnig is, kozen admin_level=6 (de 14 taluka's van het district Pune) en legden uit hoe je het niveau in de code verandert. Het tweede antwoord gaf onderaan zelfs een eerlijke waarschuwing: "I haven't run it, so the first run is the test."

Geen van beide scripts draaide zoals geplakt in QGIS 3.44.15:

  1. Antwoord 1 faalde na 1 seconde met URLError: <urlopen error [Errno 61] Connection refused>. Het script riep de belangrijkste openbare Overpass-server aan (overpass-api.de), die die ochtend verbindingen vanaf ons IP-adres weigerde.
  2. Antwoord 2 faalde op regel 3, nog voor er een netwerkaanroep was. Het gaf ImportError: cannot import name 'QgsClassificationNaturalBreaks' from 'qgis.core'.
Python-console van QGIS met een rode Traceback met ImportError: cannot import name QgsClassificationNaturalBreaks from qgis.core op regel 3 van het geplakte script.
Het tweede PyQGIS-script van Claude stopte op regel 3: QgsClassificationNaturalBreaks bestaat niet in QGIS 3.44.15 (de echte klasse is QgsClassificationJenks).

In QGIS 3.44 heet de klasse voor natuurlijke breuken QgsClassificationJenks, niet QgsClassificationNaturalBreaks. Omdat een chatbot zonder tools zijn eigen imports niet kan testen tegen jouw QGIS-versie, legt één verzonnen klassenaam het hele script stil. We zagen precies hetzelfde blinde gokken toen we ChatGPT voor QGIS testten op drie taken in Annecy.

Om te zien of het eerste script van Claude verder deugde, veranderde ik één constante in Antwoord 1: ik verving overpass-api.de door de Franse mirror overpass.openstreetmap.fr en draaide het drie keer op een schone lagenboom. Met een werkende server was het klaar in 48, 44 en 45 seconden.

Kaart van de 14 taluka's van het district Pune in getrapte rode tinten met zwarte schoolpunten erbovenop, gemaakt door het eerste PyQGIS-script van Claude na het vervangen van de URL van de Overpass-server.
Het eerste script van Claude na het vervangen van de Overpass-URL: 447 scholen geteld over 14 taluka's van Pune, opgemaakt met kwantielklassen.

De berekening in Antwoord 1 klopte: het laadde 14 taluka-polygonen en 447 schoolobjecten, en toen ik de punt-in-polygoontellingen onafhankelijk opnieuw berekende, kwamen alle 447 scholen overeen met het veld n_schools, zonder één afwijking (246 in Pune City Subdistrict, 75 in Haveli, 55 in Mulshi, tot 0 in Indapur, Velhe en Ambegaon). Toch had de kaart ruwe randjes die een mens moet bijwerken: de kwantiellegenda drukte decimale grenzen af zoals 0,0000 - 1,2000 voor aantallen scholen die hele getallen zijn, en de labels in het midden overlapten op het standaardzoomniveau.

Route 1: Claude Desktop of Claude Code koppelen via QGIS MCP

Een QGIS-MCP-server voor Claude lost het blindheidsprobleem op: Claude kan je lagen bekijken, execute_code draaien, de traceback van de fout zien en het opnieuw proberen.

Ik heb de MCP-server niet opnieuw op Pune gedraaid, omdat de openbare Overpass-server die ochtend ons netwerk weigerde en dezelfde OpenStreetMap-aanroepen zou hebben geblokkeerd. In plaats daarvan hadden we Claude Sonnet 5.5 al gemeten terwijl het QGIS MCP (v0.15.0 tot 0.15.2) aanstuurde in Claude Code, op vier echte taken en een benchmark van 41 vragen, eind september en in oktober 2026:

  • Installeren kost 5 stappen en ongeveer 3 minuten als je uv en een client al hebt, plus 16 seconden bij de eerste aanroep terwijl een server van 90 MB met 125 tools wordt gedownload. Elke keer dat je QGIS herstart, moet je eraan denken opnieuw op Run MCP te klikken, anders geeft Claude Error executing tool ping. Onze gids voor het installeren en testen van QGIS MCP loopt elke stap en elk configuratiebestand door.
  • Op een vergelijkbare scholentaak in Lyon (scholen tellen binnen 300 m van een tramhalte) kwam Claude + QGIS MCP op het juiste aantal (87 scholen) in 9 minuten 28 seconden. Zes van de tien stappen waren ruwe Python, en QGIS bevroor ongeveer 7 minuten terwijl het script tegen Overpass-fouten 406, 504 en 502 aanliep.
  • Als de data al schoon is, is MCP snel. Op een taak met gebouwen en een afdruklay-out in Porto was Claude + QGIS MCP klaar in 2 minuten 48 seconden, sneller dan de 5 minuten 26 seconden van onze eigen agent.
  • Op de GeoExpertQueries-benchmark van Google (41 achtergehouden taken) scoorde Claude Sonnet 5.5 met QGIS MCP in Claude Code 24,9 van de 100, tegen 43,8 voor AI Agent op Low effort (bekijk de volledige benchmarkresultaten).

Betaal je al voor Claude Pro of Max en zit je de hele dag in Claude Code, dan kost MCP niets extra en heb je alle vrijheid om shellscripts, lokale bestanden en QGIS in één terminal te combineren.

Route 3: Een agentplugin in QGIS gebruiken

Wij bouwen AI Agent, dus dit deel gaat over onze eigen plugin. In plaats van een externe app met QGIS te verbinden, zet het een chatpaneel direct naast je kaartvenster, leest het de staat van je project, haalt het data uit een ingebouwde catalogus (ongeveer 90 bronnen en 2.800 datasets, plus OpenStreetMap en Overture Maps), controleert het een gerenderde afbeelding van de kaart voordat het antwoordt, en zet het een knop Undo changes onder elk antwoord.

Ik draaide precies dezelfde Pune-zin twee keer in QGIS 3.44.15 (Balanced-rechten, Medium effort).

Bij de eerste run pauzeerde het paneel na 11 seconden en toonde het een kaart met een verduidelijkingsvraag, "Which subdivisions of Pune should the school counts use?" (welke indeling van Pune moet de schooltelling gebruiken?), met twee klikbare keuzes: Pune city wards (de stadswijken) en Pune district tehsils (de tehsils van het district). Met de keuze Pune city wards kwam de totale tijd, van klikken op Send tot het eind, op 63 seconden over 15 stappen.

Close-up van de gerenderde kaart met de 58 kieswijken van Pune in vijf blauwe Jenks-klassen van lichtblauw tot donker marineblauw, met donkere puntmarkeringen voor de 256 OpenStreetMap-scholen.
De gerenderde kaart uit Run 1: 58 kieswijken (grenzen van DataMeet uit 2022) in vijf Jenks-klassen, met het hoogste aantal (39 scholen) in Ward 16 Fergusson College - Erandwane.

Bij de tweede run, in een nieuwe chat, stelde het de vraag niet; het meldde in het antwoord dat het de 58 kieswijken van Pune als stadsdistricten gebruikte en was klaar in ongeveer 45 seconden (16 stappen), met de wijken in een oranje palet.

QGIS-venster uit de tweede run met de kieswijken van Pune als choropletenkaart in vijf oranje klassen links, en rechts het antwoord van AI Agent dat 256 OpenStreetMap-schoolobjecten over 58 wijken bevestigt.
Run 2 op dezelfde prompt: klaar in ongeveer 45 seconden met dezelfde 256 scholen over 58 wijken en vijf Jenks-klassen (0-1, 1-5, 5-11, 11-22, 22-39).

Waarom slaagden beide runs terwijl de geplakte scripts op verbindingsfouten stuitten? Omdat de agent het overbelaste endpoint overpass-api.de niet vanuit een ruw script aanriep; het haalde de kieswijken van 2022 bij DataMeet en de 256 schoolobjecten (108 nodes en 148 ways, waarbij scholen als polygoon werden omgezet naar punten op het oppervlak) via zijn ingebouwde datatools. Toen ik op beide uitvoeren een onafhankelijke punt-in-polygooncontrole draaide, lagen alle 256 schoolpunten binnen de 58 wijken, zonder één afwijking ten opzichte van het attribuutveld schools.

Het hield de lagenboom ook netjes door drie tussenlagen in een verborgen groep Working layers te stoppen, en herinnerde me er in het antwoord aan dat OpenStreetMap geen officiële schooltelling is. Mijn enige klacht: tussen Run 1 en Run 2 veranderde het van gedachten over de vraag of het mij de keuze tussen wijken en tehsils moest voorleggen of zelf moest beslissen.

Probeer AI Agent gratis in QGIS, geen creditcard nodig

Welke manier kies je?

In mijn eigen werk gebruik ik nog steeds gewoon Claude in een browser of terminal als ik een herbruikbaar Processing-script schrijf of een eigen plugin over twintig bestanden debug. Dan wil je de Python lezen, in Git committen en buiten de GUI draaien. Plak wel je QGIS-versie, laagnamen, veldnamen en CRS in de prompt, en reken erop dat je een import of twee moet repareren.

Kies Claude + QGIS MCP als je al een betaald Claude-abonnement hebt, je je thuis voelt bij uv en JSON-configuratiebestanden, en je lokale bestandsbewerkingen wilt combineren met QGIS-aanroepen in Claude Desktop of Claude Code. Het is gratis bovenop je bestaande abonnement en snel als je datalagen al geladen zijn.

Kies een agent in QGIS als je de kaart en de cijfers wilt zonder op Python-tracebacks, Overpass-time-outs of kapotte poorten te passen. Voor een analist met een deadline of een team dat consistente symbologie, bronvermeldingen en ongedaan maken met één klik nodig heeft, bespaart een agent met ingebouwde datacatalogus in QGIS de meeste tijd. Hoe de architectuur verschilt, lees je in onze gids over wat een AI-agent in QGIS is, en elke actuele tool vind je op de QGIS AI-hub.

Zo hebben we gemeten. Alle Pune-runs vonden plaats op 7 november 2026 tussen 10:29 en 11:03 Parijse tijd op macOS met QGIS 3.44.15-Solothurn (Qt 5.15.19). De criteria voor succes waren om 10:14 opgeschreven, vóór de eerste prompt. Claude Sonnet 5.5 (claude-sonnet-5-5) werd aangeroepen via Claude Code 2.1.306 (claude -p --safe-mode --tools "" --model sonnet) in een lege map zonder MCP-servers of webtoegang; de twee teruggegeven scripts werden in QGIS Python uitgevoerd en gecontroleerd met een onafhankelijk punt-in-polygoonscript. AI Agent 1.9.4 (modus Balanced, Medium effort) draaide twee keer op dezelfde zin in schone projecten. Tijdens het testen draaiden er andere QGIS-sessies op dezelfde Mac, dus de tijden zijn trager dan op een machine die niets anders doet. Twee runs per route op één taak is een kleine steekproef, en de geweigerde verbinding met overpass-api.de is waargenomen vanaf één netwerk op één ochtend.

Veelgestelde vragen

Bestaat er een officiële Claude-plugin voor QGIS?

Nee. Anthropic publiceert geen QGIS-plugin. Op 7 november 2026 telt de QGIS-pluginrepository negen communityplugins die Claude met QGIS verbinden, via een lokale Model Context Protocol-server (MCP) (zoals QGIS MCP en WAI QGIS MCP), via je eigen API-sleutel of via een lokale login voor Claude Code (Mapsuke). Als alternatief installeer je AI Agent direct vanuit de pluginbeheerder van QGIS, met het AI-model en de datacatalogus ingebouwd.

Kan Claude Desktop QGIS gratis aansturen?

Ja, met beperkingen. Volgens de documentatie van Anthropic over de abonnementen is chatten in Claude Desktop beschikbaar op het Free-abonnement en ondersteunt het lokale MCP-servers via claude_desktop_config.json of Desktop Extensions (.mcpb). Voor Claude Code in de terminal heb je een betaald Claude Pro-, Max- of Ultra-abonnement nodig.

Kan Claude PyQGIS-code schrijven die draait in QGIS 3.44?

Ja, Claude Sonnet 5.5 schrijft goed gestructureerde PyQGIS, maar omdat het je QGIS-installatie niet ziet en zijn eigen code niet kan testen, verzint het soms klassennamen of leunt het op externe servers die falen. In onze test met twee pogingen op QGIS 3.44.15 faalde één script met ImportError op QgsClassificationNaturalBreaks (de echte klasse is QgsClassificationJenks) en faalde het andere tot we de URL van de Overpass API vervingen.

Wat is de makkelijkste manier om AI in QGIS te gebruiken zonder MCP in te stellen?

Installeer een geïntegreerde agentplugin via Plugins > Manage and Install Plugins in QGIS. Met AI Agent is er geen Python-omgeving, uv-pakketbeheerder of configuratiebestand om bij te houden: je logt gratis in, krijgt 5 taken per maand (300 met Pro) en typt je verzoek in het gedockte paneel.

Probeer AI Agent gratis

Doe het in QGIS door erom te vragen

AI Agent voert de taak uit die je beschrijft, in je eigen QGIS-project. Gratis, geen kaart nodig.

Probeer AI Agent gratis
Geschreven doorYvann Barbot
·15 min read