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 : 5.3K
๐ 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/buildingpermitsendpoint to getlivingSize(useattomidwhen available). - Expand the
sqFeetRangeby 30% based onlivingSize(or use 2000 square feet as a placeholder). - Set
yearBuiltRangeto 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 โ
writeLogwrites 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
.envfile.
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:serverenvironment 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.

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
16.6K
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
14.8K
4.5 points

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
24.6K
5 points

Duckduckgo MCP Server
Certified
The DuckDuckGo Search MCP Server provides web search and content scraping services for LLMs such as Claude.
Python
44.0K
4.3 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#
19.2K
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
44.5K
4.5 points

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
14.8K
4.5 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
30.3K
4.8 points
ยฉ 2025AIBase

