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
9
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.
Featured MCP Services
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
1.7K
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
823
4.3 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
79
4.3 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
130
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#
554
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
6.6K
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
5.2K
4.7 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
745
4.8 points
Š 2025AIbase