mcpbeat

PortlandMaps (Unofficial) MCP Server

io.github.GPTNowLLC/portlandmaps-mcp
not responding

PortlandMaps (Unofficial) is listed as active in the registry but did not answer our last check. 84 installs a week from npm. It exposes 11 tools.

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

The linked repository no longer exists on GitHub — it was deleted or made private.

Installs per day peak 36 · avg 10 · +91% w/w
a month agotoday
Uptime history 39 hours of history · worst hour 0%
39 hours agonow
90.1%
Uptime 24h
82 of 91 checks
11
Tools
read from the server
358 ms
Response time
average over 24h
84
Installs / week
npm and PyPI

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 8 min ago.

run in your terminal
claude mcp add portlandmaps-mcp --transport http https://portlandmaps-mcp.vercel.app/mcp/v2
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "portlandmaps-mcp": {
      "url": "https://portlandmaps-mcp.vercel.app/mcp/v2"
    }
  }
}
~/.codex/config.toml
[mcp_servers.portlandmaps-mcp]
url = "https://portlandmaps-mcp.vercel.app/mcp/v2"
.cursor/mcp.json
{
  "mcpServers": {
    "portlandmaps-mcp": {
      "url": "https://portlandmaps-mcp.vercel.app/mcp/v2"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "portlandmaps-mcp": {
      "url": "https://portlandmaps-mcp.vercel.app/mcp/v2"
    }
  }
}

Available tools 11

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

assessor
get_assessor_data
1:1 wrapper for /api/assessor/. Search assessor records by address, property IDs, geometry, or assessor filters.
convert
convert_geometry
1:1 wrapper for /api/geometry/. Convert geometry between ESRI, WKT, GeoJSON, GPolyline, and EncodedGPolyline.
detail
list_detail_types
Return the detail_type values accepted by get_portlandmaps_detail and the identifier each expects.
intersects
query_intersects
1:1 wrapper for /api/intersects/. Spatial intersection against named city layers such as row, taxlot, describe, street, and waterbody.
landuse
search_landuse_cases
1: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.
lookup
lookup_agol
1:1 wrapper for /api/agol/. Retrieve City of Portland ArcGIS Online metadata, webmaps, locators, and portal info.
permit
get_permit_data
1: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.
portlandmaps
get_portlandmaps_detail
1: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.
render
render_parcel_shape
Render 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.
sewer
search_sewer_records
1:1 wrapper for /api/sewer/. Search sewer assets, as-builts, and easements.
suggest
suggest_portlandmaps_address
1: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.

Endpoints

URLTransportStateLatencyChecked
https://portlandmaps-mcp.vercel.app/mcp/v2 streamable-http answering 49 ms 8 min ago

PortlandMaps (Unofficial) — questions

Answers built from our own checks of this server.

What can PortlandMaps (Unofficial) do?
It exposes 11 tools, read directly from the server on our last check. Among them: convert_geometry, get_assessor_data, get_permit_data, get_portlandmaps_detail, list_detail_types, lookup_agol and 5 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is PortlandMaps (Unofficial) working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 82 of 91 checks got a reply (90.1%), average response time 358 ms. The bar chart above shows every period we have measured.
Is PortlandMaps (Unofficial) still maintained?
The linked repository no longer exists on GitHub — it was deleted or made private. We show this because it changes what you can expect: an unmaintained server may keep answering for months and then stop without warning.
The registry lists PortlandMaps (Unofficial) as active — why does it not respond?
The official MCP registry stores what the author submitted; it does not verify that the server still runs. We check the endpoint ourselves, and this one does not answer. Catalogues that copy the registry without checking will show it as working.
How do I connect PortlandMaps (Unofficial)?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does PortlandMaps (Unofficial) need an API key?
No. PortlandMaps (Unofficial) completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 11 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is PortlandMaps (Unofficial)?
It answers our handshake in 358 ms on average, which is faster than 39% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use PortlandMaps (Unofficial)?
The npm package portlandmaps-mcp was installed 84 times in the last week. Week over week that is +91%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.