Skip to content

Citiwise

by tejasdgurav · remote · no sign-in to list tools · v1.4.0 · published by GitHub user tejasdgurav

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

Changes · 5

9 tools: 5 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http citiwise https://citiwise.in/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

9 tools

Changes things 5Claude Code: ask
  • check_designUse this when someone has a proposed building on a plot in Maharashtra and wants to know whether it meets UDCPR.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 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.

    Annotations the server declares

    • title: Check a design
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • clauseUse this when someone asks what a specific UDCPR regulation or table says.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 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'.

    Annotations the server declares

    • title: UDCPR clause text
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • draw_plotUse 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…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 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.

    Annotations the server declares

    • title: Draw a plot from its measurements
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • feasibilityUse 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) …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 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.

    Annotations the server declares

    • title: UDCPR feasibility
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • townsUse this when the town or planning authority of a plot is unclear or spelt differently.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 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.

    Annotations the server declares

    • title: Towns and authorities
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 4Claude Code: allow
  • compare_usesUse 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.No findings

    Why it is in this group

    • The name "compare_uses" says "compare": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Compare uses
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • fetchUse 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 t…Reads private dataNo findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "table": it reads databases.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Read a UDCPR regulation or town
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_udcprUse this when someone asks where UDCPR deals with a topic, such as refuge areas or rainwater harvesting.No findings

    Why it is in this group

    • The name "search_udcpr" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search UDCPR
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: 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.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged untrusted-input or outbound.

Reads private data2
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write0
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Install

Pinned to version 1.4.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http citiwise https://citiwise.in/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__citiwise__compare_uses",
      "mcp__citiwise__search_udcpr",
      "mcp__citiwise__search",
      "mcp__citiwise__fetch"
    ],
    "ask": [
      "mcp__citiwise__feasibility",
      "mcp__citiwise__check_design",
      "mcp__citiwise__clause",
      "mcp__citiwise__towns",
      "mcp__citiwise__draw_plot"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as citiwise. Review it before you use it.

Capability tags behind 2 rules
  • mcp__citiwise__search private-data
  • mcp__citiwise__fetch private-data