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
7.3K

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

V
Vestige
Vestige is an AI memory engine based on cognitive science. By implementing 29 neuroscience modules such as prediction error gating, FSRS - 6 spaced repetition, and memory dreaming, it provides long - term memory capabilities for AI. It includes a 3D visualization dashboard and 21 MCP tools, runs completely locally, and does not require the cloud.
Rust
4.6K
4.5 points
M
Moltbrain
MoltBrain is a long-term memory layer plugin designed for OpenClaw, MoltBook, and Claude Code, capable of automatically learning and recalling project context, providing intelligent search, observation recording, analysis statistics, and persistent storage functions.
TypeScript
5.2K
4.5 points
B
Bm.md
A feature-rich Markdown typesetting tool that supports multiple style themes and platform adaptation, providing real-time editing preview, image export, and API integration capabilities
TypeScript
3.8K
5 points
S
Security Detections MCP
Security Detections MCP is a server based on the Model Context Protocol that allows LLMs to query a unified security detection rule database covering Sigma, Splunk ESCU, Elastic, and KQL formats. The latest version 3.0 is upgraded to an autonomous detection engineering platform that can automatically extract TTPs from threat intelligence, analyze coverage gaps, generate SIEM-native format detection rules, run tests, and verify. The project includes over 71 tools, 11 pre-built workflow prompts, and a knowledge graph system, supporting multiple SIEM platforms.
TypeScript
5.1K
4 points
P
Paperbanana
Python
6.3K
5 points
F
Finlab Ai
FinLab AI is a quantitative financial analysis platform that helps users discover excess returns (alpha) in investment strategies through AI technology. It provides a rich dataset, backtesting framework, and strategy examples, supporting automated installation and integration into mainstream AI programming assistants.
6.7K
4 points
B
Better Icons
An MCP server and CLI tool that provides search and retrieval of over 200,000 icons, supports more than 150 icon libraries, and helps AI assistants and developers quickly obtain and use icons.
TypeScript
5.9K
4.5 points
A
Assistant Ui
assistant - ui is an open - source TypeScript/React library for quickly building production - grade AI chat interfaces, providing composable UI components, streaming responses, accessibility, etc., and supporting multiple AI backends and models.
TypeScript
6.6K
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
24.6K
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
35.5K
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
21.4K
4.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
73.1K
4.3 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
65.6K
4.5 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#
31.2K
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
22.1K
4.5 points
M
Minimax MCP Server
The MiniMax Model Context Protocol (MCP) is an official server that supports interaction with powerful text-to-speech, video/image generation APIs, and is suitable for various client tools such as Claude Desktop and Cursor.
Python
48.0K
4.8 points