Spatial India
by spatialindia.com · remote · no sign-in to list tools · v1.0.0 · published by com.spatialindia
District-level open data for India — Census, NFHS-5, NCRB, RBI and more, joined onto one geography.
6 tools: 2 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http spatial-india https://api.spatialindia.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnfind_indicator
The description contains "any other tool", wording about other tools or servers.
What this check looks forMatched text
description: "Use FIRST, before any other tool, whenever a question names a subject ra..."
- Warnbuild_map_link
The server marks "build_map_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "build_map_link" says "link": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
6 tools
Changes things 2Claude Code: ask
build_map_linkUse to end an answer with a link the user can open — after any ranking, comparison or district lookup, and whenever they ask to see, map or visualise something.1 finding
Why it is in this group
- The name "build_map_link" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "build_map_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "build_map_link" says "link": a word for a change.
Description, as the server wrote it Use to end an answer with a link the user can open — after any ranking, comparison or district lookup, and whenever they ask to see, map or visualise something. Returns a spatialindia.com/app URL showing exactly those indicators. One indicator draws a choropleth, two draw a bivariate map; a third cannot be expressed in a link and is reported back as dropped.
Annotations the server declares
- title: Build a map link
- readOnlyHint: true
- openWorldHint: false
rank_districtsUse for best/worst/highest/lowest questions over many districts — "worst 20 districts for child stunting in Uttar Pradesh".No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use for best/worst/highest/lowest questions over many districts — "worst 20 districts for child stunting in Uttar Pradesh". Check the indicator's `polarity` in the result before calling a tail "worst": for a higher-worse indicator the worst districts are `order: "desc"`, for higher-better they are `order: "asc"`. Districts the source never covered sort last in both directions and are never presented as an extreme.
Annotations the server declares
- title: Rank districts
- readOnlyHint: true
- openWorldHint: false
Only reads 4Claude Code: allow
compare_districtsUse when the question names two or more places and asks how they differ — "compare Pune and Nagpur on literacy and bank credit".No findings
Why it is in this group
- The name "compare_districts" says "compare": a word for reading.
Description, as the server wrote it Use when the question names two or more places and asks how they differ — "compare Pune and Nagpur on literacy and bank credit". One call, not one get_district per district. Write an ambiguous name as "Bilaspur, Chhattisgarh".
Annotations the server declares
- title: Compare districts
- readOnlyHint: true
- openWorldHint: false
find_indicatorUse FIRST, before any other tool, whenever a question names a subject rather than an indicator id — "stunting", "land inequality", "bank credit".1 finding
Why it is in this group
- The name "find_indicator" says "find": a word for reading.
Findings
- Warn
The description contains "any other tool", wording about other tools or servers.
What this check looks forMatched text
description: "Use FIRST, before any other tool, whenever a question names a subject ra..."
Description, as the server wrote it Use FIRST, before any other tool, whenever a question names a subject rather than an indicator id — "stunting", "land inequality", "bank credit". Returns matching indicator ids with their unit, source, vintage, caveat and district coverage. Every other tool needs an id from here; ids are not guessable and inventing one fails.
Annotations the server declares
- title: Find an indicator
- readOnlyHint: true
- openWorldHint: false
get_districtUse when the question is about one named place — "tell me about Bilaspur", "what is Pune's literacy rate".No findings
Why it is in this group
- The name "get_district" says "get": a word for reading.
Description, as the server wrote it Use when the question is about one named place — "tell me about Bilaspur", "what is Pune's literacy rate". Resolves an Indian district name, including common alternative spellings, to its objectid and returns its values. Four district names are shared by two states, so if the name is ambiguous this returns every match with its state and no data: ask the user which one, then call again with `state`.
Annotations the server declares
- title: Get one district
- readOnlyHint: true
- openWorldHint: false
get_methodologyUse whenever the answer will state a number to a user, and always when asked how a figure was produced, how old it is, or whether it can be trusted.No findings
Why it is in this group
- The name "get_methodology" says "get": a word for reading.
Description, as the server wrote it Use whenever the answer will state a number to a user, and always when asked how a figure was produced, how old it is, or whether it can be trusted. Returns the source, vintage, definition, caveat, estimation method, licence attribution and the citation string for one indicator, or for the dataset as a whole when no indicator is given. Do not describe a number as measured or estimated without checking here — each district carries its own `estimated` flag.
Annotations the server declares
- title: Get methodology and citation
- readOnlyHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http spatial-india https://api.spatialindia.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__spatial-india__find_indicator",
"mcp__spatial-india__get_district",
"mcp__spatial-india__compare_districts",
"mcp__spatial-india__get_methodology"
],
"ask": [
"mcp__spatial-india__rank_districts",
"mcp__spatial-india__build_map_link"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as spatial-india. Review it before you use it.