adu-tools
Estimate construction costs, permit fees, and timelines for ADU projects across 58 Los Angeles-area cities.
What it can do
- Estimate Adu Cost: Estimate the total cost to build an ADU in an LA-area city, including construction and permit fees. Returns a cost range, timeline, and plain-text summary.
- List Cities: List all 51 LA-area cities supported by the ADU cost calculator, with their slugs, display names, county, and governing municipality.
- Lookup Parcel Rules: Look up the ADU regulatory facts for a specific Los Angeles County property by street address: zoning, lot size, applicable overlays (hillside, coastal, fire, flood, historic, fau
What data it sees
Do you need an account
No: the server works without sign-in
Estimate construction costs, permit fees, and timelines for ADU projects across 58 Los Angeles-area cities. Supports detached, attached, garage conversion, JADU, and prefab/modular units. Returns cost ranges, city-specific permit fees, finish-level adjustments, and a plain-text summary.
How to connect
How to connect adu-tools to Claude
The server address to paste into Claude settings:
https://adu-tools--ladu.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect adu-tools to ChatGPT
The server address to paste into ChatGPT settings:
https://adu-tools--ladu.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect adu-tools to Cursor
The server address to paste into Cursor settings:
https://adu-tools--ladu.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (10)
Raw names from tools/list. Only developers need these.
| estimate_adu_cost | Estimate the total cost to build an ADU in an LA-area city, including construction and permit fees. Returns a cost range, timeline, and plain-text summary. |
| list_cities | List all 51 LA-area cities supported by the ADU cost calculator, with their slugs, display names, county, and governing municipality. |
| lookup_parcel_rules | Look up the ADU regulatory facts for a specific Los Angeles County property by street address: zoning, lot size, applicable overlays (hillside, coastal, fire, flood, historic, fault, etc.), and the governing jurisdiction's ADU rules (setbacks, max size, max height, parking, permit fees and timeline). Covers all ~2.4M LA County parcels; overlay detail is richest for City of Los Angeles parcels. |
| check_buildability | Assess whether an ADU can likely be built at a specific Los Angeles County address. Returns a plain-English buildability verdict (likely / possible with caveats / complex), the parcel's zoning and flagged overlay conditions, the governing jurisdiction's ADU rules, the count of permitted ADUs nearby, and a quotable summary. Use this when a user asks 'can I build an ADU at <address>?'. |
| get_adu_rules | Get the structured ADU regulations for an LA-area city: setbacks, max size, max height, parking, permit fees, timeline, and city-specific special rules. City-level (no address needed). Use list_cities for valid slugs. |
| get_adu_permit_counts | Get ADU permit totals for an LA-area city from LADU's permit database: total permits on record, permits in the most recent full year, year-over-year change, and median permit valuation. Falls back to the LA County aggregate when a city has little city-specific data (the response says which). |
| get_adu_permit_trends | Get the year-by-year ADU permit trend (permits and median valuation per year, 2018–present) for an LA-area city or the LA County aggregate. Use for 'ADU growth in <city>' questions. |
| find_nearby_adus | Find permitted ADUs near a Los Angeles County address (within a radius, default 2 miles). Returns recent permits with their address, year, status, JADU flag, and distance — useful for 'are people building ADUs near <address>?'. Addresses only; no owner information. |
| get_adu_permit_valuations | Get the distribution (25th percentile, median, 75th percentile) of declared ADU permit valuations for an LA-area city, optionally for a single year. Declared valuation is the applicant's stated construction cost on the permit and is typically lower than all-in project cost — use estimate_adu_cost for a project cost estimate. |
| compare_jurisdictions | Compare the ADU rules of two LA-area cities side by side: max size, height, setbacks, parking, permit fees, and timeline. Returns a row-by-row diff and a summary of the differences. Use list_cities for valid slugs. |