mcpField
A
ATTOM API MCP Server

ATTOM API MCP Server

Local
github.com/nkbudDeveloper Tools2Updated 67w ago

About ATTOM API MCP Server

ATTOM API MCP Server exposes ATTOM real estate data endpoints as MCP tools for AI agents and developers. Its broad endpoint coverage includes property, valuation, assessment, sales, and location data.

Key features

  1. 01Property details and address lookup
  2. 02Valuation, assessment, and sales data
  3. 03Area, location, and community information
  4. 04Configurable API and logging settings
  5. 05Python CLI deployment

Use cases

  1. 01Retrieve property details by address or identifier
  2. 02Review valuations and property sales history
  3. 03Look up geographic areas and local amenities

MCP support

It maps ATTOM Data API endpoints to MCP tools for MCP clients. The server supports stdio communication and can also be started with host and port options.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"attom": {
"command": "uvx",
"args": [
"mcp-server-attom"
]
}
}
}
Run commanduvx mcp-server-attom

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimcp-server-attom

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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:

VariableDescriptionRequiredDefault
ATTOM_API_KEYYour ATTOM API keyYes-
ATTOM_HOST_URLBase URL for the ATTOM APINohttps://api.gateway.attomdata.com
ATTOM_PROP_API_PREFIXPrefix for property API endpointsNo/propertyapi/v1.0.0
ATTOM_DLP_V2_PREFIXPrefix for DLP v2 API endpointsNo/property/v2
ATTOM_DLP_V3_PREFIXPrefix for DLP v3 API endpointsNo/property/v3
LOG_LEVELLogging level (DEBUG, INFO, WARNING, ERROR)NoINFO
LOG_FORMATLog format (json or console)Nojson

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.