# Citiwise

> UDCPR 2020 (Maharashtra) feasibility for a plot, with the clause behind every number.

- name: io.github.tejasdgurav/citiwise
- version: 1.4.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 80/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.tejasdgurav%2Fcitiwise
- tools: https://api.protogrid.dev/v1/servers/io.github.tejasdgurav%2Fcitiwise/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "citiwise": {
      "type": "http",
      "url": "https://citiwise.in/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-9d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 80/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 9 of 9 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 15,917 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 59 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 9, about 15,917 tokens to load them all
- tool set hash: 4d3a697b495b1188e1c8445bade65e4f
- tools last changed: 2026-10-19T17:17:58.094Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.tejasdgurav/citiwise.svg)](https://protogrid.dev/servers/io.github.tejasdgurav/citiwise)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `draw_plot` changed (inputSchema)
- 2026-10-19 `towns` changed (inputSchema)
- 2026-10-19 `search_udcpr` changed (inputSchema)
- 2026-10-19 `clause` changed (inputSchema)
- 2026-10-19 `check_design` changed (inputSchema)
- 2026-10-19 `compare_uses` changed (inputSchema)
- 2026-10-19 `feasibility` changed (description, inputSchema)
  - before: Use this when someone asks what they can build on a plot or piece of land anywhere in Maharashtra outside Greater Mumbai: FSI or FAR, built-up area, setbacks (margins), height, how many floors, parking or approvals under UDCPR 2020, the building rules for every town in the state. People often ask in Marathi or Hindi, or mix them with English: जागा, प्लॉट, गुंठा, चटई क्षेत्र निर्देशांक (FSI), बांधकाम क्षेत्र (built-up), सामासिक अंतर (margins), किती मजले (how many floors), पार्किंग; give the area and road as they said them with area_unit and road_unit. Do not use for Greater Mumbai, for land prices or for building permission itself. Returns the UDCPR feasibility of one plot for one use: area statement, FSI, height limits, the margin on every side, the building that fits (and, where its floor is not a rectangle, the largest regular building inside it: building.regular), parking, water, sanitary fixtures, stairs and lifts, fire tanks, refuge area, open space and amenity space, and the NOCs the plot and building trigger; the floor counts around the fitted one (options) and the heights that change the rules (thresholds); the Proforma I area statement; premiums as shares of the ASR land rate, scrutiny fee and payment options; TDR loading; what applies (rainwater, solar, grey water, inclusive housing, open space, amenity, refuge, fire NOC); corner rounding; plot-origin options; power line clearance and TOD FSI when those inputs are given. Each value carries its UDCPR clause.
  - after: Use this when someone asks what they can build on a plot or piece of land in Maharashtra, wherever UDCPR 2020 applies (outside Greater Mumbai and the other areas regulation 1.1(i) leaves out; towns says which): FSI or FAR, built-up area, setbacks (margins), height, how many floors, parking or approvals under UDCPR 2020. People often ask in Marathi or Hindi, or mix them with English: जागा, प्लॉट, गुंठा, चटई क्षेत्र निर्देशांक (FSI), बांधकाम क्षेत्र (built-up), सामासिक अंतर (margins), किती मजले (how many floors), पार्किंग; give the area and road as they said them with area_unit and road_unit. Do not use for Greater Mumbai, for land prices or for building permission itself. Returns the UDCPR feasibility of one plot for one use: area statement, FSI, height limits, the margin on every side, the building that fits (and, where its floor is not a rectangle, the largest regular building inside it: building.regular), parking, water, sanitary fixtures, stairs and lifts, fire tanks, refuge area, open space and amenity space, and the NOCs the plot and building trigger; the floor counts around the fitted one (options) and the heights that change the rules (thresholds); the Proforma I area statement; premiums as shares of the ASR land rate, scrutiny fee and payment options; TDR loading; what applies (rainwater, solar, grey water, inclusive housing, open space, amenity, refuge, fire NOC); corner rounding; plot-origin options; power line clearance and TOD FSI when those inputs are given. Each value carries its UDCPR clause.
- 2026-10-19 `draw_plot` changed (inputSchema)
- 2026-10-19 `check_design` changed (inputSchema)
- 2026-10-19 `compare_uses` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/io.github.tejasdgurav%2Fcitiwise/changes

## Remotes

- https://citiwise.in/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (9)

- `check_design`: Use this when someone has a proposed building on a plot in Maharashtra and wants to know whether it meets UDCPR. Checks a proposal's built-up, height and margins (one per side, in side order) against UDCPR, with allowed, proposed and pass or fail per item. Margins need the height or the upper floors with them.
- `clause`: Use this when someone asks what a specific UDCPR regulation or table says. Returns the UDCPR text of a regulation or table by its number, such as '6.2.6', '11.2.4' or 'Table 6-G'.
- `compare_uses`: Use this when someone wants to know which uses are allowed on a plot in Maharashtra, or how built-up differs between uses on the same land. Returns every use on the same land in a fixed order: allowed or the reason not, conditions, clause, and built-up with and without TDR.
- `draw_plot`: Use this when a plot's shape is given as measurements rather than as one area: side lengths with the angles at the corners, or with diagonals, or both, as on a hand-drawn sketch, a measurement sheet, a survey or a photo of any of them; or the corners themselves. Read the figures as written (feet and inches such as 40'6", the area as on the 7/12 in guntha, acre or H.R.); a side left unmeasured may be null where the rest fix it. Works out the exact corners, fitting every figure by least squares when more are given than needed, reports how far each sits from the plot (closing side, angle sum, spare diagonals, stated area), refuses a misfit no tape makes, and returns the polygon and sides to pass to feasibility, the statement of area by the triangulation method (UDCPR 2.2.3(iii): lettered triangles, each by Heron from its sides as printed, the polygon rebuilt from the same lengths), a link that opens the plot drawn in Citiwise, and, when town and use are given, the feasibility with its report. Do not use for a plot described only by its area and road width; call feasibility directly.
- `feasibility`: Use this when someone asks what they can build on a plot or piece of land in Maharashtra, wherever UDCPR 2020 applies (outside Greater Mumbai and the other areas regulation 1.1(i) leaves out; towns says which): FSI or FAR, built-up area, setbacks (margins), height, how many floors, parking or approvals under UDCPR 2020. People often ask in Marathi or Hindi, or mix them with English: जागा, प्लॉट, गुंठा, चटई क्षेत्र निर्देशांक (FSI), बांधकाम क्षेत्र (built-up), सामासिक अंतर (margins), किती मजले (how many floors), पार्किंग; give the area and road as they said them with area_unit and road_unit. Do not use for Greater Mumbai, for land prices or for building permission itself. Returns the UDCPR feasibility of one plot for one use: area statement, FSI, height limits, the margin on every side, the building that fits (and, where its floor is not a rectangle, the largest regular building inside it: building.regular), parking, water, sanitary fixtures, stairs and lifts, fire tanks, refuge area, open space and amenity space, and the NOCs the plot and building trigger; the floor counts around the fitted one (options) and the heights that change the rules (thresholds); the Proforma I area statement; premiums as shares of the ASR land rate, scrutiny fee and payment options; TDR loading; what applies (rainwater, solar, grey water, inclusive housing, open space, amenity, refuge, fire NOC); corner rounding; plot-origin options; power line clearance and TOD FSI when those inputs are given. Each value carries its UDCPR clause.
- `fetch`: Use this to read one result of search in full: a UDCPR regulation or table in its own words as notified, what a town is under UDCPR with the figures for a common plot there, or a term in plain language with UDCPR's own definition. Returns id, title, text, url to cite, and metadata.
- `search`: Use this to find UDCPR regulations and tables, a town's page, or what a term means, on any topic: refuge area, marginal distance on a 12 m road, Table 6-G, parking for flats, Kolhapur, what carpet area or TDR is. Returns results, each with an id to pass to fetch, a title and a url to cite.
- `search_udcpr`: Use this when someone asks where UDCPR deals with a topic, such as refuge areas or rainwater harvesting. Returns lines of UDCPR that contain all the given words, with their chapter; a regulation's own heading first.
- `towns`: Use this when the town or planning authority of a plot is unclear or spelt differently. Returns Maharashtra towns and authorities with their kind and class; every one when no query is given.
