Analytics
latlong.ai
Provides access to computed indices for Indian geographic regions and renders maps to support analytical tasks.
ENDPOINT 1
https://geocp.latlong.ai/mcp
MCP server metadata
- Name
- latlong-maps
- Version
- 1.0.0
LatLong Maps MCP Server — Usage Guide ## Authentication All tool calls require a valid token. For HTTP transport, send the "X-Authorization-Token" header. For stdio transport, set the "X_AUTHORIZATION_TOKEN" environment variable in your MCP client config. ## Tools ### 1. list_geographies Returns supported geographic region types for India: state, district, city, AC (Assembly Constituency), PC (Parliamentary Constituency), SCR (Sub-Central Region), PINCODE (Postal Code). Call this first to discover available geo types. ### 2. get_capabilities Returns the server's capability matrix: supported map types (choropleth, categorical), output formats (PNG, SVG), classification methods, and feature flags. ### 3. validate_map Validates whether a dataset can be rendered as a map without generating an image. Runs geo-matching and config resolution. Returns validity, warnings, unmatched geos, and recommended fixes. Always call this before render_map to catch data issues early. ### 4. render_map Renders a map from structured JSON data. Returns a base64 PNG image (default), SVG markup, or both, along with metadata (render_id, join_summary, dimensions, unmatched_geos, warnings). ### 5. get_index Returns computed index scores (EV adoption, vehicle density, etc.) for states or districts. Supports rank, compare, and filter modes. When render=true, returns SVG inline. ### 6. list_indices Lists all available computed indices with descriptions, methodologies, and supported geographic levels. ## Recommended Workflow 1. Call list_geographies to confirm the geo type is supported. 2. Call validate_map with your data to check geo-matching coverage. 3. Call render_map to generate the final map image. ## Data Format Pass data as an array of row objects (key-value maps). Each row must contain at least the geo_column and value_column fields. Example: {"data": [{"state": "Maharashtra", "population": 123456789}, {"state": "Karnataka", "population": 67562686}], "map_type": "choropleth", "geo_type": "state", "geo_column": "state", "value_column": "population"} ## Parameters (render_map and validate_map) - map_type: "choropleth" (numeric values) or "categorical" (qualitative classes) - geo_type: "state", "district", "city", "ac", "pc", "scr", "pincode" - geo_column: Column name containing geographic names - value_column: Column name containing values to color-code - label_column: Optional column for categorical map labels - state_hint: Optional array of state names to scope sub-state matching - viewport_mode: "india" (default, full India extent) or "fit_data" (zoom to matched regions) - query: Optional natural-language description of the desired map ## Parameters (render_map only) - output_format: "svg" (default), "png", or "both" - title: Optional map title (sets legend_title) - tooltip: Set true to enable labels and data display on the map - no_cache: Set true to bypass SVG engine cache and get fresh render ## Style Options Pass via the "style" object. All keys are optional. ### Coloring - palette: Named color palette string (e.g. "blue", "green", "red", "sunrise", "aurora") - distribution: "continuous" (smooth gradient) or "steps" (discrete class breaks) - distribution_mode: "jenks" (default), "natural_breaks", "equal_interval", "quantile", "linear", "custom" - steps_count: Number of class breaks (default 5) - custom_palette_start_color / custom_palette_end_color: Hex colors for custom palette gradient - single_color: Hex color to fill all regions (overrides palette) - category_colors: Object mapping category → hex color (for categorical maps) ### Legend & Labels - legend_show: Boolean - legend_title: String - show_labels: Boolean - show_data: Boolean - font_family: Label font family (default: Inter) ### Stroke - child_stroke: {color, width} — border style for region paths - parent_stroke: {aa_order, color, width} — parent boundary overlay - mid_aa_order: Administrative level for mid-order boundary overlay ## Server Behavior - Stateless: each call is independent with no session persistence - SVG is the default output format - Font: Inter is the default font - Circuit breaker protects against SVG engine outages - LLM fallback: if AI model is unavailable, renders with default styling
Known tools 6
get_capabilitiesReturn the server's capability matrix (supported map types, geo types, output formats, and classification methods).
Inferred read-onlylist_geographiesList supported India geographic region types (state, district, city, AC, PC, SCR, PINCODE) with coverage notes.
Inferred read-onlylist_indicesList all available computed indices with descriptions and supported geographic levels.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.latlong-maps]
url = "https://geocp.latlong.ai/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"latlong-maps": {
"type": "http",
"url": "https://geocp.latlong.ai/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: latlong-maps
Remote MCP URL: https://geocp.latlong.ai/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"latlong-maps": {
"url": "https://geocp.latlong.ai/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"latlong-maps": {
"type": "http",
"url": "https://geocp.latlong.ai/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "latlong-maps",
"transport": "streamable-http",
"url": "https://geocp.latlong.ai/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.