Skip to main content
Glama

gva_query

Query geographic data from the Valencian Community's GIS system using SQL-like filters to retrieve land activity information with customizable parameters.

Instructions

Query features from the GVA GIS layer with SQL-like WHERE clause and optional parameters

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
whereNoSQL WHERE clause (e.g., '1=1' for all, 'MUNICIPIO="Valencia"')1=1
out_fieldsNoComma-separated field names or '*' for all fields*
return_geometryNoWhether to return geometry data
result_record_countNoMaximum number of records to return
result_offsetNoOffset for pagination

Implementation Reference

  • Python handler for the 'gva_query' MCP tool. Constructs query parameters for the ArcGIS FeatureServer /query endpoint and returns the JSON response as text content.
    elif name == "gva_query": # Query features url = f"{BASE_URL}/{LAYER_ID}/query" params = { 'where': arguments.get('where', '1=1'), 'outFields': arguments.get('out_fields', '*'), 'returnGeometry': str(arguments.get('return_geometry', True)).lower(), 'resultRecordCount': arguments.get('result_record_count', 10), 'resultOffset': arguments.get('result_offset', 0), 'f': 'json' } data = make_request(url, params) return [TextContent( type="text", text=json.dumps(data, indent=2, ensure_ascii=False) )]
  • TypeScript handler for the 'gva_query' MCP tool. Queries the ArcGIS FeatureServer layer with user-provided parameters and returns formatted JSON response.
    case "gva_query": { // Query features const queryArgs = args as QueryArguments; const url = `${BASE_URL}/${LAYER_ID}/query`; const params: RequestParams = { where: queryArgs.where || "1=1", outFields: queryArgs.out_fields || "*", returnGeometry: String(queryArgs.return_geometry ?? true).toLowerCase(), resultRecordCount: queryArgs.result_record_count || 10, resultOffset: queryArgs.result_offset || 0, f: "json", }; const data = await makeRequest(url, params); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; }
  • Registration of 'gva_query' tool in Python MCP server, defining name, description, and input schema.
    Tool( name="gva_query", description="Query features from the GVA GIS layer with SQL-like WHERE clause and optional parameters", inputSchema={ "type": "object", "properties": { "where": { "type": "string", "description": "SQL WHERE clause (e.g., '1=1' for all, 'MUNICIPIO=\"Valencia\"')", "default": "1=1" }, "out_fields": { "type": "string", "description": "Comma-separated field names or '*' for all fields", "default": "*" }, "return_geometry": { "type": "boolean", "description": "Whether to return geometry data", "default": True }, "result_record_count": { "type": "integer", "description": "Maximum number of records to return", "default": 10 }, "result_offset": { "type": "integer", "description": "Offset for pagination", "default": 0 } }, "required": [] } ),
  • Registration of 'gva_query' tool in TypeScript MCP server, including input schema definition.
    { name: "gva_query", description: "Query features from the GVA GIS layer with SQL-like WHERE clause and optional parameters", inputSchema: { type: "object", properties: { where: { type: "string", description: 'SQL WHERE clause (e.g., "1=1" for all, "MUNICIPIO=\'Valencia\'")', default: "1=1", }, out_fields: { type: "string", description: "Comma-separated field names or '*' for all fields", default: "*", }, return_geometry: { type: "boolean", description: "Whether to return geometry data", default: true, }, result_record_count: { type: "number", description: "Maximum number of records to return", default: 10, }, result_offset: { type: "number", description: "Offset for pagination", default: 0, }, }, required: [], }, },

Latest Blog Posts

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/pepo1275/mcp4gva'

If you have feedback or need assistance with the MCP directory API, please join our Discord server