US municipal development cost: aggregated impact + water/sewer tap fees per jurisdiction
Query US municipal development costs, impact fees, and water/sewer tap fees by jurisdiction.
Captured live from the server via tools/list.
get_dev_costs
Get the total MUNICIPAL DEVELOPMENT COST to build in a US jurisdiction — the impact/development fees, water & sewer tap (connection) fees and capital-recovery charges a real-estate developer must pay the city/utility before breaking ground — for a standard single-family home. Returns ONE aggregated USD figure, the water+sewer vs other-impact split, and a one-line summary of each fee included. This is the number a development-feasibility / pro-forma analysis needs and that today costs weeks of manual digging across municipal ordinances, utility fee schedules and county portals. We AGGREGATE and NORMALIZE it from public, government-published fee schedules so your agent doesn't have to. Pass a 'jurisdiction' ('Phoenix, AZ', 'Raleigh, NC') or a US 'address'. Coverage is honest: 'deep' = the city's own water/sewer schedule was ingested (per-meter detail); 'partial' = headline figures from public schedules; 'estimated' = a regional benchmark when the exact city isn't in our deep KB yet (clearly marked, never passed off as the city's published number). FREE. For the fee-by-fee breakdown, per-meter water/sewer schedule, multi-jurisdiction comparison or a whole-project estimate, use the premium tools. Indicative — verify with the jurisdiction.
Parameters (2)
jurisdictionstring
Jurisdiction as 'City, ST' ('Phoenix, AZ') or a city name ('Raleigh'). Provide this OR address.
addressstring
A US street address ('123 Main St, Raleigh, NC 27601'); the city+state are extracted from it. Provide this OR jurisdiction.
get_fee_breakdown
Get the FEE-BY-FEE breakdown behind a jurisdiction's development cost — every impact/development fee and water/sewer tap charge listed separately, each tagged with its calculation basis (per-dwelling / per-LUE / per-meter / per-trip) and whether it's a published schedule figure or a regional estimate, plus the full per-meter-size schedule where the city publishes one (5/8" → 12"). Fees are grouped (Water / Sewer / Transportation / Parks / Drainage) with the % each is of the total, and each jurisdiction carries its source URL + effective date so the figure is defensible in a pro-forma. Pass 'jurisdiction' or 'address', and optionally 'dev_type' (single_family / multifamily / commercial / retail / office / industrial; defaults to single_family). PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (3)
jurisdictionstring
'City, ST' or city name. Provide this OR address.
addressstring
US street address. Provide this OR jurisdiction.
dev_typestring
Development type: single_family / multifamily / commercial / retail / office / industrial. Optional; defaults to single_family.
compare_jurisdictions
Compare the municipal development cost of TWO OR MORE US jurisdictions side by side, ranked cheapest-to-priciest per unit — the site-selection question a developer asks before buying land. Returns each market's total with its water+sewer vs other-impact split, the dollar spread and % gap between the cheapest and priciest, and what that spread costs on a 100-unit project. Pass 'jurisdictions' as an array (e.g. ['Phoenix, AZ', 'Raleigh, NC', 'Austin, TX']) and optionally 'dev_type'. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (2)
jurisdictionsarrayrequired
2–12 jurisdictions as 'City, ST' strings.
dev_typestring
Development type (default single_family).
get_water_sewer_detail
Get the WATER & SEWER development cost for a jurisdiction broken down by meter size — impact/capacity fee vs physical tap/connection, with the full per-meter-size table (5/8", 3/4", 1", 1.5", 2"… up to 12") where the city publishes one. The right number for the ACTUAL meter a project needs: a 2" meter can be 8–12× the residential 5/8" fee, the single biggest swing in a utility connection budget. Pass 'jurisdiction' or 'address' and optionally 'meter_size' (default 5/8"). PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (3)
jurisdictionstring
'City, ST' or city name. Provide this OR address.
addressstring
US street address. Provide this OR jurisdiction.
meter_sizestring
Water meter size: '5/8"', '3/4"', '1"', '1.5"', '2"', '3"', '4"', '6"'. Optional; defaults to 5/8".
estimate_dev_cost
Estimate the total MUNICIPAL FEES for a whole development project — fees × number of units — with per-unit and extended line items. The number a developer needs to size the fee line of a pro-forma before breaking ground. Dev-type aware and explicit about what's EXCLUDED (land, hard construction, soft costs, financing, profit) so it isn't mistaken for total project cost. Pass 'jurisdiction' or 'address', 'dev_type', 'units' (the unit count), and optionally 'meter_size'. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
List the FULL coverage map of muni-dev-cost — every US jurisdiction we cover, its depth (deep = the city's own per-meter schedule was ingested; partial = published headline figures) and the data freshness (source effective date) per jurisdiction, which jurisdictions publish a per-meter schedule, plus the benchmark states where any city returns an honest state estimate. The directory an agent needs to know WHAT it can ask for and HOW current the answer is — something it cannot assemble itself. Optionally filter by 'coverage' (deep / partial) or 'state' (2-letter). PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (2)
coveragestring
Filter: 'deep' or 'partial'. Optional.
statestring
Filter by 2-letter state code (e.g. 'TX'). Optional.
get_fee_schedule_source
Get the PUBLISHED fee-schedule SOURCE and per-fee provenance behind a jurisdiction's development cost — the exact document name + URL + effective date the figures were lifted from, which fee lines are published (from the city's own schedule) vs estimated (regional benchmark), with the basis of each, and the published-vs-estimated share. This is the trazabilidad that makes a number defensible in a real pro-forma / underwriting model. Pass 'jurisdiction' or 'address'. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (2)
jurisdictionstring
'City, ST' or city name. Provide this OR address.
addressstring
US street address. Provide this OR jurisdiction.
get_cost_trend
Get the REAL dated revision history of a jurisdiction's headline development fee — prior years' adopted/charged figures plus officially adopted FUTURE steps (e.g. a council-adopted Oct-1 increase) — with the year-over-year delta and the compound annual growth rate across the published span. NOT a forward projection: only the jurisdiction's own dated/adopted schedules. The signal a developer needs to budget the fee line at the rate in effect when they'll actually pull permits, not today's. Only returns where the city publishes multiple dated schedules. Pass 'jurisdiction' or 'address'. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (2)
jurisdictionstring
'City, ST' or city name. Provide this OR address.
addressstring
US street address. Provide this OR jurisdiction.
compare_by_meter_size
Get one jurisdiction's water/sewer development cost across EVERY meter size it publishes (5/8" → 12"), each with its ratio to the 5/8" residential base. A larger meter (a 2" meter is often 8–12× the residential fee) is the single biggest swing in a utility-connection budget — this lays out the whole curve so you size the right meter cost up front. Pass 'jurisdiction' or 'address' and optionally 'category' ('water' / 'sewer' / 'water+sewer', default 'water+sewer'). Only works for jurisdictions that publish a per-meter schedule. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (3)
jurisdictionstring
'City, ST' or city name. Provide this OR address.
addressstring
US street address. Provide this OR jurisdiction.
categorystring
'water', 'sewer', or 'water+sewer' (default).
estimate_by_units
Estimate the total MUNICIPAL FEES for a MULTIFAMILY / mixed-use project by LUE (Living Unit Equivalent) — units × LUE-per-unit — the way cities actually bill multifamily. Captures that a small apartment unit is a FRACTION of a single-family LUE (≈0.6), so it doesn't overstate MF fees the way a flat per-unit estimate does. Returns per-unit and extended line items; override the LUE factor with the jurisdiction's adopted one. Explicit about exclusions (land, construction, financing). Pass 'jurisdiction' or 'address', 'units', optionally 'dev_type' (default multifamily), 'lue_per_unit' and 'meter_size'. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (6)
jurisdictionstring
'City, ST' or city name. Provide this OR address.
addressstring
US street address. Provide this OR jurisdiction.
unitsnumberrequired
Number of units in the project (REQUIRED).
dev_typestring
Development type (default multifamily).
lue_per_unitnumber
LUE per unit override (default by dev_type, e.g. multifamily ≈ 0.6).
meter_sizestring
Water meter size per unit (default 5/8").
get_total_dev_cost
Get the GRAND TOTAL municipal development cost for a US jurisdiction across EVERY fee category we hold — not just water+sewer, but also transportation/street, parks, drainage/stormwater, fire, police and library impact fees where the city levies them. Returns one grand-total USD figure plus a roll-up by bucket (Water+Sewer / Transportation / Parks / Drainage / Public Safety / Other Public) and each category's share. This is the number a developer actually underwrites: in cities like Phoenix or Fresno the non-utility impact fees rival the water+sewer bill, so water-only numbers badly understate the cost to build. Honest about $0 buckets (a city that doesn't assess a parks/transport impact fee shows $0, meaning 'not assessed', not 'missing'). Pass 'jurisdiction' or 'address', optionally 'dev_type' and 'meter_size'. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (4)
jurisdictionstring
'City, ST' or city name. Provide this OR address.
addressstring
US street address. Provide this OR jurisdiction.
dev_typestring
Development type (default single_family).
meter_sizestring
Water meter size (default 5/8").
breakdown_by_fee_category
Get every fee line within ONE named category for a US jurisdiction — e.g. just the parks impact fees, just the transportation/street fees, just the water impact, or fire/police/drainage/library — with the per-meter-size schedule where the city publishes one. Lets your agent pull exactly the cost component it needs (e.g. 'what are Fresno's parks fees?') without parsing the whole breakdown. Pass 'jurisdiction' or 'address' and a 'category' (water / water_tap / sewer / transportation / parks / drainage / fire / police / library / school / general). PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Rank EVERY covered US jurisdiction cheapest-to-priciest on municipal development cost — the national site-selection leaderboard a developer wants when the question is 'where in the country is it cheapest (or most expensive) to build?'. Rank on water+sewer only or on the GRAND TOTAL across every fee category (water, sewer, transportation, parks, drainage, fire, police, library). Returns the full ranked list with each market's water+sewer vs other split, plus the cheapest / median / priciest, the dollar spread and what that spread costs on a 100-unit project. Filter by 'state' or 'coverage'. Only jurisdictions with the city's OWN published figures are ranked (state-benchmark estimates are excluded). This is computable only over the full normalized cross-jurisdiction dataset — exactly what an agent can't assemble itself. Optionally pass 'basis' ('total' default, or 'water_sewer'), 'dev_type', 'meter_size', 'state', 'coverage', 'limit'. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (6)
basisstring
'total' (grand total across all fee categories, default) or 'water_sewer' (water+sewer only).
dev_typestring
Development type (default single_family).
meter_sizestring
Water meter size for per-meter-table jurisdictions (default 5/8").
statestring
Filter to a 2-letter state code (e.g. 'TX'). Optional.
coveragestring
Filter: 'deep' or 'partial'. Optional.
limitnumber
Return only the top N rows. Optional (default: all).
summarize_by_state
Roll the entire covered dataset up to the STATE tier: for every US state we hold real city schedules in, get the number of cities covered, the min / median / max municipal development cost across them, the cheapest and priciest city, and which fee categories the state's cities assess. Plus a national roll-up (cheapest / priciest city anywhere, national median). This is the state-level site-selection map a developer scans before drilling into cities — 'which states are cheap or expensive to build in, and how many of my candidate markets do you actually cover?'. Rank on water+sewer only or on the GRAND TOTAL across every fee category. Computable only over the full normalized cross-jurisdiction dataset, and it sharpens as coverage grows. Optionally pass 'basis' ('total' default, or 'water_sewer'), 'dev_type', 'meter_size'. PREMIUM: pay per call with x402 (USDC on Base) or set a prepaid key (MUNI_DEV_COST_KEY).
Parameters (3)
basisstring
'total' (grand total across all fee categories, default) or 'water_sewer' (water+sewer only).
dev_typestring
Development type (default single_family).
meter_sizestring
Water meter size for per-meter-table jurisdictions (default 5/8").
What will the city and utility charge me to build here?
muni-dev-cost is an MCP server (and a pay-per-call x402 API) that gives an AI
agent the municipal development cost for a US jurisdiction — the
impact/development fees, water & sewer tap (connection) fees and
capital-recovery charges a real-estate developer must pay before breaking
ground — aggregated and normalized from public, government-published fee
schedules into one comparable number.
For a real-estate development-feasibility / pro-forma agent, this number is
load-bearing and, today, costs weeks of manual digging across municipal
ordinances, utility fee schedules and county portals. We do the aggregation so
your agent doesn't have to.
jsonc
// add to your MCP client config{"mcpServers":{"muni-dev-cost":{"command":"npx","args":["-y","muni-dev-cost-mcp"]}}}
Tools
Tool
Tier
What you get
get_dev_costs
Free
The aggregated municipal development cost for a jurisdiction (single-family home), split into water+sewer vs other impact, with a per-fee summary and an honest coverage label.
get_fee_breakdown
Premium
Every fee line by line, grouped (Water / Sewer / Transportation / Parks / Drainage), with the per-meter-size schedule and each source + effective date.
compare_jurisdictions
Premium
Rank 2–12 markets side by side for site selection — total, water+sewer split, the dollar/% spread and what it costs on a 100-unit project.
get_water_sewer_detail
Premium
Water & sewer connection cost by meter size (5/8" → 12") — the single biggest swing in a utility connection budget.
estimate_dev_cost
Premium
Whole-project fees (fees × units) with per-unit and extended line items, dev-type aware, explicit about exclusions.
list_jurisdictions
Premium
The full coverage map — every jurisdiction, its depth and data freshness, which publish a per-meter schedule, plus the benchmark states.
get_fee_schedule_source
Premium
The published source document + per-fee provenance (published vs estimated) behind a jurisdiction's number — defensible trazabilidad for a pro-forma.
get_cost_trend
Premium
The real dated revision history of a jurisdiction's headline fee (prior years + adopted future steps) with YoY delta and CAGR — never a projection.
compare_by_meter_size
Premium
One jurisdiction's water/sewer cost across every published meter size, ratioed to the 5/8" residential base.
estimate_by_units
Premium
Multifamily/mixed fee estimate by LUE (units × LUE-per-unit) — the way cities actually bill MF, so it doesn't overstate fees.
get_total_dev_cost
Premium
The grand total across every fee category (water/sewer, transportation, parks, drainage, public-safety, other), bucketed — with honest $0 buckets where a city simply doesn't charge that category.
breakdown_by_fee_category
Premium
Every line item within one category (e.g. all of a city's parks fees) with per-meter detail — errors honestly if the city doesn't levy that category.
rank_jurisdictions_by_cost
Premium
Rank the entire covered KB cheapest→priciest by water+sewer or total, with cheapest/median/priciest, the spread, and a site-selection insight — filterable by state/coverage.
summarize_by_state
Premium
A state-level roll-up over the whole KB: per state, the city count, min/median/max cost, cheapest/priciest city, and which fee categories are assessed — the map for "which states are cheap/expensive to build in."
1 free + 13 premium tools. The free get_dev_costs is the hook; the 13 premium tools are the depth a feasibility agent can't assemble itself.
Example (free)
code
POST https://muni-dev-cost-mcp.vercel.app/dev-costs
{ "jurisdiction": "Phoenix, AZ" }
code
🏗️ Phoenix, AZ · coverage 🟢 deep
Municipal development cost, single-family home: $29,322
• Water + sewer (impact + tap): $29,322
Fees included (one line each):
• Wastewater Collection impact fee: $5,127 (per dwelling)
• Wastewater Treatment impact fee: $3,753 (per dwelling)
• Water Transmission impact fee: $14,046 (per dwelling)
• Water Treatment impact fee: $4,387 (per dwelling)
• Water Resource Acquisition fee: $2,009 (per dwelling)
Coverage (honest — regla 7)
We never pass off an estimate as a city's published number.
🟢 deep — the city's own water/sewer fee schedule was ingested, including
the per-meter table. Figures are published.
🟡 partial — headline impact figures from public schedules; some categories
estimated.
🟠 estimated — the exact city isn't in our deep KB yet, so figures are a
regional benchmark, clearly marked. Use as order-of-magnitude only.
Coverage today: 130 jurisdictions across 38 states — 109 deep (own
per-meter/per-LUE schedule ingested) + 21 partial. Dense in the
high-growth markets a feasibility agent actually screens: TX (18), CO (18),
FL (18), NC (16), CA (11), plus AZ, GA, WA, OR and more. From the cheapest
covered market (Mobile, AL ~$1,000) to the priciest (Erie, CO ~$78,350),
ranked and queryable. Any US city not yet ingested returns an honest state
benchmark estimate — and the deep KB grows every iteration.
All fee data is sourced from public, government-published fee schedules
(works of US municipal government → public domain). Each jurisdiction carries its
source URL and effective date. Indicative — verify the exact amount with the
jurisdiction. Not legal or fee-certification advice.
Two ways to pay for the premium tools
💳 Card (Stripe) — buy a prepaid API key at /pro/checkout, then set
"env": { "MUNI_DEV_COST_KEY": "<key>" }.
🪙 x402 (USDC on Base) — AI agents pay per call automatically; no signup.
The free get_dev_costs works with no key.
How it stays a moat
The aggregation engine, the normalized fee knowledge base and the accumulating
per-jurisdiction cache run server-side. The npm package is a thin client:
it forwards your call to the hosted server and renders the response. The fee data
and the premium logic never ship in the tarball — a moat verified on every build
by npm run test:moat.