mcp-server-attom

mcp-server-attom

Exposes ATTOM's real estate API as MCP tools, enabling property details, valuations, assessments, sales, and area data via natural language.

Category
访问服务器

README

ATTOM API MCP Server

An MCP server for the ATTOM API, providing real estate data via the MCP protocol. This server acts as middleware, exposing the ATTOM API endpoints as MCP tools that can be used by AI agents.

Features

  • MCP interface for ATTOM API endpoints
  • Comprehensive API coverage for property data, valuations, assessments, and sales
  • Structured error handling and logging
  • Configurable via environment variables
  • Packaged as a Python CLI tool for easy deployment

Prerequisites

  • Python 3.11 or higher
  • uv for dependency management
  • An ATTOM API key

Installation

Using UVX (Recommended)

The easiest way to install and run the ATTOM API MCP Server is via uvx:

uvx mcp-server-attom --help

This will download and run the tool directly without requiring a permanent installation.

To install it permanently:

uv tool install mcp-server-attom

Local Development

  1. Clone this repository:
git clone https://github.com/nkbud/mcp-server-attom.git
cd mcp-server-attom
  1. Install dependencies:
uv sync --locked --all-extras --dev
  1. Create a .env file with your ATTOM API key:
cp .env.example .env
# Edit .env and add your ATTOM API key

Usage

MCP Client Integration

For detailed instructions on using this server with various MCP clients (Claude Desktop, mcp-inspector, mcp-cli) and stdio communication, see the Client Integration Guide.

Quick Start Examples:

# 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

Running as a CLI Tool

Start the server using the mcp-server-attom command:

# 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

Available command-line options:

  • --host: Host to bind the server to (default: 0.0.0.0)
  • --port: Port to bind the server to (default: 8000)
  • --log-level: Logging level (debug, info, warning, error)
  • --reload: Enable auto-reload on code changes

Running Locally During Development

Start the server during development:

python -m src.server

This will start the server using stdio transport for MCP communication.

Making Requests

The server exposes MCP tools for various ATTOM API endpoints. Here's an example of using the property_detail tool:

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"
)

Configuration

The server can be configured using the following environment variables:

Variable Description Required Default
ATTOM_API_KEY Your ATTOM API key Yes -
ATTOM_HOST_URL Base URL for the ATTOM API No https://api.gateway.attomdata.com
ATTOM_PROP_API_PREFIX Prefix for property API endpoints No /propertyapi/v1.0.0
ATTOM_DLP_V2_PREFIX Prefix for DLP v2 API endpoints No /property/v2
ATTOM_DLP_V3_PREFIX Prefix for DLP v3 API endpoints No /property/v3
LOG_LEVEL Logging level (DEBUG, INFO, WARNING, ERROR) No INFO
LOG_FORMAT Log format (json or console) No json

Available Tools

This MCP server provides complete 1:1 coverage of ATTOM's Data API with 55+ endpoints across all major categories. For detailed API coverage mapping, see ATTOM_API_COVERAGE.md.

Core Categories

  • Property Tools (14 endpoints): Address lookup, property details, profiles, building permits, sales history
  • Assessment Tools (3 endpoints): Assessment details, snapshots, and history
  • Sale Tools (6 endpoints): Sales details, history, comparables, and trends analysis
  • Valuation Tools (6 endpoints): AVM data, home equity, rental valuations
  • Area & Location Tools (8 endpoints): Geographic boundaries, hierarchy lookups, CBSA data
  • POI Tools (2 endpoints): Points of interest search with 14+ business categories
  • Community Tools (1 endpoint): Comprehensive neighborhood data (crime, population, education, weather, commute times)
  • School Tools (3 endpoints): School profiles, districts, and search functionality
  • Event Tools (2 endpoints): Property events and snapshots
  • Utility Tools (3 endpoints): Field definitions, transportation noise, preforeclosure data

Tool Parameters

All property-related tools support multiple identification methods:

  • AttomID: Direct property identifier
  • Address: Full property address string
  • Address1 + Address2: Split address format (street + city/state/zip)
  • FIPS + APN: County FIPS code + Assessor Parcel Number

Area and location tools support geographic identifiers:

  • GeoIDv4: Version 4 geographic identifiers
  • Latitude/Longitude: Coordinate-based searches
  • WKT Strings: Well-Known Text geometric representations
  • Radius: Search radius for location-based queries

Development

Running Tests

uv run pytest

Linting

uv run ruff check .
uv run black .
uv run isort .

Building and Publishing

To build and publish the package to PyPI:

  1. Ensure you have the latest version of uv:
pip install -U uv
  1. Set up a PyPI token:

    • Create an account on PyPI if you don't have one
    • Go to Account Settings > API Tokens
    • Create a token with scope restricted to the mcp-server-attom project
    • Save the token securely
  2. Build the package:

uv build --no-sources
  1. Publish the package using your PyPI token:
uv publish --token YOUR_PYPI_TOKEN

Alternatively, you can store your token in a .pypirc file or as an environment variable:

export PYPI_TOKEN=YOUR_PYPI_TOKEN
uv publish

License

MIT

Support

For issues with this MCP server, please open an issue on the GitHub repository.

For issues with the ATTOM API itself, please contact ATTOM Data Solutions support.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选