ATTOM API MCP服务器
ATTOM API的MCP服务器,通过MCP协议提供房地产数据。该服务器充当中间件,将ATTOM API端点公开为可由AI代理使用的MCP工具。
特性
- ATTOM API端点的MCP接口
- API全面覆盖房地产数据、估价、评估和销售
- 结构化错误处理和日志记录
- 可通过环境变量进行配置
- 打包为Python CLI工具,便于部署
先决条件
- Python 3.11或更高版本
- 紫外线 用于依赖关系管理
- ATTOM API密钥
安装
使用UVX(推荐)
安装和运行ATTOM API MCP服务器的最简单方法是通过 uvx:
uvx mcp-server-attom --help这将直接下载并运行该工具,而不需要永久安装。
要永久安装它:
uv tool install mcp-server-attom地方发展
- 克隆此存储库:
git clone https://github.com/nkbud/mcp-server-attom.git
cd mcp-server-attom- 安装依赖项:
uv sync --locked --all-extras --dev- 创建一个
.env使用ATTOM API密钥文件:
cp .env.example .env
# Edit .env and add your ATTOM API key用法
MCP客户端集成
有关将此服务器与各种MCP客户端(Claude Desktop、MCP inspector、MCP-cli)和stdio通信一起使用的详细说明,请参阅 客户集成指南.
快速入门示例:
# With Claude Desktop - add to configuration file
{
"mcpServers": {
"attom-api": {
"command": "uvx",
"args": ["mcp-server-attom"],
"env": {"ATTOM_API_KEY": "your_api_key_here"}
}
}
}
# With MCP Inspector
npx @modelcontextprotocol/inspector uvx mcp-server-attom
# With MCP CLI
mcp list tools uvx mcp-server-attom
mcp call uvx mcp-server-attom property_detail '{"attom_id": "145423726"}'
# Direct stdio communication
export ATTOM_API_KEY=your_api_key_here
uvx mcp-server-attom作为CLI工具运行
使用启动服务器 mcp-server-attom 命令:
# If installed via uv tool install
mcp-server-attom --port 8000 --host 0.0.0.0
# Or run directly via uvx
uvx mcp-server-attom --port 8000 --host 0.0.0.0可用的命令行选项:
--host:将服务器绑定到的主机(默认值:0.0.0.0)--port:将服务器绑定到的端口(默认值:8000)--log-level:日志记录级别(调试、信息、警告、错误)--reload:启用代码更改时的自动重新加载
在开发过程中本地运行
在开发过程中启动服务器:
python -m src.server这将使用用于MCP通信的stdio传输启动服务器。
提出请求
服务器为各种ATTOM API端点公开MCP工具。以下是使用property_detail工具的示例:
await mcp.tools.property_detail(
attom_id="145423726" # OR
# address="123 Main St, New York, NY 10001" # OR
# address1="123 Main St", address2="New York, NY 10001" # OR
# fips="36061", apn="12345"
)配置
可以使用以下环境变量配置服务器:
| 变量 | 描述 | 必填 | 默认 |
|---|---|---|---|
| ATTOM_API_KEY | 您的ATTOM API密钥 | 是 | - |
| ATTOM_HOST_URL | ATTOM API的基本URL | 否 | https://api.gateway.attomdata.com |
| ATTOM_PROP_API_PREFIX | 属性API端点的前缀 | 否 | /propertyapi/v.0.0 |
| ATTOM_DLP_V2_PREFIX | DLP V2 API终结点的前缀 | 否 | /property/V2 |
| ATTOM_DLP_V3_PREFIX | DLP V3 API端点的前缀 | 否 | /property/V3 |
| LOGLEVEL | 日志记录级别(调试、信息、警告、错误) | 否 | 信息 |
| LOG_FORMAT | 日志格式(json或控制台) | 否 | json |
可用工具
此MCP服务器提供ATTOM数据API的完整1:1覆盖 55+个端点 在所有主要类别中。有关API覆盖范围映射的详细信息,请参阅 附件_API_COVERAGE.md.
核心类别
- 属性工具 (14个端点):地址查找、房产详细信息、个人资料、建筑许可证、销售历史
- 评估工具 (3个端点):评估详细信息、快照和历史记录
- 销售工具 (6个端点):销售详情、历史、可比数据和趋势分析
- 估价工具 (6个端点):AVM数据、房屋净值、租金估值
- 区域和位置工具 (8个端点):地理边界、层次查找、CBSA数据
- POI工具 (2个端点):14个以上业务类别的兴趣点搜索
- 社区工具 (1个端点):综合邻里数据(犯罪、人口、教育、天气、通勤时间)
- 学校工具 (3个端点):学校简介、学区和搜索功能
- 事件工具 (2个端点):属性事件和快照
- 实用工具 (3个端点):现场定义、交通噪声、预测前数据
刀具参数
所有与物业相关的工具都支持多种识别方法:
- 收件人ID:直接属性标识符
- 地址:完整的属性地址字符串
- 地址1+地址2:拆分地址格式(街道+城市/州/邮政编码)
- FIPS+APN:县FIPS代码+评估员包裹号
区域和位置工具支持地理标识符:
- GeoIDv4:第4版地理标识符
- 纬度/经度:基于坐标的搜索
- WKT字符串:众所周知的文本几何表示
- 半径:基于位置的查询的搜索半径
发展
运行测试
uv run pytest掉毛
uv run ruff check .
uv run black .
uv run isort .建筑与出版
要构建包并将其发布到PyPI,请执行以下操作:
- 确保您拥有最新版本的
uv:
pip install -U uv- 设置PyPI令牌:
- 在上创建帐户 PyPI 如果你没有 - 前往账户设置>API代币 - 创建一个范围限制为的令牌 mcp-server-attom 项目 - 安全保存令牌
- 构建包:
uv build --no-sources- 使用您的PyPI令牌发布包:
uv publish --token YOUR_PYPI_TOKEN或者,您可以将令牌存储在 .pypirc 文件或作为环境变量:
export PYPI_TOKEN=YOUR_PYPI_TOKEN
uv publish许可证
麻省理工学院
支持
有关此MCP服务器的问题,请在 .
有关ATTOM API本身的问题,请联系ATTOM数据解决方案支持。
