Attom MCP Server
A

Attom MCP Server

The ATTOM MCP Server is a comprehensive model context protocol server that provides access to ATTOM real estate data for AI agents and traditional applications. It supports HTTP and stdio transmissions, and features intelligent fallback strategies, automatic retry mechanisms, and strict type safety.
2 points
6.2K

Installation

Copy the following command to your Client for configuration
Note: Your key is sensitive information, do not share it with anyone.

๐Ÿš€ ATTOM Service Interaction Project

This is a project designed to interact with the ATTOM service. Its core functions include:

  • Support for MCP protocol
  • Automatic retry algorithm
  • Support for both address and Property ID variations
  • Advanced filtering capabilities
  • Caching mechanism
  • Generation of OpenAPI documentation

๐Ÿ“ฆ Project Structure

attom-mcp/
โ”œโ”€ src/
โ”‚  โ”œโ”€ runMcpServer.ts         # Transmission startup file (MCP entry)
โ”‚  โ”œโ”€ mcp/
โ”‚  โ”‚   โ”œโ”€ groupedTools.ts      # Grouped MCP tools
โ”‚  โ”‚   โ””โ”€ mcpServer.ts        # MCP core bridging and registration
โ”‚  โ”œโ”€ services/
โ”‚  โ”‚   โ””โ”€ attomService.ts     # High-level ATTOM orchestrator
โ”‚  โ”œโ”€ utils/
โ”‚  โ”‚   โ”œโ”€ fetcher.ts          # Retry, logging, and caching hooks
โ”‚  โ”‚   โ””โ”€ fallback.ts         # attomId / geoId derivation
โ”‚  โ”œโ”€ config/endpointConfig.ts# Central endpoint mapping
โ”‚  โ””โ”€ mcp/mcpServer.test.ts   # Basic Vitest test specification
โ”œโ”€ openapi/attom-api-schema.yaml
โ”œโ”€ .env.example
โ””โ”€ tsconfig.json

โœจ Features

Automatic Retry Algorithm

  1. Make the first call to the ATTOM service using the provided parameters.
  2. If the response contains "No property record found" and it's the first attempt:
    • Use the /property/buildingpermits endpoint to get livingSize (use attomid when available).
    • Expand the sqFeetRange by 30% based on livingSize (or use 2000 square feet as a placeholder).
    • Set yearBuiltRange to 40 years.
    • Resend the comparison request.
  3. Return the first successful response or propagate the original error.

This algorithm increases the hit rate by approximately 35% in actual tests.

Advanced Filtering Capabilities

  • Required fields:

    • Address variation: street, city, county, state, zip
    • Property ID variation: propId
  • Optional default values:

    • searchType="Radius"
    • minComps=1, maxComps=10, miles=5
  • Advanced filters:

    • include0SalesAmounts (boolean)
    • includeFullSalesOnly (boolean)
    • onlyPropertiesWithPool (boolean)

๐Ÿ’ป Usage Examples

Example Test

fetchMock.mockRejectedValueOnce(noCompsError)   // The first call fails
fetchMock.mockResolvedValueOnce({ comps: [] })  // Retry succeeds
const result = await service.executeSalesComparablesPropIdQuery({ propId })
expect(fetchMock).toHaveBeenCalledTimes(2)

๐Ÿ“š Documentation

Development Notes

  1. ESM Only โ€“ All imports need to explicitly use .js.
  2. Dynamic imports โ€“ Use sparingly to avoid circular dependencies.
  3. Logging โ€“ writeLog writes to standard output; replace with other logging methods by swapping utilities.
  4. Caching mechanism โ€“ Use Redis for caching, with the default port 6379.
  5. Configuration management โ€“ Load environment variables using the .env file.

Troubleshooting

Common Issues

  1. Ensure that the API key for the ATTOM service is correctly set.
  2. Check the network connection to ensure access to external services.
  3. Check the logs for more error information.

Solutions

  • Enable debug mode using the DEBUG=attom:server environment variable.
  • Regularly clean the cache to avoid outdated data.
  • Update the OpenAPI documentation to reflect the latest API changes.

๐Ÿ“„ License

MIT License

Copyright (c) 2023 Your Name

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

๐Ÿš€ Quick Start

Configuration Commands

# Install dependencies
npm install

# Start the development server
npm run dev

# Run tests
npm test

# Generate OpenAPI documentation
npm run build-openapi

โš ๏ธ Important Note

  • Ensure that all environment variables are correctly set.
  • Enable error handling and monitoring in the production environment.
  • Regularly back up important data and log files.

Alternatives

A
Acemcp
Acemcp is an MCP server for codebase indexing and semantic search, supporting automatic incremental indexing, multi-encoding file processing, .gitignore integration, and a Web management interface, helping developers quickly search for and understand code context.
Python
9.2K
5 points
B
Blueprint MCP
Blueprint MCP is a chart generation tool based on the Arcade ecosystem. It uses technologies such as Nano Banana Pro to automatically generate visual charts such as architecture diagrams and flowcharts by analyzing codebases and system architectures, helping developers understand complex systems.
Python
8.1K
4 points
M
MCP Agent Mail
MCP Agent Mail is a mail - based coordination layer designed for AI programming agents, providing identity management, message sending and receiving, file reservation, and search functions, supporting asynchronous collaboration and conflict avoidance among multiple agents.
Python
8.4K
5 points
K
Klavis
Klavis AI is an open-source project that provides a simple and easy-to-use MCP (Model Context Protocol) service on Slack, Discord, and Web platforms. It includes various functions such as report generation, YouTube tools, and document conversion, supporting non-technical users and developers to use AI workflows.
TypeScript
12.9K
5 points
M
MCP
The Microsoft official MCP server provides search and access functions for the latest Microsoft technical documentation for AI assistants
11.9K
5 points
A
Aderyn
Aderyn is an open - source Solidity smart contract static analysis tool written in Rust, which helps developers and security researchers discover vulnerabilities in Solidity code. It supports Foundry and Hardhat projects, can generate reports in multiple formats, and provides a VSCode extension.
Rust
10.6K
5 points
D
Devtools Debugger MCP
The Node.js Debugger MCP server provides complete debugging capabilities based on the Chrome DevTools protocol, including breakpoint setting, stepping execution, variable inspection, and expression evaluation.
TypeScript
10.0K
4 points
S
Scrapling
Scrapling is an adaptive web scraping library that can automatically learn website changes and re - locate elements. It supports multiple scraping methods and AI integration, providing high - performance parsing and a developer - friendly experience.
Python
11.8K
5 points
N
Notion Api MCP
Certified
A Python-based MCP Server that provides advanced to-do list management and content organization functions through the Notion API, enabling seamless integration between AI models and Notion.
Python
17.5K
4.5 points
G
Gitlab MCP Server
Certified
The GitLab MCP server is a project based on the Model Context Protocol that provides a comprehensive toolset for interacting with GitLab accounts, including code review, merge request management, CI/CD configuration, and other functions.
TypeScript
17.4K
4.3 points
M
Markdownify MCP
Markdownify is a multi-functional file conversion service that supports converting multiple formats such as PDFs, images, audio, and web page content into Markdown format.
TypeScript
28.4K
5 points
D
Duckduckgo MCP Server
Certified
The DuckDuckGo Search MCP Server provides web search and content scraping services for LLMs such as Claude.
Python
53.4K
4.3 points
U
Unity
Certified
UnityMCP is a Unity editor plugin that implements the Model Context Protocol (MCP), providing seamless integration between Unity and AI assistants, including real - time state monitoring, remote command execution, and log functions.
C#
23.0K
5 points
F
Figma Context MCP
Framelink Figma MCP Server is a server that provides access to Figma design data for AI programming tools (such as Cursor). By simplifying the Figma API response, it helps AI more accurately achieve one - click conversion from design to code.
TypeScript
52.0K
4.5 points
G
Gmail MCP Server
A Gmail automatic authentication MCP server designed for Claude Desktop, supporting Gmail management through natural language interaction, including complete functions such as sending emails, label management, and batch operations.
TypeScript
17.1K
4.5 points
C
Context7
Context7 MCP is a service that provides real-time, version-specific documentation and code examples for AI programming assistants. It is directly integrated into prompts through the Model Context Protocol to solve the problem of LLMs using outdated information.
TypeScript
76.1K
4.7 points