accueil / serveurs / Recherche & Web / io.github.GPTNowLLC/portlandmaps-mcp
io.github.GPTNowLLC/portlandmaps-mcp
serveur MCP (Model Context Protocol) · portlandmaps-mcp-v2 0.2.5
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.GPTNowLLC/portlandmaps-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.GPTNowLLC/portlandmaps-mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 11 outils
- convert_geometry≈ 212 tokens
1:1 wrapper for /api/geometry/. Convert geometry between ESRI, WKT, GeoJSON, GPolyline, and EncodedGPolyline.
Paramètres, retour & exemple (4)
Paramètresto· string · requis · ESRI | WKT | GeoJSON | GPolyline | EncodedGPolylinefrom· string · requis · ESRI | WKT | GeoJSON | GPolyline | EncodedGPolylinesrid· string · optionnel · 2913 | 3857 | 4326geometry· string · requis
Source geometry as a string. JSON inputs should be JSON.stringify'd.
Exemple d'appel{"name": "convert_geometry", "arguments": {"to": "ESRI", "from": "ESRI", "geometry": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_assessor_data≈ 575 tokens
1:1 wrapper for /api/assessor/. Search assessor records by address, property IDs, geometry, or assessor filters.
Paramètres, retour & exemple (26)
Paramètrescity· string · optionnelpage· integer · optionnelcache· ? · optionnelcount· integer · optionnelcounty· string · optionnel · Multnomah | Clackamas | Washingtonaddress· string · optionnelprimary· ? · optionnelstateId· string · optionnel
Maps to state_id.zipCode· string · optionnel
Maps to zip_code.download· ? · optionnelgeometry· ? · optionnelsoldAfter· string · optionnel
Maps to sold_after, mm/dd/yyyy.sortField· string · optionnel
Maps to sort_field.sortOrder· string · optionnel · asc | desc
Maps to sort_order.builtAfter· integer · optionnel
Maps to built_after.propertyId· string · optionnel
Maps to property_id.soldBefore· string · optionnel
Maps to sold_before, mm/dd/yyyy.sqftLarger· number · optionnel
Maps to sqft_larger.builtBefore· integer · optionnel
Maps to built_before.extraParams· object · optionnelsqftSmaller· number · optionnel
Maps to sqft_smaller.marketLarger· number · optionnel
Maps to market_larger.marketSmaller· number · optionnel
Maps to market_smaller.parentStateId· string · optionnel
Maps to parent_state_id.altAccountNumber· string · optionnel
Maps to alt_account_number.legalDescription· string · optionnel
Maps to legal_description.
Exemple d'appel{"name": "get_assessor_data", "arguments": {"city": "texte", "page": 1, "cache": "texte", "count": 1, "county": "Multnomah", "address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_permit_data≈ 661 tokens
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.
Paramètres, retour & exemple (21)
Paramètrespage· integer · optionnelcache· ? · optionnelcount· integer · optionnelcounty· string · optionneldateTo· string · optionnel
Maps to date_to, mm/dd/yyyy.address· string · optionnelstateId· string · optionnel
Maps to state_id.dateFrom· string · optionnel
Maps to date_from, mm/dd/yyyy.dateType· string · optionnel · issued | review | final
Maps to date_type.download· ? · optionnelccbNumber· string · optionnel
Maps to ccb_number.ivrNumber· integer · optionnel
Maps to ivr_number.sortField· string · optionnel
Maps to sort_field.sortOrder· string · optionnel · asc | desc
Maps to sort_order.propertyId· string · optionnel
Maps to property_id.extraParams· object · optionnelneighborhood· string · optionnelsearchTypeId· integer · optionnel
Maps to search_type_id.applicationNumber· string · optionnel
Maps to application_number.businessAssociation· string · optionnel
Maps to business_association.neighborhoodDistrict· string · optionnel
Maps to neighborhood_district.
Exemple d'appel{"name": "get_permit_data", "arguments": {"page": 1, "cache": "texte", "count": 1, "county": "texte", "dateTo": "texte", "address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_portlandmaps_detail≈ 507 tokens
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.
Paramètres, retour & exemple (9)
ParamètresfileId· string · optionnel
Maps to file_id.detailId· string · requis
Maps to detail_id.fileType· string · optionnel
Maps to file_type.geometry· ? · optionnelsections· string · optionnel
Use 'list' for available sections, or '*' for all sections.cacheClear· ? · optionnel
Maps to cache_clear.detailType· string · requis
Maps to detail_type.propertyId· string · optionnel
Maps to property_id.extraParams· object · optionnel
Exemple d'appel{"name": "get_portlandmaps_detail", "arguments": {"detailId": "texte", "detailType": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_detail_types≈ 99 tokens
Return the detail_type values accepted by get_portlandmaps_detail and the identifier each expects.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_detail_types", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - lookup_agol≈ 164 tokens
1:1 wrapper for /api/agol/. Retrieve City of Portland ArcGIS Online metadata, webmaps, locators, and portal info.
Paramètres, retour & exemple (2)
Paramètresid· string · optionneltype· string · requis · Locators | Portal | PortalGroup | PortalGroupItems | PortalThemes | Webmap | WebmapData | WebmapItem
Exemple d'appel{"name": "lookup_agol", "arguments": {"type": "Locators"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - query_intersects≈ 228 tokens
1:1 wrapper for /api/intersects/. Spatial intersection against named city layers such as row, taxlot, describe, street, and waterbody.
Paramètres, retour & exemple (4)
Paramètresbuffer· number · optionneldetail· boolean · optionnelinclude· array · optionnelgeometry· object · requis
ESRI JSON geometry in wkid 2913, 3857, or 4326.
Exemple d'appel{"name": "query_intersects", "arguments": {"geometry": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - render_parcel_shape≈ 797 tokens
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.
Paramètres, retour & exemple (6)
Paramètresrings· array · optionnel
Web Mercator (EPSG:3857) parcel rings, e.g. geometry.rings. Bypasses fetching.title· string · optionnel
Caption shown on the component.basemap· string · optionnel · aerial | none
Aerial photo underlay (true rooflines). 'aerial' fetches a City of Portland image; 'none' renders dark vectors only.detailId· string · optionnel
detail_id used to fetch geometry when rings are not supplied.detailType· string · optionnel
detail_type used to fetch geometry when rings are not supplied.includeContext· boolean · optionnel
Overlay building footprints, setbacks, and neighbouring parcels. Set false for just the lot outline.
Exemple d'appel{"name": "render_parcel_shape", "arguments": {"rings": [], "title": "texte", "basemap": "aerial", "detailId": "texte", "detailType": "texte", "includeContext": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rings": [], "title": "texte", "basemap": "texte", "areaSqFt": 1, "setbacks": "texte", "buildings": [], "neighbors": []}} - search_landuse_cases≈ 680 tokens
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.
Paramètres, retour & exemple (19)
Paramètrespage· integer · optionnelcache· ? · optionnelcount· integer · optionneldateTo· string · optionnel
Maps to date_to, mm/dd/yyyy.dateFrom· string · optionnel
Maps to date_from, mm/dd/yyyy.download· ? · optionnelivrNumber· integer · optionnel
Maps to ivr_number.sortField· string · optionnel
Maps to sort_field.sortOrder· string · optionnel · asc | desc
Maps to sort_order.extraParams· object · optionnelneighborhood· string · optionnelplanDistrict· string · optionnel
Maps to plan_district.searchTypeId· integer · optionnel
Maps to search_type_id.milestoneStatus· string · optionnel · Review Complete | Under Review
Maps to milestone_status.historicDistrict· string · optionnel
Maps to historic_district.applicationNumber· string · optionnel
Maps to application_number.businessAssociation· string · optionnel
Maps to business_association.conservationDistrict· string · optionnel
Maps to conservation_district.neighborhoodDistrict· string · optionnel
Maps to neighborhood_district.
Exemple d'appel{"name": "search_landuse_cases", "arguments": {"page": 1, "cache": "texte", "count": 1, "dateTo": "texte", "dateFrom": "texte", "download": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_sewer_records≈ 538 tokens
1:1 wrapper for /api/sewer/. Search sewer assets, as-builts, and easements.
Paramètres, retour & exemple (24)
Paramètresbook· string · optionneldate· string · optionnelpage· string · optionnel
Sewer easement page field.type· string · requis · Asset | AsBuilt | Easementcount· integer · optionnelunitId· string · optionnel
Maps to unit_id.compkey· string · optionneljobName· string · optionnel
Maps to job_name.pageNum· integer · optionnel
Pagination page; maps to page.comments· string · optionneldownload· ? · optionnellocation· string · optionneljobNumber· string · optionnel
Maps to job_number.quitClaim· string · optionnel · Yes | No
Maps to quit_claim.sortField· string · optionnel
Maps to sort_field.sortOrder· string · optionnel · asc | desc
Maps to sort_order.rightOfWay· string · optionnel
Maps to right_of_way.extraParams· object · optionnelquarterSection· string · optionnel
Maps to quarter_section.trackingNumber· string · optionnel
Maps to tracking_number.ordinanceNumber· string · optionnel
Maps to ordinance_number.workOrderNumber· string · optionnel
Maps to work_order_number.tvInspectionNumber· string · optionnel
Maps to tv_inspection_number.serviceRequestNumber· string · optionnel
Maps to service_request_number.
Exemple d'appel{"name": "search_sewer_records", "arguments": {"type": "Asset"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - suggest_portlandmaps_address≈ 620 tokens
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.
Paramètres, retour & exemple (21)
Paramètresags· ? · optionnelcity· string · optionnelpage· integer · optionnelunit· string · optionnelcache· ? · optionnelcount· integer · optionnelexact· ? · optionnelquery· string · requis
Search term. Can be an address, intersection, landmark name, or ID.units· ? · optionnelaltIds· ? · optionnel
Maps to alt_ids.county· string · optionnelstatus· string · optionnel · active | pending | allelements· ? · optionnelgeometry· ? · optionnelaltCoords· ? · optionnel
Maps to alt_coords.idMatches· ? · optionnel
Maps to id_matches.landmarks· ? · optionnelcenterline· ? · optionnelextraParams· object · optionneljurisdiction· string · optionnelintersections· ? · optionnel
Exemple d'appel{"name": "suggest_portlandmaps_address", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».