bharatlas
Server Details
Query India's open geo data, and author collect maps: register a link, moderate, publish.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- urbanmorph/geodata
- GitHub Stars
- 42
- Server Listing
- bharatlas-mcp
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
Each tool has a clear primary role: discovery (list_layers, list_categories, list_submissions), metadata (get_layer_detail, get_layer_schema), and data access (query_layer, nearby, locate). The only mild overlaps are list_layers vs list_submissions (distinguished by community-contributed wording) and query_layer vs nearby (attribute filters vs spatial radius), both clarified in the descriptions.
Six of eight tools follow a clean verb_noun pattern (list_layers, get_layer_detail, query_layer, etc.) with consistent snake_case. 'locate' and 'nearby' break the pattern as bare verbs/adverbs, though their purpose is still readable.
Eight tools is well within the sweet spot and each one earns its place: three discovery tools, two metadata tools, and three data-access tools with no redundant entries.
The surface covers discovery, schema inspection, metadata with download URLs, attribute querying, point-in-polygon lookup, and proximity search—a solid lifecycle for a geo data server. Minor gaps exist: no bounding-box/area query (only point and radius), and no dedicated export/download tool beyond URLs in get_layer_detail.
Available Tools
8 toolsget_layer_detailARead-onlyIdempotentInspect
Get full metadata for a single layer: download URLs (parquet, pmtiles, geojson, kml, shapefile), attribution, license, feature count, and level metadata.
Inputs: layer_id (required).
get_layer_schemaARead-onlyIdempotentInspect
Get column names, types, and sample values for a layer. Use BEFORE querying to discover what columns exist and what values they contain. Essential for knowing the right column names for filters.
Inputs: layer_id (required).
list_categoriesARead-onlyIdempotentInspect
List all data categories with layer counts.
Inputs: no named parameters.
list_layersARead-onlyIdempotentInspect
List available geo layers. Use to discover what data bharatlas has. Returns layer IDs, names, row counts, categories, and download formats. Filter by category (boundaries, city-wards, environment, water, agriculture, transport, etc.), admin level (state, district, block, village, etc.), source, or text search.
Inputs: q, level, limit, offset, +2 more.
list_submissionsBRead-onlyIdempotentInspect
List community-submitted geo layers. These are user-contributed datasets under open licenses. Filter by category or search by name.
Inputs: q, sort, limit, offset, +1 more.
locateARead-onlyIdempotentInspect
Given a latitude/longitude, find which administrative boundaries, zones, and regions contain that point. Returns state, district, subdistrict, block, parliament/assembly constituency, pincode, seismic zone, high court jurisdiction, the municipal ward (for the ~30 cities with ward data), and more. The 'where am I?' tool. Also accepts specific layer IDs to check.
Inputs: lat (required), lng (required), layers.
nearbyARead-onlyIdempotentInspect
Find features from a layer that are near a given point, nearest first, within radius_km. Reads the layer's parquet bounding boxes and ranks features by distance to their centres; works for points, polygons and lines. Returns the true count within the radius plus the nearest limit. Example: 'reservoirs near Bengaluru' -> layer_id: 'wris_reservoirs', lat: 12.97, lng: 77.59, radius_km: 50.
Inputs: lat (required), lng (required), layer_id (required), limit, +1 more.
query_layerARead-onlyIdempotentInspect
Query a layer's data with filters and grouping. Reads the parquet file at runtime. Supports: select specific columns, filter by column values, group by a column to get counts, and sum numeric columns per group (e.g. roll block areas up to district totals). Use get_layer_schema first to discover column names. Examples: 'airports in Karnataka' -> where: {state: 'KA'}, 'forest types' -> group_by: 'type', 'health facilities in Bihar' -> where: {state: 'BIHAR'}, select: ['name', 'type'].
Inputs: layer_id (required), sum, limit, where, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Search India datasets; inspect sources, licences and previews; get notebook and Python examples.
Indian government statistics and public data: economy, elections, health, agriculture and more
Connect geographic IDs, places, shapes, and published data through DaedalMap tools.
Ask in plain English, get a rendered, shareable map from live public data. 24 geospatial tools.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server to access India Open Government Data (data.gov.in) resources via natural language queries.117 npm1MIT
- AlicenseAqualityCmaintenanceEnables natural-language access to India's Open Government Data platform, letting users discover datasets, inspect schemas, and query live data from data.gov.in.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying Google Maps and Places APIs for local businesses and tourist attractions in India through a simple MCP interface.4MIT
- AlicenseAqualityBmaintenanceEnables LLMs to search and query India's Open Government Data platform, including catalog search, dataset schemas, filtered rows, and tidy time series for GDP, trade, agriculture, and other published datasets.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.