qgis

Geospatial analysis and GIS operations via QGIS. Use for calculating distances, buffering zones, coordinate transforms (EPSG:4326 to EPSG:3857), layer operations, geoprocessing (intersect, union, clip), and exporting map images. Requires QGIS running on Display :1 with MCP plugin enabled.

$ 安裝

git clone https://github.com/pacphi/sindri /tmp/sindri && cp -r /tmp/sindri/docker/lib/extensions/vf-qgis/resources ~/.claude/skills/sindri

// tip: Run this command in your terminal to install the skill


name: qgis description: > Geospatial analysis and GIS operations via QGIS. Use for calculating distances, buffering zones, coordinate transforms (EPSG:4326 to EPSG:3857), layer operations, geoprocessing (intersect, union, clip), and exporting map images. Requires QGIS running on Display :1 with MCP plugin enabled. version: 2.0.0 author: turbo-flow-claude mcp_server: true protocol: fastmcp entry_point: mcp-server/server.py port: 9877 dependencies:

  • qgis

QGIS Skill

Geospatial analysis and GIS operations via FastMCP protocol, communicating with QGIS instance via TCP socket.

When to Use This Skill

  • Calculate distances between geographic points
  • Create buffer zones around features (proximity analysis)
  • Transform coordinates between CRS (GPS to Web Mercator)
  • Load and manipulate geospatial layers (Shapefile, GeoJSON, GeoPackage)
  • Perform geoprocessing operations (intersect, union, difference, clip)
  • Export map images for reports or web display
  • Query features with spatial filters
  • Style layers with categorized or graduated symbology

Architecture

┌─────────────────────────────┐
│  Claude Code / VisionFlow   │
│  (MCP Client)               │
└──────────────┬──────────────┘
               │ MCP Protocol (stdio)
               ▼
┌─────────────────────────────┐
│  QGIS MCP Server (FastMCP)  │
│  Port: stdio                │
└──────────────┬──────────────┘
               │ TCP Socket
               ▼
┌─────────────────────────────┐
│  QGIS Desktop (Display :1)  │
│  MCP Plugin on Port 9877    │
└─────────────────────────────┘

Tools

ToolDescription
load_layerLoad geospatial layer (Shapefile, GeoJSON, GeoPackage, WMS)
buffer_analysisCreate buffer zones around features
calculate_distanceCalculate distance between two points
transform_coordinatesTransform between coordinate systems
export_mapExport map view as PNG, JPG, or PDF
query_featuresQuery layer features with filter expression
list_layersList all loaded layers
set_layer_styleApply styling (simple, categorized, graduated)
geoprocessingIntersect, union, difference, dissolve, clip
get_layer_extentGet bounding box of a layer
health_checkVerify QGIS connection

Examples

# Load a GeoJSON layer
load_layer({
    "path": "/data/cities.geojson",
    "name": "Cities"
})

# Create 10km buffer around points
buffer_analysis({
    "layer_name": "Cities",
    "distance": 10000,  # meters
    "output_name": "city_buffers"
})

# Transform GPS coordinates to Web Mercator
transform_coordinates({
    "coordinates": [-122.4194, 37.7749],  # San Francisco
    "source_crs": "EPSG:4326",
    "target_crs": "EPSG:3857"
})

# Export map image
export_map({
    "output_path": "/output/map.png",
    "width": 1920,
    "height": 1080,
    "dpi": 150
})

Environment Variables

VariableDefaultDescription
QGIS_HOSTlocalhostQGIS MCP plugin host
QGIS_PORT9877QGIS MCP plugin port
QGIS_TIMEOUT60Socket timeout in seconds

Troubleshooting

Connection refused:

# Check QGIS is running on Display :1
supervisorctl status qgis

# Verify MCP plugin is loaded
# In QGIS: Plugins → Manage Plugins → Search "MCP"

VisionFlow Integration

This skill exposes qgis://capabilities and qgis://status resources for discovery by VisionFlow's MCP TCP client.