Citiwise
REMOTE · CITIWISE.IN
UDCPR 2020 (Maharashtra) feasibility for a plot, with the clause behind every number.
Available components
Last scanned (1 hour ago)
Scores higher than 79% of remote servers
Reachable. Last reached 24 Oct 2026.
Category Maps and Location
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 11637 tokens (~1163/item across 10 items; 9 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management38
- Stability check failed: schema churn in the 13 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 34 to 38.
- 22 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 28 to 31.
- 20 Oct 26 +2
- Tool “feasibility” rewrote its description, which is the text the model reads security
- Tool coverage: 88% → 100% ▲ functional
- Server version: 1.4.0 → 1.35 functional
- “check_design” reworded the description of “floor_height” cosmetic
- “check_design” reworded the description of “ground_height” cosmetic
- “check_design” reworded the description of “handed_over” cosmetic
- “check_design” reworded the description of “other_costs” cosmetic
- “check_design” reworded the description of “proposed” cosmetic
- “check_design” reworded the description of “reservation” cosmetic
- “check_design” reworded the description of “road_widening” cosmetic
- “check_design” reworded the description of “steep_area” cosmetic
- “check_design” reworded the description of “stilt” cosmetic
- “check_design” reworded the description of “use” cosmetic
- “clause” reworded the description of “ref” cosmetic
- “compare_uses” reworded the description of “floor_height” cosmetic
- “compare_uses” reworded the description of “ground_height” cosmetic
- “compare_uses” reworded the description of “handed_over” cosmetic
- “compare_uses” reworded the description of “other_costs” cosmetic
- “compare_uses” reworded the description of “reservation” cosmetic
- “compare_uses” reworded the description of “road_widening” cosmetic
- “compare_uses” reworded the description of “steep_area” cosmetic
- “compare_uses” reworded the description of “stilt” cosmetic
- “draw_plot” reworded the description of “diagonals” cosmetic
- “draw_plot” reworded the description of “use” cosmetic
- “draw_plot” reworded the description of “zone” cosmetic
- “feasibility” reworded the description of “floor_height” cosmetic
- “feasibility” reworded the description of “ground_height” cosmetic
- “feasibility” reworded the description of “handed_over” cosmetic
- “feasibility” reworded the description of “other_costs” cosmetic
- “feasibility” reworded the description of “reservation” cosmetic
- “feasibility” reworded the description of “road_widening” cosmetic
- “feasibility” reworded the description of “steep_area” cosmetic
- “feasibility” reworded the description of “stilt” cosmetic
- “feasibility” reworded the description of “use” cosmetic
- “search_udcpr” reworded the description of “words” cosmetic
- “towns” reworded the description of “query” cosmetic
- 19 Oct 26 0
- Tool “feasibility” rewrote its description, which is the text the model reads security
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 16.
- 16 Oct 26 0
- Stability: 0.13 → fail ▼ security
- A breaking change shipped without a version bump: still 1.4.0 ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “draw_plot” rewrote its description, which is the text the model reads security
- Schema quality: 923 → 1089 ▼ functional
- “draw_plot” changed the type of “stated_area”: number → number|string ▼ functional
- New prompt “draw_site” functional
- “check_design” added an optional parameter “allotted_basic” cosmetic
- “check_design” added an optional parameter “areas” cosmetic
- “check_design” added an optional parameter “avoid_special” cosmetic
- “check_design” added an optional parameter “buy_premium” cosmetic
- “check_design” added an optional parameter “green” cosmetic
- “check_design” added an optional parameter “measured” cosmetic
- “check_design” added an optional parameter “steep_area” cosmetic
- “check_design” added an optional parameter “step_margins” cosmetic
- “compare_uses” added an optional parameter “allotted_basic” cosmetic
- “compare_uses” added an optional parameter “areas” cosmetic
- “compare_uses” added an optional parameter “avoid_special” cosmetic
- “compare_uses” added an optional parameter “buy_premium” cosmetic
- “compare_uses” added an optional parameter “green” cosmetic
- “compare_uses” added an optional parameter “measured” cosmetic
- “compare_uses” added an optional parameter “steep_area” cosmetic
- “compare_uses” added an optional parameter “step_margins” cosmetic
- “draw_plot” added an optional parameter “area_unit” cosmetic
- “feasibility” added an optional parameter “allotted_basic” cosmetic
- “feasibility” added an optional parameter “areas” cosmetic
- “feasibility” added an optional parameter “avoid_special” cosmetic
- “feasibility” added an optional parameter “buy_premium” cosmetic
- “feasibility” added an optional parameter “green” cosmetic
- “feasibility” added an optional parameter “measured” cosmetic
- “feasibility” added an optional parameter “steep_area” cosmetic
- “feasibility” added an optional parameter “step_margins” cosmetic
- “check_design” reworded the description of “land_price” cosmetic
- “check_design” reworded the description of “margin” cosmetic
- “check_design” reworded the description of “sprinklers” cosmetic
- “compare_uses” reworded the description of “land_price” cosmetic
- “compare_uses” reworded the description of “margin” cosmetic
- “compare_uses” reworded the description of “sprinklers” cosmetic
- “draw_plot” reworded the description of “angles” cosmetic
- “draw_plot” reworded the description of “stated_area” cosmetic
- “draw_plot” reworded the description of “unit” cosmetic
- “feasibility” reworded the description of “land_price” cosmetic
- “feasibility” reworded the description of “margin” cosmetic
- “feasibility” reworded the description of “sprinklers” cosmetic
- 15 Oct 26 0
- Tool “fetch” rewrote its description, which is the text the model reads security
- Tool “search” rewrote its description, which is the text the model reads security
- Schema quality: 508 → 923 ▼ functional
- Tool coverage: 80% → 87% ▲ functional
- “check_design” added an optional parameter “access_length” cosmetic
- “check_design” added an optional parameter “buy_tdr” cosmetic
- “check_design” added an optional parameter “crz” cosmetic
- “check_design” added an optional parameter “existing_built_up” cosmetic
- “check_design” added an optional parameter “existing_carpet” cosmetic
- “check_design” added an optional parameter “existing_kind” cosmetic
- “check_design” added an optional parameter “existing_tenements” cosmetic
- “check_design” added an optional parameter “flood_zone” cosmetic
- “check_design” added an optional parameter “gaothan_belt” cosmetic
- “check_design” added an optional parameter “internal_road_length” cosmetic
- “check_design” added an optional parameter “layout_kind” cosmetic
- “check_design” added an optional parameter “papers” cosmetic
- “check_design” added an optional parameter “rc_rate” cosmetic
- “check_design” added an optional parameter “reservation_type” cosmetic
- “check_design” added an optional parameter “slum_tenements” cosmetic
- “check_design” added an optional parameter “specified_area” cosmetic
- “check_design” added an optional parameter “wings” cosmetic
- “compare_uses” added an optional parameter “access_length” cosmetic
- “compare_uses” added an optional parameter “buy_tdr” cosmetic
- “compare_uses” added an optional parameter “crz” cosmetic
- “compare_uses” added an optional parameter “existing_built_up” cosmetic
- “compare_uses” added an optional parameter “existing_carpet” cosmetic
- “compare_uses” added an optional parameter “existing_kind” cosmetic
- “compare_uses” added an optional parameter “existing_tenements” cosmetic
- “compare_uses” added an optional parameter “flood_zone” cosmetic
- “compare_uses” added an optional parameter “gaothan_belt” cosmetic
- “compare_uses” added an optional parameter “internal_road_length” cosmetic
- “compare_uses” added an optional parameter “layout_kind” cosmetic
- “compare_uses” added an optional parameter “papers” cosmetic
- “compare_uses” added an optional parameter “rc_rate” cosmetic
- “compare_uses” added an optional parameter “reservation_type” cosmetic
- “compare_uses” added an optional parameter “slum_tenements” cosmetic
- “compare_uses” added an optional parameter “specified_area” cosmetic
- “compare_uses” added an optional parameter “wings” cosmetic
- “feasibility” added an optional parameter “access_length” cosmetic
- “feasibility” added an optional parameter “buy_tdr” cosmetic
- “feasibility” added an optional parameter “crz” cosmetic
- “feasibility” added an optional parameter “existing_built_up” cosmetic
- “feasibility” added an optional parameter “existing_carpet” cosmetic
- “feasibility” added an optional parameter “existing_kind” cosmetic
- “feasibility” added an optional parameter “existing_tenements” cosmetic
- “feasibility” added an optional parameter “flood_zone” cosmetic
- “feasibility” added an optional parameter “gaothan_belt” cosmetic
- “feasibility” added an optional parameter “internal_road_length” cosmetic
- “feasibility” added an optional parameter “layout_kind” cosmetic
- “feasibility” added an optional parameter “papers” cosmetic
- “feasibility” added an optional parameter “rc_rate” cosmetic
- “feasibility” added an optional parameter “reservation_type” cosmetic
- “feasibility” added an optional parameter “slum_tenements” cosmetic
- “feasibility” added an optional parameter “specified_area” cosmetic
- “feasibility” added an optional parameter “wings” cosmetic
- “check_design” reworded the description of “land_use” cosmetic
- “check_design” reworded the description of “tod” cosmetic
- “compare_uses” reworded the description of “land_use” cosmetic
- “compare_uses” reworded the description of “tod” cosmetic
- “feasibility” reworded the description of “land_use” cosmetic
- “feasibility” reworded the description of “tod” cosmetic
- “fetch” reworded the description of “id” cosmetic
- 14 Oct 26 +1
- “check_design” added an optional parameter “jda_offer” cosmetic
- “compare_uses” added an optional parameter “jda_offer” cosmetic
- “feasibility” added an optional parameter “jda_offer” cosmetic
3 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 24 Oct 2026 · Probed https://citiwise.in/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.citiwise.in | CN=YR2,O=Let's Encrypt,C=US | 30 Sept 2026 | 29 Dec 2026 | RSA 2048 | SHA256-RSA | 6c8222274f6424150cef286140801c4af4e |
| SANs: *.citiwise.in, citiwise.in | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of citiwise.in. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| in. | present | 10094 | 13 | Verified |
| citiwise.in. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self' data:; connect-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-src 'none'; frame-ancestors 'none' |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=(), usb=(), interest-cohort=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://citiwise.in/mcp | Verified | 200 | |
| http (plaintext) | http://citiwise.in/mcp | HTTPS enforced | 308 | https://citiwise.in/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_design ~3,331
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.
| Name | Type | Req | Description |
|---|---|---|---|
| access_length | number | – | the plot does not abut a public street: the length of the access way to it, m, measured to the street; 'road' is then the access way's width (3.2.2, 3.3.3) |
| allotted_basic | number | – | for a plot of a plotted layout, the basic FSI area in m² the layout plan allots it (3.9(iii)), up to the most the plot may receive |
| area | number | yes | plot area as the user gave it, in m2 unless area_unit says sqft, guntha, acre or hectare: the least of 7/12, measurement sheet and site |
| area_unit | string | – | unit of area, road_widening and reservation as the user gave them; default m2. Citiwise converts and says so in units |
| areas | object | – | the three areas of Appendix A item 1, in m2, for the area statement: ownership (the 7/12 or property card), sheet (the measurement sheet of the Land Records) and site (by the measurements); area is t… |
| asr_rate | number | – | land rate of the plot in the Annual Statement of Rates, Rs a m2; gives premiums in rupees and the DRC to debit |
| avoid_special | boolean | – | true: keep the building out of the special building rules (1.3(93)(xiv)): no higher than 24 m, and for the uses the floor area reaches, each floor below 500 m² (750 m² for a sprinklered mixed buildin… |
| basement_flush | boolean | – | basement top flush with the ground: it may then run into the side and rear margins (9.11.1 proviso i) |
| basements | integer | – | levels of basement, for parking and services (9.11) |
| bathrooms | boolean | – | factories: whether bath-rooms are provided, for water (Table 12-A) |
| beds | integer | – | beds: for hospitals, parking, water, sanitation and grey water; for hotels, water |
| build_cost | number | – | construction cost, Rs a sq ft of built-up area |
| buy_premium | boolean | – | false: the study is drawn without premium FSI (and without the Table 7-A higher FSI, which is taken on premium), on basic FSI, any TDR and the ancillary area; default true |
| buy_tdr | boolean | – | false: the study is drawn without buying TDR, on basic and premium FSI with their ancillary area; default true. Either way, tdr_choice sets both side by side, with the most TDR is worth to this plot… |
| carpet | number | – | carpet area of a flat, m2 |
| carpet_share | number | – | carpet area as a share of the built-up, 0.3 to 0.95 or 30 to 95 (default 0.8); sets the unit counts left out and so the sales value |
| crz | string | – | the coastal regulation zone the plot is in: I (between the tide lines), II, or III within its No Development Zone. No TDR in the coastal zone (11.2.8(c)); development as the CRZ Notification allows (… |
| existing_built_up | number | – | authorised built-up of the existing building, m², with its TDR and premium FSI (7.5, 7.6) |
| existing_carpet | number | – | carpet area of the existing tenements together, m² (7.4.2, 7.6) |
| existing_kind | string | – | what stands on the plot, for redevelopment (7.4, 7.5, 7.6): a co-operative society's building, a tenanted building, a MHADA scheme building redeveloped by the society or by MHADA, or a bungalow; retu… |
| existing_tenements | integer | – | tenements in the existing building (7.4.2, 7.6) |
| flats | integer | – | number of flats; with carpet, a one-type unit mix |
| flood_zone | string | – | the plot lies within the blue flood line (prohibitive: no construction, no TDR) or between the blue and red flood lines (restrictive: plinth above the red flood line) (3.1.3; 11.2.8(b)) |
| floor_height | number | – | height of each upper floor, m |
| gaothan_belt | boolean | – | a Regional Plan village plot in the agricultural zone, within the belt around the gaothan or a town where 5.1.1 permits residential development, on a premium of a share of the land's ASR rate |
| green | string | – | green rating committed (IGBC / GRIHA / LEED tier) for the incentive FSI of 7.10 on basic FSI: 3%, 5% or 7% |
| ground_height | number | – | height of the ground or stilt floor, m |
| handed_over | boolean | – | the road widening and reservation land is handed over to the Authority, for its development rights (11.2.4); default true |
| internal_road_length | number | – | with layout_kind, the length of the longest internal road, m, from the farthest plot or building to the public street (3.3.3) |
| jda_offer | number | – | share of the flats a developer has offered the landowner in a joint development, %; with the rates, gives what the developer keeps at that share beside the share the plot carries |
| land_price | number | – | asking price of the land when it is being bought, Rs for the whole plot; with the rates, gives the profit at that price and how far it sits from what the land carries |
| land_use | string | – | the zone on the development or regional plan: residential, commercial, industrial, public / semi-public, agricultural, transport, green belt, loom industry cum residential (4.9), regional park (4.14)… |
| layout_kind | string | – | the land is laid out into plots, or developed as a group housing scheme; returns layout: the internal road widths of Tables 3A to 3C and what the layout carries (3.3, 3.4, 2.7.2) |
| margin | number | – | margin the developer needs, % of sales value; with the rates, gives what the land carries and the largest share of the flats for the landowner in a joint development |
| measured | boolean | – | true: the polygon is the plot as measured on site (draw_plot gives it so), drawn as it is; area, the least of the areas of Appendix A item 1, may then be smaller than the polygon. Without it the draw… |
| other_costs | number | – | other costs (fees, finance, marketing), % of construction and the stilt floor |
| papers | array | – | the papers the facts were read from, when they were: 712 (the 7/12 extract or property card, for the area), sheet (the measurement sheet, for the sides and area), zone (the zone certificate or DP rem… |
| parking_cost | number | – | construction cost of the stilt floor, Rs a sq ft; the stilt is free of FSI but built; default build_cost |
| plot_origin | string | – | layout: sanctioned layout or sub-division; unauthorised: sub-divided after 11.01.1967 without permission; gunthewari: regularised under the Gunthewari Act |
| polygon | array | – | plot corners [x, y] in m, anticlockwise, one per side, side 1 first; needed for plots that are not rectangles |
| power_line_kv | number | – | voltage of an overhead line near the plot, kV, for its clearance |
| prepared_by | string | – | who is giving the study, as it should appear on its cover, e.g. a broker or developer |
| prepared_for | string | – | who the study is for, as it should appear on its cover, e.g. the landowner or client |
| proposed | object | yes | the proposal; at least one of built_up, height, upper_floors or margins |
| rc_rate | number | – | the ASR rate of RCC construction, Rs a m², for the land rate to construction rate ratio of Tables 7-C to 7-E |
| reservation | number | – | area of the plot under a DP reservation, in the unit of area |
| reservation_type | string | – | what the DP reservation on the plot is for; with 'reservation', returns accommodation_reservation: developing it by its owner under 11.1, Table 11-A |
| road | number | – | width of the road in front, in m unless road_unit is ft, when there is one road and no sides |
| road_unit | string | – | unit of road and of each road side's width as the user gave them; default m |
| road_widening | number | – | area of the plot under DP road widening, in the unit of area |
| road_widening_side | integer | – | side number (1-based) that the road widening strip comes off; default the first road side |
| rooms | integer | – | guest rooms, for hotel parking and sanitation |
| sale_rate | number | – | sale rate, Rs a sq ft of carpet area; with build_cost and tdr_rate gives an appraisal: sales value, construction, premiums, TDR and the surplus before land |
| seats | integer | – | seats, for assembly parking |
| sides | array | – | every side, anticlockwise, starting at a road |
| slum_tenements | integer | – | eligible hutments on the plot, for slum rehabilitation (14.6, 14.7) |
| specified_area | string | – | Kolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row,… |
| sprinklers | boolean | – | mixed building fully sprinklered with the travel distances kept: under the 1.3(93)(xiv) note it stays out of the special building rules up to 24 m with floors up to 750 m², subject to fire NOC |
| steep_area | number | – | m² of the plot steeper than 1 in 5: hill top and hill slope land, not built upon (3.1.1(iii); 4.2 (XIV)) |
| step_margins | boolean | – | true: step margins on upper floors (6.2.3(c)): each floor keeps the side and rear margin its own height needs, so lower floors are larger; 6 m at the ground for a special building |
| stilt | boolean | – | parking on a stilt floor, left out of the FSI; default false |
| tdr_generating_rate | number | – | ASR land rate of the TDR's generating plot, Rs a m2 (11.2.6) |
| tdr_rate | number | – | price of TDR, Rs a sq ft |
| tod | boolean | – | plot inside a TOD zone (14.2): Municipal Corporations, metropolitan authorities and CIDCO; the Nagpur Metro Rail Corridor by Table 14-P |
| town | string | yes | Maharashtra town, city or planning authority, e.g. Pune, Kolhapur, Nashik, PMRDA |
| units | array | – | the unit mix, one entry per type, e.g. [{"type":"2 BHK","count":12,"carpet":60},{"type":"Shop","count":4,"carpet":25}]; parking takes each type in its own Table 8-B row; a count left out is worked ou… |
| use | string | yes | the use of the building: flats for flats; mix for flats with shops below; bung for a bungalow; row for row houses; shop for shops; office for offices; it for an IT building; hotel for a hotel; fuel f… |
| use_carpet | number | – | carpet area of a non-residential use, or of the shops below flats, m2, for its parking and water; default the built-up that fits |
| wings | array | – | a group housing project as wings, each with its own typical floor and floors; units then gives each type and its carpet only. Returns each wing's height, lifts, special building and the distance betw… |
| zone | string | – | nc non-congested, c congested (gaothan) |
No output schema declared.
No examples provided.
clause ~94
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'.
| Name | Type | Req | Description |
|---|---|---|---|
| ref | string | yes | a regulation or table number, such as 6.2.6, 11.2.4 or Table 6-G |
No output schema declared.
No examples provided.
compare_uses ~3,182
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.
| Name | Type | Req | Description |
|---|---|---|---|
| access_length | number | – | the plot does not abut a public street: the length of the access way to it, m, measured to the street; 'road' is then the access way's width (3.2.2, 3.3.3) |
| allotted_basic | number | – | for a plot of a plotted layout, the basic FSI area in m² the layout plan allots it (3.9(iii)), up to the most the plot may receive |
| area | number | yes | plot area as the user gave it, in m2 unless area_unit says sqft, guntha, acre or hectare: the least of 7/12, measurement sheet and site |
| area_unit | string | – | unit of area, road_widening and reservation as the user gave them; default m2. Citiwise converts and says so in units |
| areas | object | – | the three areas of Appendix A item 1, in m2, for the area statement: ownership (the 7/12 or property card), sheet (the measurement sheet of the Land Records) and site (by the measurements); area is t… |
| asr_rate | number | – | land rate of the plot in the Annual Statement of Rates, Rs a m2; gives premiums in rupees and the DRC to debit |
| avoid_special | boolean | – | true: keep the building out of the special building rules (1.3(93)(xiv)): no higher than 24 m, and for the uses the floor area reaches, each floor below 500 m² (750 m² for a sprinklered mixed buildin… |
| basement_flush | boolean | – | basement top flush with the ground: it may then run into the side and rear margins (9.11.1 proviso i) |
| basements | integer | – | levels of basement, for parking and services (9.11) |
| bathrooms | boolean | – | factories: whether bath-rooms are provided, for water (Table 12-A) |
| beds | integer | – | beds: for hospitals, parking, water, sanitation and grey water; for hotels, water |
| build_cost | number | – | construction cost, Rs a sq ft of built-up area |
| buy_premium | boolean | – | false: the study is drawn without premium FSI (and without the Table 7-A higher FSI, which is taken on premium), on basic FSI, any TDR and the ancillary area; default true |
| buy_tdr | boolean | – | false: the study is drawn without buying TDR, on basic and premium FSI with their ancillary area; default true. Either way, tdr_choice sets both side by side, with the most TDR is worth to this plot… |
| carpet | number | – | carpet area of a flat, m2 |
| carpet_share | number | – | carpet area as a share of the built-up, 0.3 to 0.95 or 30 to 95 (default 0.8); sets the unit counts left out and so the sales value |
| crz | string | – | the coastal regulation zone the plot is in: I (between the tide lines), II, or III within its No Development Zone. No TDR in the coastal zone (11.2.8(c)); development as the CRZ Notification allows (… |
| existing_built_up | number | – | authorised built-up of the existing building, m², with its TDR and premium FSI (7.5, 7.6) |
| existing_carpet | number | – | carpet area of the existing tenements together, m² (7.4.2, 7.6) |
| existing_kind | string | – | what stands on the plot, for redevelopment (7.4, 7.5, 7.6): a co-operative society's building, a tenanted building, a MHADA scheme building redeveloped by the society or by MHADA, or a bungalow; retu… |
| existing_tenements | integer | – | tenements in the existing building (7.4.2, 7.6) |
| flats | integer | – | number of flats; with carpet, a one-type unit mix |
| flood_zone | string | – | the plot lies within the blue flood line (prohibitive: no construction, no TDR) or between the blue and red flood lines (restrictive: plinth above the red flood line) (3.1.3; 11.2.8(b)) |
| floor_height | number | – | height of each upper floor, m |
| gaothan_belt | boolean | – | a Regional Plan village plot in the agricultural zone, within the belt around the gaothan or a town where 5.1.1 permits residential development, on a premium of a share of the land's ASR rate |
| green | string | – | green rating committed (IGBC / GRIHA / LEED tier) for the incentive FSI of 7.10 on basic FSI: 3%, 5% or 7% |
| ground_height | number | – | height of the ground or stilt floor, m |
| handed_over | boolean | – | the road widening and reservation land is handed over to the Authority, for its development rights (11.2.4); default true |
| internal_road_length | number | – | with layout_kind, the length of the longest internal road, m, from the farthest plot or building to the public street (3.3.3) |
| jda_offer | number | – | share of the flats a developer has offered the landowner in a joint development, %; with the rates, gives what the developer keeps at that share beside the share the plot carries |
| land_price | number | – | asking price of the land when it is being bought, Rs for the whole plot; with the rates, gives the profit at that price and how far it sits from what the land carries |
| land_use | string | – | the zone on the development or regional plan: residential, commercial, industrial, public / semi-public, agricultural, transport, green belt, loom industry cum residential (4.9), regional park (4.14)… |
| layout_kind | string | – | the land is laid out into plots, or developed as a group housing scheme; returns layout: the internal road widths of Tables 3A to 3C and what the layout carries (3.3, 3.4, 2.7.2) |
| margin | number | – | margin the developer needs, % of sales value; with the rates, gives what the land carries and the largest share of the flats for the landowner in a joint development |
| measured | boolean | – | true: the polygon is the plot as measured on site (draw_plot gives it so), drawn as it is; area, the least of the areas of Appendix A item 1, may then be smaller than the polygon. Without it the draw… |
| other_costs | number | – | other costs (fees, finance, marketing), % of construction and the stilt floor |
| papers | array | – | the papers the facts were read from, when they were: 712 (the 7/12 extract or property card, for the area), sheet (the measurement sheet, for the sides and area), zone (the zone certificate or DP rem… |
| parking_cost | number | – | construction cost of the stilt floor, Rs a sq ft; the stilt is free of FSI but built; default build_cost |
| plot_origin | string | – | layout: sanctioned layout or sub-division; unauthorised: sub-divided after 11.01.1967 without permission; gunthewari: regularised under the Gunthewari Act |
| polygon | array | – | plot corners [x, y] in m, anticlockwise, one per side, side 1 first; needed for plots that are not rectangles |
| power_line_kv | number | – | voltage of an overhead line near the plot, kV, for its clearance |
| prepared_by | string | – | who is giving the study, as it should appear on its cover, e.g. a broker or developer |
| prepared_for | string | – | who the study is for, as it should appear on its cover, e.g. the landowner or client |
| rc_rate | number | – | the ASR rate of RCC construction, Rs a m², for the land rate to construction rate ratio of Tables 7-C to 7-E |
| reservation | number | – | area of the plot under a DP reservation, in the unit of area |
| reservation_type | string | – | what the DP reservation on the plot is for; with 'reservation', returns accommodation_reservation: developing it by its owner under 11.1, Table 11-A |
| road | number | – | width of the road in front, in m unless road_unit is ft, when there is one road and no sides |
| road_unit | string | – | unit of road and of each road side's width as the user gave them; default m |
| road_widening | number | – | area of the plot under DP road widening, in the unit of area |
| road_widening_side | integer | – | side number (1-based) that the road widening strip comes off; default the first road side |
| rooms | integer | – | guest rooms, for hotel parking and sanitation |
| sale_rate | number | – | sale rate, Rs a sq ft of carpet area; with build_cost and tdr_rate gives an appraisal: sales value, construction, premiums, TDR and the surplus before land |
| seats | integer | – | seats, for assembly parking |
| sides | array | – | every side, anticlockwise, starting at a road |
| slum_tenements | integer | – | eligible hutments on the plot, for slum rehabilitation (14.6, 14.7) |
| specified_area | string | – | Kolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row,… |
| sprinklers | boolean | – | mixed building fully sprinklered with the travel distances kept: under the 1.3(93)(xiv) note it stays out of the special building rules up to 24 m with floors up to 750 m², subject to fire NOC |
| steep_area | number | – | m² of the plot steeper than 1 in 5: hill top and hill slope land, not built upon (3.1.1(iii); 4.2 (XIV)) |
| step_margins | boolean | – | true: step margins on upper floors (6.2.3(c)): each floor keeps the side and rear margin its own height needs, so lower floors are larger; 6 m at the ground for a special building |
| stilt | boolean | – | parking on a stilt floor, left out of the FSI; default false |
| tdr_generating_rate | number | – | ASR land rate of the TDR's generating plot, Rs a m2 (11.2.6) |
| tdr_rate | number | – | price of TDR, Rs a sq ft |
| tod | boolean | – | plot inside a TOD zone (14.2): Municipal Corporations, metropolitan authorities and CIDCO; the Nagpur Metro Rail Corridor by Table 14-P |
| town | string | yes | Maharashtra town, city or planning authority, e.g. Pune, Kolhapur, Nashik, PMRDA |
| units | array | – | the unit mix, one entry per type, e.g. [{"type":"2 BHK","count":12,"carpet":60},{"type":"Shop","count":4,"carpet":25}]; parking takes each type in its own Table 8-B row; a count left out is worked ou… |
| use_carpet | number | – | carpet area of a non-residential use, or of the shops below flats, m2, for its parking and water; default the built-up that fits |
| wings | array | – | a group housing project as wings, each with its own typical floor and floors; units then gives each type and its carpet only. Returns each wing's height, lifts, special building and the distance betw… |
| zone | string | – | nc non-congested, c congested (gaothan) |
No output schema declared.
No examples provided.
draw_plot ~684
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.
| Name | Type | Req | Description |
|---|---|---|---|
| angles | array | – | interior angle in degrees at each corner; corner i is where side i begins; null where not measured |
| area_unit | string | – | unit of stated_area when it is a bare number; default m2 (sq ft with unit ft); hr is hectare-are as on a 7/12 |
| diagonals | array | – | corner-to-corner distances; a plot of n sides needs n - 3, each running across the inside of the plot; lengths alone can fit more than one plot, and the answer then names the corner that needs its an… |
| polygon | array | – | the corners [x, y] instead of lengths and angles, one per side |
| right_angles | boolean | – | true when every corner of a four-sided plot is square |
| sides | array | yes | every side in order round the plot, either direction; at least one is a road |
| stated_area | number|string | – | the area on the 7/12, property card or measurement sheet, to check against, as written: 5 guntha, 0.12.50 H.R., 5400 sq ft |
| town | string | – | with use: also run the feasibility |
| unit | string | – | unit of every bare number among the lengths and road widths; default m |
| use | string | – | the use of the building: flats for flats; mix for flats with shops below; bung for a bungalow; row for row houses; shop for shops; office for offices; it for an IT building; hotel for a hotel; fuel f… |
| zone | string | – | with town and use: nc non-congested, c congested (gaothan) |
No output schema declared.
No examples provided.
feasibility ~3,629
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.
| Name | Type | Req | Description |
|---|---|---|---|
| access_length | number | – | the plot does not abut a public street: the length of the access way to it, m, measured to the street; 'road' is then the access way's width (3.2.2, 3.3.3) |
| allotted_basic | number | – | for a plot of a plotted layout, the basic FSI area in m² the layout plan allots it (3.9(iii)), up to the most the plot may receive |
| area | number | yes | plot area as the user gave it, in m2 unless area_unit says sqft, guntha, acre or hectare: the least of 7/12, measurement sheet and site |
| area_unit | string | – | unit of area, road_widening and reservation as the user gave them; default m2. Citiwise converts and says so in units |
| areas | object | – | the three areas of Appendix A item 1, in m2, for the area statement: ownership (the 7/12 or property card), sheet (the measurement sheet of the Land Records) and site (by the measurements); area is t… |
| asr_rate | number | – | land rate of the plot in the Annual Statement of Rates, Rs a m2; gives premiums in rupees and the DRC to debit |
| avoid_special | boolean | – | true: keep the building out of the special building rules (1.3(93)(xiv)): no higher than 24 m, and for the uses the floor area reaches, each floor below 500 m² (750 m² for a sprinklered mixed buildin… |
| basement_flush | boolean | – | basement top flush with the ground: it may then run into the side and rear margins (9.11.1 proviso i) |
| basements | integer | – | levels of basement, for parking and services (9.11) |
| bathrooms | boolean | – | factories: whether bath-rooms are provided, for water (Table 12-A) |
| beds | integer | – | beds: for hospitals, parking, water, sanitation and grey water; for hotels, water |
| build_cost | number | – | construction cost, Rs a sq ft of built-up area |
| buy_premium | boolean | – | false: the study is drawn without premium FSI (and without the Table 7-A higher FSI, which is taken on premium), on basic FSI, any TDR and the ancillary area; default true |
| buy_tdr | boolean | – | false: the study is drawn without buying TDR, on basic and premium FSI with their ancillary area; default true. Either way, tdr_choice sets both side by side, with the most TDR is worth to this plot… |
| carpet | number | – | carpet area of a flat, m2 |
| carpet_share | number | – | carpet area as a share of the built-up, 0.3 to 0.95 or 30 to 95 (default 0.8); sets the unit counts left out and so the sales value |
| crz | string | – | the coastal regulation zone the plot is in: I (between the tide lines), II, or III within its No Development Zone. No TDR in the coastal zone (11.2.8(c)); development as the CRZ Notification allows (… |
| existing_built_up | number | – | authorised built-up of the existing building, m², with its TDR and premium FSI (7.5, 7.6) |
| existing_carpet | number | – | carpet area of the existing tenements together, m² (7.4.2, 7.6) |
| existing_kind | string | – | what stands on the plot, for redevelopment (7.4, 7.5, 7.6): a co-operative society's building, a tenanted building, a MHADA scheme building redeveloped by the society or by MHADA, or a bungalow; retu… |
| existing_tenements | integer | – | tenements in the existing building (7.4.2, 7.6) |
| flats | integer | – | number of flats; with carpet, a one-type unit mix |
| flood_zone | string | – | the plot lies within the blue flood line (prohibitive: no construction, no TDR) or between the blue and red flood lines (restrictive: plinth above the red flood line) (3.1.3; 11.2.8(b)) |
| floor_height | number | – | height of each upper floor, m |
| gaothan_belt | boolean | – | a Regional Plan village plot in the agricultural zone, within the belt around the gaothan or a town where 5.1.1 permits residential development, on a premium of a share of the land's ASR rate |
| green | string | – | green rating committed (IGBC / GRIHA / LEED tier) for the incentive FSI of 7.10 on basic FSI: 3%, 5% or 7% |
| ground_height | number | – | height of the ground or stilt floor, m |
| handed_over | boolean | – | the road widening and reservation land is handed over to the Authority, for its development rights (11.2.4); default true |
| internal_road_length | number | – | with layout_kind, the length of the longest internal road, m, from the farthest plot or building to the public street (3.3.3) |
| jda_offer | number | – | share of the flats a developer has offered the landowner in a joint development, %; with the rates, gives what the developer keeps at that share beside the share the plot carries |
| land_price | number | – | asking price of the land when it is being bought, Rs for the whole plot; with the rates, gives the profit at that price and how far it sits from what the land carries |
| land_use | string | – | the zone on the development or regional plan: residential, commercial, industrial, public / semi-public, agricultural, transport, green belt, loom industry cum residential (4.9), regional park (4.14)… |
| layout_kind | string | – | the land is laid out into plots, or developed as a group housing scheme; returns layout: the internal road widths of Tables 3A to 3C and what the layout carries (3.3, 3.4, 2.7.2) |
| margin | number | – | margin the developer needs, % of sales value; with the rates, gives what the land carries and the largest share of the flats for the landowner in a joint development |
| measured | boolean | – | true: the polygon is the plot as measured on site (draw_plot gives it so), drawn as it is; area, the least of the areas of Appendix A item 1, may then be smaller than the polygon. Without it the draw… |
| other_costs | number | – | other costs (fees, finance, marketing), % of construction and the stilt floor |
| papers | array | – | the papers the facts were read from, when they were: 712 (the 7/12 extract or property card, for the area), sheet (the measurement sheet, for the sides and area), zone (the zone certificate or DP rem… |
| parking_cost | number | – | construction cost of the stilt floor, Rs a sq ft; the stilt is free of FSI but built; default build_cost |
| plot_origin | string | – | layout: sanctioned layout or sub-division; unauthorised: sub-divided after 11.01.1967 without permission; gunthewari: regularised under the Gunthewari Act |
| polygon | array | – | plot corners [x, y] in m, anticlockwise, one per side, side 1 first; needed for plots that are not rectangles |
| power_line_kv | number | – | voltage of an overhead line near the plot, kV, for its clearance |
| prepared_by | string | – | who is giving the study, as it should appear on its cover, e.g. a broker or developer |
| prepared_for | string | – | who the study is for, as it should appear on its cover, e.g. the landowner or client |
| rc_rate | number | – | the ASR rate of RCC construction, Rs a m², for the land rate to construction rate ratio of Tables 7-C to 7-E |
| reservation | number | – | area of the plot under a DP reservation, in the unit of area |
| reservation_type | string | – | what the DP reservation on the plot is for; with 'reservation', returns accommodation_reservation: developing it by its owner under 11.1, Table 11-A |
| road | number | – | width of the road in front, in m unless road_unit is ft, when there is one road and no sides |
| road_unit | string | – | unit of road and of each road side's width as the user gave them; default m |
| road_widening | number | – | area of the plot under DP road widening, in the unit of area |
| road_widening_side | integer | – | side number (1-based) that the road widening strip comes off; default the first road side |
| rooms | integer | – | guest rooms, for hotel parking and sanitation |
| sale_rate | number | – | sale rate, Rs a sq ft of carpet area; with build_cost and tdr_rate gives an appraisal: sales value, construction, premiums, TDR and the surplus before land |
| seats | integer | – | seats, for assembly parking |
| sides | array | – | every side, anticlockwise, starting at a road |
| slum_tenements | integer | – | eligible hutments on the plot, for slum rehabilitation (14.6, 14.7) |
| specified_area | string | – | Kolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row,… |
| sprinklers | boolean | – | mixed building fully sprinklered with the travel distances kept: under the 1.3(93)(xiv) note it stays out of the special building rules up to 24 m with floors up to 750 m², subject to fire NOC |
| steep_area | number | – | m² of the plot steeper than 1 in 5: hill top and hill slope land, not built upon (3.1.1(iii); 4.2 (XIV)) |
| step_margins | boolean | – | true: step margins on upper floors (6.2.3(c)): each floor keeps the side and rear margin its own height needs, so lower floors are larger; 6 m at the ground for a special building |
| stilt | boolean | – | parking on a stilt floor, left out of the FSI; default false |
| tdr_generating_rate | number | – | ASR land rate of the TDR's generating plot, Rs a m2 (11.2.6) |
| tdr_rate | number | – | price of TDR, Rs a sq ft |
| tod | boolean | – | plot inside a TOD zone (14.2): Municipal Corporations, metropolitan authorities and CIDCO; the Nagpur Metro Rail Corridor by Table 14-P |
| town | string | yes | Maharashtra town, city or planning authority, e.g. Pune, Kolhapur, Nashik, PMRDA |
| units | array | – | the unit mix, one entry per type, e.g. [{"type":"2 BHK","count":12,"carpet":60},{"type":"Shop","count":4,"carpet":25}]; parking takes each type in its own Table 8-B row; a count left out is worked ou… |
| upper_floors | integer | – | floors above ground or stilt (G+3 is 3); omit to fit |
| use | string | yes | the use of the building: flats for flats; mix for flats with shops below; bung for a bungalow; row for row houses; shop for shops; office for offices; it for an IT building; hotel for a hotel; fuel f… |
| use_carpet | number | – | carpet area of a non-residential use, or of the shops below flats, m2, for its parking and water; default the built-up that fits |
| wings | array | – | a group housing project as wings, each with its own typical floor and floors; units then gives each type and its carpet only. Returns each wing's height, lifts, special building and the distance betw… |
| zone | string | – | nc non-congested, c congested (gaothan) |
No output schema declared.
No examples provided.
fetch ~118
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | an id from search, such as udcpr/6-2-6, udcpr/table-6-g, towns/kolhapur or glossary/carpet |
No output schema declared.
No examples provided.
search ~119
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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | words, a regulation number such as 6.2.6, a table such as Table 8-B, or a town |
No output schema declared.
No examples provided.
search_udcpr ~77
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.
| Name | Type | Req | Description |
|---|---|---|---|
| words | string | yes | words that must all appear on the line, such as refuge area |
No output schema declared.
No examples provided.
towns ~63
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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | – | part of a name; leave out for every town and authority |
No output schema declared.
No examples provided.
How do I install the Citiwise MCP server?
Citiwise is a hosted endpoint at https://citiwise.in/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · citiwise.in
claude mcp add --transport http tejasdgurav-citiwise 'https://citiwise.in/mcp'
What is the Citiwise MCP server?
Citiwise is an MCP server listed in the public MCP registry as io.github.tejasdgurav/citiwise. UDCPR 2020 (Maharashtra) feasibility for a plot, with the clause behind every number. This page covers its hosted endpoint (https://citiwise.in/mcp).
Is the Citiwise MCP server safe to use?
Citiwise scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Citiwise MCP server expose?
Citiwise exposes 9 tools: feasibility, compare_uses, check_design, clause, search_udcpr, and 4 more. Their descriptions and schemas cost roughly 11,297 tokens of context every time the server is loaded.
Does the Citiwise MCP server require authentication?
No. We connected to Citiwise without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Citiwise MCP server still maintained?
Citiwise is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.