PortlandMaps (Unofficial)
Unofficial MCP server for the public PortlandMaps property/permit/zoning API. Not city-affiliated.
| Endpoint | https://portlandmaps-mcp.vercel.app/mcp/v2 (streamable-http) |
|---|---|
| Registry version | 0.2.5 |
| Now | 11 tools · grade C (72) · pin ts_82188b29017442b4321acadf402b0618 · protocol 2025-06-18 |
| First / last listed | 2026-10-25 07:15 UTC / 2026-10-25 07:15 UTC |
| Grade over time | 2026-10-25: C (72), 11 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: suggest_portlandmaps_address get_portlandmaps_detail get_assessor_data get_permit_data search_landuse_cases search_sewer_records query_intersects convert_geometry lookup_agol list_detail_types render_parcel_shape
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 params: query*, city, county, jurisdiction, unit, units, idMatches, intersections, landmarks, altCoords, altIds, elements, cache, status, exact, ags, centerline, geometry, count, page, extraParams |
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, fe params: detailType*, detailId*, sections, geometry, propertyId, fileType, fileId, cacheClear, extraParams |
get_assessor_data | 1:1 wrapper for /api/assessor/. Search assessor records by address, property IDs, geometry, or assessor filters. params: address, city, county, propertyId, stateId, parentStateId, zipCode, legalDescription, altAccountNumber, builtAfter, builtBefore, sqftLarger, sqftSmaller, soldAfter, soldBefore, marketLarger, marketSmaller, primary, geometry, sortField, sortOrder, cache, count, page, download, extraParams |
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, ti params: ivrNumber, applicationNumber, address, propertyId, stateId, searchTypeId, neighborhood, neighborhoodDistrict, businessAssociation, county, ccbNumber, dateType, dateFrom, dateTo, sortField, sortOrder, cache, count, page, download, extraParams |
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 params: searchTypeId, neighborhood, neighborhoodDistrict, historicDistrict, conservationDistrict, planDistrict, businessAssociation, milestoneStatus, dateFrom, dateTo, ivrNumber, applicationNumber, sortField, sortOrder, cache, count, page, download, extraParams |
search_sewer_records | 1:1 wrapper for /api/sewer/. Search sewer assets, as-builts, and easements. params: type*, unitId, compkey, workOrderNumber, tvInspectionNumber, serviceRequestNumber, jobNumber, jobName, quarterSection, location, comments, trackingNumber, date, quitClaim, ordinanceNumber, rightOfWay, book, page, sortField, sortOrder, count, pageNum, download, extraParams |
query_intersects | 1:1 wrapper for /api/intersects/. Spatial intersection against named city layers such as row, taxlot, describe, street, and waterbody. params: geometry*, include, buffer, detail |
convert_geometry | 1:1 wrapper for /api/geometry/. Convert geometry between ESRI, WKT, GeoJSON, GPolyline, and EncodedGPolyline. params: from*, to*, geometry*, srid |
lookup_agol | 1:1 wrapper for /api/agol/. Retrieve City of Portland ArcGIS Online metadata, webmaps, locators, and portal info. params: type*, id |
list_detail_types | Return the detail_type values accepted by get_portlandmaps_detail and the identifier each expects. params: none |
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 neighbo params: detailType, detailId, rings, title, includeContext, basemap |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.