波特兰地图MCP服务器
模型上下文协议(MCP)服务器将波特兰地图+ArcGIS支持的属性和GIS数据集作为具有出处的类型化工具公开。为AI助手提供从以下位置访问物业信息、分区数据、许可证历史和其他公共记录的权限 波特兰地图网.
⚠️ 免责声明: 这是一个 非官方的 与波特兰地图集成。所有用户都应该访问 https://www.portlandmaps.com 官方信息。请考虑支持和资助波特兰市的地图服务和应用程序。
特性
此MCP服务器使Claude、ChatGPT等大型语言模型(LLM)能够:
- 解析地址:使用点几何形状和置信度得分将地址标准化为稳定标识符(property_id/taxlot_id)
- 获取房产信息:访问全面的房产详细信息,包括所有权、地块大小和建造年份
- 查询分区:查找分区名称、覆盖图和规划区域
- 查看许可历史记录:获取有关建筑许可证、土地使用审查和环境审查的信息
- 获取税务信息:查看物业评估和税务数据
所有回复都包括适当的归因和免责声明,引导用户访问波特兰地图官方网站。这 resolve_address 该工具提供带数据来源跟踪的类型化输出(波特兰地图api、arcgisgeocoder、internalfallback)。
API要求和认证
波特兰地图API
- 建议API:当前使用公共建议端点,基本查询不需要身份验证
- API完全访问:对于具有较高速率限制的生产用途,您可能需要向请求API密钥 波特兰地图网/开发
- 速率限制:公共端点有速率限制;监视器
X-Rate-Limit-*响应中的标题
ArcGIS地理编码
- 俄勒冈州地理编码器:使用公共俄勒冈地址地理编码器服务(
navigator.state.or.us)-基本使用不需要API密钥 - 世界地理编码器:回到ArcGIS World Geocoder(
geocode.arcgis.com)-有限使用免费,API密钥推荐用于生产 - 生产使用:对于大容量地理编码,请考虑在以下网址注册ArcGIS Developer帐户 developers.arcgis.com
注: 当前的实现在没有API密钥的情况下进行演示和轻松使用。对于生产部署,请获取适当的API密钥,并根据需要配置环境变量。
安装
先决条件
- Node.js 18.0.0或更高版本
- npm或纱线
从源代码安装
# Clone the repository
git clone https://github.com/erichowens/PortlandMapsMCP.git
cd PortlandMapsMCP
# Install dependencies
npm install
# Build the project
npm run build作为软件包安装
npm install -g portlandmaps-mcp用法
使用克劳德桌面
将服务器添加到Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"portlandmaps": {
"command": "node",
"args": ["/path/to/PortlandMapsMCP/build/index.js"]
}
}
}或者,如果全局安装:
{
"mcpServers": {
"portlandmaps": {
"command": "portlandmaps-mcp"
}
}
}与其他MCP客户端
服务器使用stdio传输,可以与任何兼容MCP的客户端集成:
node build/index.js可用工具
1. resolve_address
将人工输入的地址或部分查询解析为具有稳定标识符和几何形状的规范化地址候选者。
输入:
query(字符串,必填):地址或部分查询(至少3个字符)max_results(整数,可选):返回的最大候选值(1-25,默认值10)bbox(数组,可选):WGS84中的边界框过滤器为\[minLon,minLat,maxLon,maxLat\]include_raw(布尔值,可选):包括原始API响应数据
输出:
- 候选地址数组,包括:
- normalized_address:标准化地址字符串 - score:信心评分(0-100) - property_id:稳定的属性标识符 - taxlot_id:税批标识符(如果可用) - x_lon, y_lat:ArcGIS Oregon地理编码器提供的精确WGS84坐标 - source:数据来源(波特兰地图\_ api、arcgis_geocoder、内部回退)
地理编码: 使用俄勒冈州特定的ArcGIS地理编码器获取精确坐标,必要时自动回退到世界地理编码器。
例子:
Query: "1234 SW Main St"
Max Results: 52. get_property_info
获取全面的房产信息。
输入:
address(string):属性地址
退货: 物业详细信息、分区信息和官方记录链接
3. get_zoning_info
获取房产的分区信息。
输入:
address(string):要查找的地址
退货: 分区名称和分区图链接
4. get_permit_history
获取许可证历史信息。
输入:
address(string):要查找的地址
退货: 有关访问许可证记录的信息
5. get_tax_info
获取房产税和评估信息。
输入:
address(string):要查找的地址
退货: 税务和评估信息链接
查询示例
以下是您可以使用此MCP服务器通过LLM进行的一些示例查询:
- “波特兰东南霍桑大道1234号的分区是什么?”
- “查找5678 N Mississippi Ave的许可历史记录”
- “西南橡树街910号的房产税详情是什么?”
- “搜索百老汇西南1111号的房产”
- “获取阿尔伯塔东北街2222号的全面信息”
数据源
此服务器与以下设备集成:
- 波特兰地图API:房产搜索和建议(
portlandmaps.com/api/suggest) - 波特兰地图OpenData:物业详情和GIS数据
- 波特兰规划和可持续发展局:分区信息
- ArcGIS俄勒冈州地理编码器:精确坐标地理编码(
navigator.state.or.us) - ArcGIS World地理编码器:后备地理编码服务(
geocode.arcgis.com)
地理编码实施
这 resolve_address 该工具使用多层方法获得精确坐标:
- 主要的,重要的:俄勒冈州专用ArcGIS地理编码器,用于高精度波特兰地址
- 后备方案:ArcGIS World Geocoder(如果俄勒冈州服务不可用)
- 最终手段:如果所有地理编码都失败,波特兰市中心坐标
这确保了地址始终具有坐标,并通过 source 字段:
arcgis_geocoder:ArcGIS服务的坐标(最高精度)portlandmaps_api:波特兰地图上的房产数据,不含地理编码internal_fallback:地理编码不可用时的默认坐标
所有数据均可从波特兰市和ESRI/AArcGIS服务中公开获取。
归因与免责声明
这是一个 非官方的 从波特兰地图访问公共数据的工具。
- 官方网站: https://www.portlandmaps.com
- 数据提供程序:俄勒冈州波特兰市
- 分区信息: https://www.portlandmaps.com/bps/zoning/
- GIS开放数据: https://gis-pdx.opendata.arcgis.com/
请支持波特兰市的地图服务:
- 访问并使用波特兰地图官方网站
- 波特兰市技术服务支持资金
- 向城市提供反馈,以改善他们的服务
发展
构建
npm run build发展模式
npm run dev这将监视更改并自动重建。
项目结构
PortlandMapsMCP/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── client.ts # Portland Maps API client
├── build/ # Compiled JavaScript (generated)
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This fileAPI速率限制
波特兰地图API可能有费率限制。此服务器未实现缓存或速率限制。用户应当:
- 注意请求频率
- 考虑实施缓存以供生产使用
- 联系波特兰市获取API访问指南
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
请确保所有贡献均正确归因于波特兰地图,并包括适当的免责声明。
许可证
MIT许可证-请参阅 许可证 详细信息文件
该软件独立于波特兰市。波特兰地图数据由波特兰市提供,并受其使用条款的约束。
致谢
- 波特兰市 为公众提供对财产数据的访问
- 波特兰地图团队 为了维护波特兰地图网的卓越服务
- 模型上下文协议 MCP标准社区
支持
对于此MCP服务器的问题:
- 在GitHub上打开一个问题
有关波特兰地图数据或服务的问题:
- 访问https://www.portlandmaps.com
- 联系波特兰市
______________________________________________________________________
记住:这是一个非官方工具。始终核实波特兰地图官方网站上的关键信息。
