city data /your agent /can trust

the first public mcp server for a u.s. municipality. san diego land-use and municipal data any ai agent can query — and every answer ships with its receipts.

protocol
model context protocol
jurisdiction
san diego, california
maintainer
estate atlas
status
live · v0.1
scroll down
connect
sd-mcp · response inspector
200 ok
query
search_municipal_code("fence height rs-1-7")
fences in the front yard of an rs-1-7 lot are limited to 42 inches; 6 feet elsewhere.
sourcesdmc §142.0340
data_as_of2026-05-14
freshness_slamonthly
citations1 · /license
the corpus live · refreshed on schedule
0parcels
every taxable lot in the city, refreshed quarterly
0permits
building, electrical, plumbing — refreshed weekly
0cases
code-enforcement history per parcel
0tools
composable mcp tools across five domains

every answer ships
with its receipts .

how it works

most government data is html you scrape and pray. sd-mcp returns structured answers wrapped in a _meta envelope — source url, the date the data was last verified, the freshness sla, page-anchored citations, and license.

no u.s. municipality publishes machine-readable freshness or citations. we do. agents stop hallucinating municipal law because the grounding is in the payload.

  • 01source urlevery claim traceable
  • 02data_as_ofiso 8601 timestamp
  • 03freshness_slaweekly · monthly · quarterly
  • 04citationspdf page anchors
  • 05licensedeclared per response
response._meta json
// every tool response wraps payload in _meta
{
  "answer": "fences in the front yard of an
            rs-1-7 lot are limited to 42 inches;
            6 feet elsewhere.",
  "_meta": {
    "source":        "sdmc §142.0340",
    "source_url":    "https://docs.san…/142_0340",
    "data_as_of":    "2026-05-14",
    "freshness_sla": "monthly",
    "citations":     ["p.7 · §142.0340(b)"],
    "license":       "/license",
    "jurisdiction":  "san-diego-ca"
  }
}

14 tools /
five domains

the tools
01search_municipal_codecodesemantic search across ~27k sdmc chunks (1,966 docs).
02get_code_sectioncodefetch a specific sdmc section by id, with citations.
03get_table_of_contentscodewalk the sdmc hierarchy from chapter to subsection.
04get_case_rulingscodeadministrative interpretations and precedents tied to a section.
05list_bulletinsbulletinsbrowse all 456 information bulletin documents.
06get_bulletinbulletinspull a single bulletin with pdf page anchors.
07lookup_parcelparcelsapn or address lookup across 1.09m san diego parcels.
08get_permits_for_parcelparcelspermit history — 240k records, weekly refresh.
09get_violations_for_parcelparcels17.4k code-enforcement cases, weekly refresh.
10get_zone_infozoningbase zone designation, allowed uses, density, height limits.
11get_setbacks_for_zonezoning21 setback profiles — front, side, rear, by zone class.
12get_overlays_for_apnoverlayscoastal, hillside, historic, transit overlays — per parcel.
13get_overlays_for_pointoverlayslat/lng → every overlay that covers it.
14data_freshnessmetaper-dataset data_as_of + sla. machine-readable.
install hosted · no infra to run

one url.
any mcp client.

sd-mcp is a hosted, streamable-http mcp server. point any compliant client at the endpoint and the 14 tools become available — no local install, no api keys for the free tier, no sdk.

claude code claude desktop cursor continue.dev cline any mcp client

claude desktop, raw curl, the full tool reference and a real request/response: estateatlas.ai/connect →

.mcp.json · project root
{
  "mcpServers": {
    "estate-atlas-sandiego": {
      "type": "http",
      "url": "https://sandiego.estateatlas.ai/mcp"
    }
  }
}

start free.
upgrade when you scale /

pricing

every tier covers all three corpora on one key: the city of san diego municipal code (2,536 sections, 244 forms, 82 bulletins), the county of san diego zoning ordinance (922 sections, which is the law in fallbrook, bonsall, ramona, alpine, julian and the rest of the unincorporated county), and hoa governing documents on a second endpoint. one key, both servers.

free
$0/ mo
1,000 calls / month
  • city code + county zoning + hoa docs
  • 13 of 14 tools (case rulings is developer+)
  • full _meta envelope on every response
  • weekly & quarterly refresh on all datasets
get a free key
developer
$29/ mo
25,000 calls / month
  • everything in free
  • adds get_case_rulings, the precedent tool
  • 100 rpm instead of 10
  • per-key usage in the console · email support
get developer — $29/mo
pro
$299/ mo
150,000 calls / month
  • everything in developer
  • 300 rpm
  • sla on freshness & uptime
  • direct line to the maintainers
get pro — $299/mo

questions /
and answers

faq
01 what is mcp, exactly? +
model context protocol is an open standard for connecting ai agents to tools and data. sd-mcp exposes san diego's municipal data through that protocol, so any compliant client — claude desktop, cursor, your own agent — can query it natively, with structured arguments and structured responses. no scraping, no brittle html parsing, no hallucinated section numbers.
02 is the data actually current? +
every tool returns data_as_of and freshness_sla in its _meta envelope. permits and code-enforcement refresh weekly. parcels and overlays refresh quarterly. ordinances and bulletins refresh on publication. your agent can read the freshness and decide whether to trust the answer — automatically.
03 where does the data come from? +
official city of san diego sources — the municipal code (sdmc), accela (permits, cases), sangis (parcels, overlays), and development services information bulletins. every record carries its source_url; nothing is paraphrased into the index without a citation back.
04 is it really free? +
yes — 1,000 calls per month on a free key, across the city code, the county zoning ordinance and the hoa endpoint, with the full _meta envelope. no card. the paid tiers buy volume (25,000 and 150,000 calls/month), rate limit (100 and 300 rpm), and get_case_rulings. anonymous access with no key at all also works, at a lower ceiling.
05 can i self-host? +
not at v0.1. the hosted endpoint is the contract right now — that's how we can guarantee a freshness sla. a source-available reference implementation is on the roadmap once the ingestion pipelines stabilize against the city's release cadence.
sd-mcp · v0.1 · live