Skip to main content

PortlandMaps (Unofficial)

io.github.GPTNowLLC/portlandmaps-mcpVersion 0.2.5

Unofficial MCP server for the public PortlandMaps property/permit/zoning API. Not city-affiliated.

Status

Responds292 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:37 UTC
Latency
292 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://portlandmaps-mcp.vercel.app/mcp/v2Responds292 ms
No sign-in

Claude Code

claude mcp add --transport http portlandmaps-mcp https://portlandmaps-mcp.vercel.app/mcp/v2

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: portlandmaps-mcp
Remote MCP server URL: https://portlandmaps-mcp.vercel.app/mcp/v2

Cursor

{
  "mcpServers": {
    "portlandmaps-mcp": {
      "url": "https://portlandmaps-mcp.vercel.app/mcp/v2"
    }
  }
}

VS Code

code --add-mcp '{"name":"portlandmaps-mcp","type":"http","url":"https://portlandmaps-mcp.vercel.app/mcp/v2"}'
Streamable HTTP
npm: portlandmaps-mcp 0.2.5
Package only

npm (npx)

claude mcp add portlandmaps-mcp -e 'PORTLANDMAPS_API_KEY=<YOUR_PORTLANDMAPS_API_KEY>' -- npx -y portlandmaps-mcp@0.2.5

Replace <YOUR_PORTLANDMAPS_API_KEY> before running.

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

11 tools

Tools of PortlandMaps (Unofficial)
Read-only
Idempotent
Open world
convert_geometry1:1 wrapper for /api/geometry/. Convert geometry between ESRI, WKT, GeoJSON, GPolyline, and EncodedGPolyline.NoYesYesYes
get_assessor_data1:1 wrapper for /api/assessor/. Search assessor records by address, property IDs, geometry, or assessor filters.NoYesYesYes
get_permit_data1:1 wrapper for /api/permit/. Search building/trade/enforcement permit records. ANSWER GUIDANCE: when this data answers a resident's zoning, permit, property, or city-code question, write for a Portland resident or small-business owner with no code, zoning, or permitting background. Lead with a 3–5 sentence plain-English summary (never open with a data table). Then cite EVERY rule, fee, number, timeline, or contact INLINE in the same sentence with both its exact code section AND a full https:// portland.gov URL (e.g. PCC 33.110.255.C, https://www.portland.gov/code/33/110/255) — never cite vaguely ("Title 33", "the BDS website") and never drop the URL. Define every acronym, add a numbered "what to do next" list, and if a number can't be cited to a specific section + URL, say so rather than stating it bare.NoYesYesYes
get_portlandmaps_detail1:1 wrapper for /api/detail/. Fetch a detail record by detail_type, detail_id, and sections. ANSWER GUIDANCE: when this data answers a resident's zoning, permit, property, or city-code question, write for a Portland resident or small-business owner with no code, zoning, or permitting background. Lead with a 3–5 sentence plain-English summary (never open with a data table). Then cite EVERY rule, fee, number, timeline, or contact INLINE in the same sentence with both its exact code section AND a full https:// portland.gov URL (e.g. PCC 33.110.255.C, https://www.portland.gov/code/33/110/255) — never cite vaguely ("Title 33", "the BDS website") and never drop the URL. Define every acronym, add a numbered "what to do next" list, and if a number can't be cited to a specific section + URL, say so rather than stating it bare.NoYesYesYes
list_detail_typesReturn the detail_type values accepted by get_portlandmaps_detail and the identifier each expects.NoYesYesNo
lookup_agol1:1 wrapper for /api/agol/. Retrieve City of Portland ArcGIS Online metadata, webmaps, locators, and portal info.NoYesYesYes
query_intersects1:1 wrapper for /api/intersects/. Spatial intersection against named city layers such as row, taxlot, describe, street, and waterbody.NoYesYesYes
render_parcel_shapeRender a property's lot as an interactive UI component (inline SVG): a City of Portland aerial photo underlay (showing the true roofline) with the parcel outline, the building footprint(s) on the lot, approximate setback dimensions, a north arrow, and faint neighbouring parcels overlaid on top. Provide a detailType+detailId to fetch geometry, or pass rings directly. Aerial, footprints, and neighbours come from Portland's public ArcGIS layers; set basemap="none" to drop the photo and includeContext=false for just the bare outline. Renders in MCP Apps hosts (Claude) and legacy mcp-ui hosts.NoYesYesYes
search_landuse_cases1:1 wrapper for /api/landuse/. Search land use review cases, including Historic Resource Review and Tree Review. ANSWER GUIDANCE: when this data answers a resident's zoning, permit, property, or city-code question, write for a Portland resident or small-business owner with no code, zoning, or permitting background. Lead with a 3–5 sentence plain-English summary (never open with a data table). Then cite EVERY rule, fee, number, timeline, or contact INLINE in the same sentence with both its exact code section AND a full https:// portland.gov URL (e.g. PCC 33.110.255.C, https://www.portland.gov/code/33/110/255) — never cite vaguely ("Title 33", "the BDS website") and never drop the URL. Define every acronym, add a numbered "what to do next" list, and if a number can't be cited to a specific section + URL, say so rather than stating it bare.NoYesYesYes
search_sewer_records1:1 wrapper for /api/sewer/. Search sewer assets, as-builts, and easements.NoYesYesYes
suggest_portlandmaps_address1:1 wrapper for /api/suggest/. Search PortlandMaps autocomplete for addresses, intersections, landmarks, or IDs. ANSWER GUIDANCE: when this data answers a resident's zoning, permit, property, or city-code question, write for a Portland resident or small-business owner with no code, zoning, or permitting background. Lead with a 3–5 sentence plain-English summary (never open with a data table). Then cite EVERY rule, fee, number, timeline, or contact INLINE in the same sentence with both its exact code section AND a full https:// portland.gov URL (e.g. PCC 33.110.255.C, https://www.portland.gov/code/33/110/255) — never cite vaguely ("Title 33", "the BDS website") and never drop the URL. Define every acronym, add a numbered "what to do next" list, and if a number can't be cited to a specific section + URL, say so rather than stating it bare.NoYesYesYes