mcpbeat Sign in

PortlandMaps (Unofficial) MCP Server

by gptnowllc Your server? Claim it
answering

PortlandMaps (Unofficial) is answering right now. Last checked 11 min ago. 70 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 11 · +91% w/w
a month agotoday
Uptime history 48 days of history · worst day 40%
48 days agonow
53.8%
Uptime 24h
49 of 91 checks
11
Tools
read from the server
328 ms
Response time
average over 24h
70
Installs / week
npm and PyPI

PortlandMaps (Unofficial) does not always answer

Over the last week it answered 59.4% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 11 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"
    }
  }
}

This one needs environment variables set before it will start: PORTLANDMAPS_API_KEY (PortlandMaps API key. Required for the /api/* tools; without it those endpoints return error payloads.), PORTLANDMAPS_API_KEY_PARAM (Query-parameter name to send the API key as. Defaults to 'api_key'.), PORTLANDMAPS_CACHE_TTL_MS (In-memory response cache TTL in milliseconds. Defaults to 3600000 (one hour).). The author declared them in the registry entry; get the values from the project itself.

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 243 ms 11 min ago

Alternatives to PortlandMaps (Unofficial)

same job, measured the same way
Tend MCP
by nries1

Unofficial MCP server for Tend Dental appointment booking. Not affiliated with Tend.

27 installs/wk local only
Mux
by mux

The official MCP Server for the Mux API

414 installs/wk 2 tools answering
Ttctl
by alexey-pelykh

Unofficial CLI and MCP server for the Toptal Talent platform — personal-productivity tool

65 installs/wk local only
Querido Diário MCP Server
by lucaspmgomess

Unofficial, read-only MCP server for the public Querido Diário API (Brazilian municipal gazettes)

389 installs/wk local only
Healthchecks Io MCP
by ronniechong

Unofficial MCP server for managing Healthchecks.io checks via the Management API

62 installs/wk local only
Qnexus MCP
by blite-hq

MCP server for Quantinuum Nexus, wrapping the qnexus SDK. Not affiliated with Quantinuum.

94 installs/wk local only
MCP Redtrack
by pijusz

MCP server for RedTrack affiliate tracking API

38 installs/wk local only
Capital.com MCP Server
by simontarara62

Unofficial community MCP for the Capital.com Open API. Guarded two-phase trades; demo-first.

140 installs/wk local only

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 49 of 91 checks got a reply (53.8%), average response time 328 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.
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 328 ms on average, which is faster than 47% 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 70 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.