
BatchData - Real Estate Data - MCP Server

A Model Context Protocol (MCP) server that integrates with BatchData.io's comprehensive property and address APIs. This server provides access to property data, address verification, skip tracing, geocoding, and advanced property search capabilities.
Features
Address Operations
- verify-address: Validate and standardize addresses using USPS verification
- autocomplete-address: Get intelligent address suggestions as you type
- geocode-address: Convert addresses to latitude/longitude coordinates
- reverse-geocode: Convert coordinates back to readable addresses
Property Operations
- lookup-property: Get detailed property information by address or APN (Assessor Parcel Number)
- search-properties: Advanced property search with comprehensive filters
- search-properties-by-boundary: Geographic boundary searches using bounding boxes or radius
- count-properties: Get property counts matching specific criteria (lightweight operation)
Installation
Installing via Smithery
To install batchdata-mcp-real-estate for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @zellerhaus/batchdata-mcp-real-estate --client claude
Manual Installation
Clone or download this MCP server to your local machine
Install dependencies:
cd batchdata-mcp-real-estate
npm install
Configure your API key:
BATCHDATA_API_KEY=your_actual_api_key_here
Build the TypeScript project:
npm run build
Test the server:
npm start
Quick Setup
Use the automated setup scripts:
Linux/macOS:
chmod +x setup.sh && ./setup.sh
Windows:
setup.bat
Docker Support
Quick Start with Docker
Build and test the Docker container:
chmod +x docker-manage.sh
./docker-manage.sh test
Run with Docker Compose:
./docker-manage.sh run
View logs:
./docker-manage.sh logs
Docker Management Commands
The docker-manage.sh script provides convenient commands:
- build: Build the Docker image
- run: Start with docker-compose
- stop: Stop the service
- logs: View server logs
- test: Build and test the server
- clean: Clean up Docker resources
- run-direct: Run directly with Docker (for testing)
Manual Docker Usage
Build the image:
docker build -t batchdata-mcp-server:latest .
Run with environment file:
docker run --rm --env-file .env batchdata-mcp-server:latest
Run with Docker Compose:
docker-compose up -d
Docker Features
- Multi-stage build for optimized image size
- Non-root user for enhanced security
- Health checks for monitoring
- Resource limits and logging configuration
- Production-ready with proper signal handling
Development Commands
- Build:
npm run build - Compiles TypeScript to JavaScript
- Start:
npm start - Runs the compiled JavaScript server
- Dev:
npm run dev - Builds and runs in one command
- Clean:
npm run clean - Removes compiled JavaScript files
Configuration for Claude Desktop
To use this MCP server with Claude Desktop, add the following to your Claude configuration file:
macOS
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"batchdata": {
"command": "node",
"args": ["/path/to/batchdata-mcp-real-estate/batchdata_mcp_server.js"],
"env": {
"BATCHDATA_API_KEY": "your_api_key_here"
}
}
}
}
Windows
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"batchdata": {
"command": "node",
"args": ["C:\\path\\to\\batchdata-mcp-real-estate\\batchdata_mcp_server.js"],
"env": {
"BATCHDATA_API_KEY": "your_api_key_here"
}
}
}
}
Docker Configuration for Claude Desktop
If running via Docker, you can configure Claude Desktop to use the containerized server:
{
"mcpServers": {
"batchdata": {
"command": "docker",
"args": ["exec", "-i", "batchdata-mcp-server", "node", "batchdata_mcp_server.js"],
"env": {
"BATCHDATA_API_KEY": "your_api_key_here"
}
}
}
}
verify-address - USPS address verification and standardization
autocomplete-address - Smart address suggestions
geocode-address - Convert address to coordinates
reverse-geocode - Convert coordinates to address
lookup-property - Detailed property data by address/APN
search-properties - Advanced filtered property search
search-properties-by-boundary - Geographic area searches
count-properties - Property count queries
Example Usage
Count Properties in Phoenix
I need to count single-family homes in Phoenix, AZ between $250,000 and $600,000
Find Comparable Properties
Find properties similar to 2800 N 24th St, Phoenix, AZ 85008 within 1 mile
Verify an Address
Verify this address: 2800 N 24th St, Phoenix, Arizona 85008
API Rate Limits
BatchData.io rate limits per endpoint:
- Address Verification: 5,000 max (1,000 recommended per batch)
- Address Geocoding: 90 max (75 recommended per batch)
- Property Search: 1,000 max requests
- Property Lookup: Standard API limits
Environment Variables
Error Handling
The server includes comprehensive error handling for:
- Invalid API keys
- Network request failures
- Malformed requests
- API rate limit exceeded
- Invalid parameter combinations
Dependencies
- @modelcontextprotocol/sdk: Core MCP framework
- zod: Runtime type validation
- dotenv: Environment variable loading
- typescript: TypeScript compiler
- @types/node: Node.js type definitions
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
MIT License - See LICENSE for details.
Support
Real Estate professionals and developers: This MCP server enables Claude to access comprehensive property data, perform address verification, and conduct advanced property searches directly through natural language queries.