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.
rating : 2 points
downloads : 9
đ 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
- Make the first call to the ATTOM service using the provided parameters.
- If the response contains "No property record found" and it's the first attempt:
- Use the
/property/buildingpermits
endpoint to getlivingSize
(useattomid
when available). - Expand the
sqFeetRange
by 30% based onlivingSize
(or use 2000 square feet as a placeholder). - Set
yearBuiltRange
to 40 years. - Resend the comparison request.
- Use the
- 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
- Address variation:
-
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
- ESM Only â All imports need to explicitly use
.js
. - Dynamic imports â Use sparingly to avoid circular dependencies.
- Logging â
writeLog
writes to standard output; replace with other logging methods by swapping utilities. - Caching mechanism â Use Redis for caching, with the default port 6379.
- Configuration management â Load environment variables using the
.env
file.
Troubleshooting
Common Issues
- Ensure that the API key for the ATTOM service is correctly set.
- Check the network connection to ensure access to external services.
- 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

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

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

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

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

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

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

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

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