Estate Atlas SD-MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATABASE_URL | No | Postgres connection string (fallback for SANDIEGO_MCP_DATABASE_URL). | |
| VOYAGE_API_KEY | No | Voyage AI key (fallback for SANDIEGO_MCP_VOYAGE_API_KEY). | |
| SANDIEGO_MCP_LOG_LEVEL | No | Log level: DEBUG, INFO, WARNING, ERROR. | INFO |
| SANDIEGO_MCP_DATABASE_URL | No | Postgres connection string (read-only role). Falls back to DATABASE_URL. | |
| SANDIEGO_MCP_EMBEDDING_DIM | No | Override embedding dimension. | 1024 |
| SANDIEGO_MCP_VOYAGE_API_KEY | No | Voyage AI key for query embeddings (voyage-4-large). Falls back to VOYAGE_API_KEY. | |
| SANDIEGO_MCP_EMBEDDING_MODEL | No | Override embedding model. | voyage-4-large |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_municipal_codeA | Semantic search across San Diego Municipal Code, information bulletins, and ordinances. Returns top-matching chunks with section numbers, source URLs, and PDF anchors. Use for open-ended questions like 'what are fence height rules' or 'when do I need historical review'. |
| get_code_sectionA | Fetch the full text of a specific SDMC section by section number (e.g. '142.0610'). Includes diagrams, cross-references, and source PDF link. Prefer this over search when you already know the section. |
| get_table_of_contentsA | Return a hierarchical table of contents for the Municipal Code, optionally filtered to a single chapter. Use to discover what's available before searching. |
| list_bulletinsB | List Development Services Department information bulletins, optionally filtered by project type (e.g. 'ADU', 'New Construction'). Bulletins are the procedural guides that tell applicants what forms + checklists are required. |
| get_bulletinA | Fetch the full content of a specific information bulletin by IB number (e.g. 'IB-121' or '121'). Returns checklist, required forms, and reference code sections. |
| lookup_parcelC | Look up a parcel by street address OR APN. Returns zoning, overlays, lot size, assessor data (year built, sqft, type). The killer query — most public sources require visiting 4+ websites to assemble this picture. |
| get_permits_for_parcelA | Fetch building permits for a parcel by APN. Filter by status ('Active', 'Completed', 'Expired', 'Revoked', 'Pending', or 'all'). Returns permit number, type, dates, contractor, and project value. |
| get_violations_for_parcelA | Fetch code-enforcement cases for a parcel by APN. Filter by status ('Open', 'Closed', 'Resolved', 'Pending', or 'all'). Returns case number, violation type, dates, and resolution. |
| get_overlays_for_apnA | Return every regulatory overlay that applies to a parcel by APN: SDA (Sustainable Development Area, drives state ADU density bonus eligibility), TPA (Transit Priority Area for AB 2097 parking elimination), CPIOZ, Coastal Overlay, Prop D Coastal Height Limit, MSCP, flood, fire, seismic, airport, and historic-district overlays. The #1 multifamily-developer question — overlays gate ADU bonus and parking workflows. |
| get_overlays_for_pointA | Same overlay lookup as get_overlays_for_apn but keyed by a WGS84 lat/lon. Use when you have a project-site coordinate but no APN (map click, geocode result, etc.). |
| get_setbacks_for_zoneA | Return setbacks, lot dimension minima, FAR, height limits, and special-overlay rules for a San Diego zone code (e.g. 'RS-1-7', 'RM-1-1'). Sourced from SDMC tables. |
| get_zone_infoB | Higher-level zone summary. Returns setbacks + envelope limits + pointer back into SDMC for permitted-use detail. Combine with search_municipal_code for narrative regs. |
| data_freshnessA | Per-source data freshness: last-update timestamp, record count, and SLA cadence for every data source the MCP exposes. Call this when you need to assess whether the answer to a regulatory question is up-to-date. |
| get_case_rulingsC | PENDING (v0.1): Federal and California appellate court rulings affecting San Diego land use, zoning, CEQA, and Coastal Act. Pipeline scaffolded 2026-05-15 via CourtListener API. Returns coverage:pending with a planned_at date and fallback CourtListener search URL until live data ships (ETA 2026-07-15). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/estate-atlas/sandiego-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server