How to Use the ATTOM Data MCP to Pull Comps for Real Estate Agents
Configure the ATTOM Data MCP server in Claude and chain it with the Real Estate Vault to pull comparable sales, build a CMA outline, and draft the listing description — without leaving the chat.
Pulling comps for a CMA used to be 45 minutes of cross-referencing the MLS, the public records portal, and a few Zillow tabs. With the ATTOM Data MCP server wired into Claude, and the Real Estate AI Cowork Vault handling the downstream drafting, the same work is under 10 minutes and the output is consistent across every listing you take.
This post walks through the full setup. By the end, you'll have ATTOM Data flowing into Claude, comps pulled by ZIP and property type, and a CMA outline + listing description generated by the vault — all in one conversation.
💡 The stack at a glance. The ATTOM Data MCP server is the comps source. The Real Estate AI Cowork Vault is the agentic layer that turns those comps into a CMA outline, a listing description, and an open-house promo plan in your voice. $14 one-time, lifetime updates. Both Claude Cowork and Microsoft 365 Copilot plugins included.
What the ATTOM Data MCP server actually does
ATTOM Data aggregates property records, sales history, tax assessments, mortgage data, and parcel boundaries across 155M+ U.S. parcels. The ATTOM Data API exposes that as REST endpoints. The MCP server is the bridge that lets Claude call those endpoints directly — by address, by ZIP, by APN, by lat/lng radius — and return structured property data into the conversation context.
What you can pull through it (relevant to listing prep):
- Recent sales within a radius or ZIP, filtered by property type, beds/baths, year built, square footage
- Property attributes for any single address (sale history, tax assessment, owner of record, lot size, livable square footage)
- Foreclosure / pre-foreclosure flags for distress-aware pricing context
- Median sale price trends for the ZIP or neighborhood over the past 12–60 months
What it does not do: live MLS data. ATTOM aggregates from public records and licensed feeds, but for the most recent week, your MLS is still the source of truth. The vault's CMA skill handles that explicitly.
Pre-flight: what you need installed
- Claude Cowork (desktop) or Claude Code — current versions support MCP servers
- An ATTOM Data API key — free tier from the ATTOM developer portal
- Node.js 20+ if you're running the community MCP server locally, or any hosted-MCP wrapper if you prefer
- The Real Estate AI Cowork Vault installed in your Cowork Project (this is what the comps feed into)
Configure the MCP server in Claude
Open your Claude Cowork config (on macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; on Windows: %APPDATA%\Claude\claude_desktop_config.json).
Add the ATTOM MCP server to the mcpServers block:
{
"mcpServers": {
"attom-data": {
"command": "npx",
"args": ["-y", "@attom/mcp-server"],
"env": {
"ATTOM_API_KEY": "your-api-key-here"
}
}
}
}Restart Claude Cowork. Open the Customize panel and confirm the ATTOM server shows as connected. If it doesn't, check the developer console for an MCP handshake error — usually a typo in the API key or a Node version older than 20.
Run your first comps pull
Inside a Cowork session attached to your Project, type:
Use the ATTOM MCP to pull sales in ZIP 78704 from the last 6 months for single-family homes
between 1,400 and 1,800 sqft, 3 bed minimum. Return the address, sale date, sale price,
beds/baths, sqft, and a $/sqft for each.ATTOM returns the comps. Claude formats them into a table. Eyeball the outliers (a property that sold for half the median is usually a teardown or family transfer — flag and exclude).
Chain it with the vault's CMA outline skill
This is where the agentic layer earns its keep. With the comps in context, call the vault skill:
/cma-outline
Subject property: 1234 Oak St, Austin TX 78704
Subject details: 3/2, 1,620 sqft, built 1978, recently updated kitchen
Comps: [paste the table Claude returned, or just say "use the ATTOM pull above"]
Pricing strategy: aggressive — listing in spring, want offers in 7 daysThe vault produces a structured CMA outline:
- Subject summary
- Comparable sales table (the comps you pulled, re-formatted with adjustments)
- Adjustments rationale (size, age, condition deltas)
- Suggested list price range with reasoning
- Days-on-market projection
- Pricing strategy narrative for the seller conversation
You'll edit the adjustments — that's a human judgment call — but the structure and the seller-facing narrative are done.
Draft the listing description from the same context
The CMA work also gives the vault enough context to draft the listing description in one more step:
/listing-description
Property: 1234 Oak St (use the CMA above for property details)
Voice: warm, neighborhood-aware, no clichés
Target buyer: first-time buyer, dual-income, young family
Highlight: kitchen reno, walkable to Zilker
Compliance: fair-housing safeThe vault's /listing-description skill produces the description with the fair-housing guard active — meaning no language that could be read as steering by age, family status, race, or any other protected class. (Yes, this is a real failure mode of generic AI prompts. No, the vault's guard is not a feature you have to remember to invoke; it runs on every listing-description call.)
Chain into the open-house plan
The same context can feed the vault's /open-house-promo-plan:
/open-house-promo-plan
Property: 1234 Oak St
Open house: Sunday April 6, 12-3pm
Channels: Instagram, Facebook, email blast to past clients, sign on streetOutput: a promo schedule for the week leading up to the open house, with copy for each channel, the email subject line, the sign copy, and a follow-up sequence for attendees.
The full sequence — comps → CMA → description → open-house plan — is one continuous conversation, with the ATTOM MCP supplying data and the vault supplying the agentic layer.
Common failure modes (and the fix)
- Comps return zero results. ATTOM's geo-filtering can be strict. Widen the radius first, then narrow filters. If you specified a ZIP that's small (under 1,000 parcels), use the bordering ZIPs.
- Comps look stale. ATTOM updates on a 7–14 day rolling basis. For the most recent week, supplement with your MLS — the vault's
/cma-outlineprompts for this explicitly. - Adjustments feel arbitrary. Don't let Claude invent adjustment magnitudes. Give the vault your firm's standard adjustment grid (sqft, age, condition, garage, pool) as part of setup-wizard input, and the CMA will use it.
- Fair-housing flagged on a listing description. The guard fires when language drifts into protected-class steering. Re-scope: the property has features, neighborhoods have features, buyers don't get described.
When you'd skip this stack
- You list fewer than 8 properties a year. The MCP setup time isn't worth it; do CMAs manually.
- You're 100% in one tight market. If you already know every comp in your service area by memory, the MCP is making explicit what you already do implicitly. Still useful for the output structure, but the data lift is minimal.
- Your MLS already has a CMA-builder you trust. Use it. The vault's downstream skills (listing description, open-house plan) still apply.
Sources
- ATTOM Data: Developer API documentation
- Anthropic: Model Context Protocol (MCP) introduction
- NAR: Code of Ethics — Article 12 (fair housing)
Save hours every week with the Real Estate AI Cowork Vault
50 agentic skills for listings, client emails, CMAs, and open houses. Ambient fair-housing guard flags steering language before it ships.
Frequently asked questions
Do I need an ATTOM Data subscription to use the MCP?+
Yes. The ATTOM Data MCP is a bridge to ATTOM's property data API — it doesn't bring its own data. You'll need an ATTOM Data API key, available on their developer portal. They offer a free tier sufficient for a few hundred property lookups a month, which is enough for a working solo agent.
Can I run this without Claude Cowork?+
The MCP server protocol is supported by Claude desktop, Claude Code, and a growing list of Cowork-compatible IDEs. You'll need at least one of those — running an MCP server purely through claude.ai's web UI is not supported. If you're using Microsoft 365 Copilot, the equivalent integration runs through the agentConnectors mechanism, not raw MCP.
Is the data fresh enough for CMA work?+
ATTOM updates property records on a rolling basis — recent sales typically appear within 7–14 days of recording, which is fast enough for most CMAs. For the most recent week's activity, cross-reference with your local MLS. The vault's `/cma-outline` skill prompts you for an MLS supplement step explicitly.
Related Guides
How to Use the Playwright MCP to Pull MLS Listings for Real Estate Agents
Wire the Playwright MCP into Claude to scrape MLS-supplied data your agent dashboard exposes, then chain with the Real Estate Vault for a fair-housing-safe CMA outline and listing description — without copy-pasting from 6 tabs.
Claude for Small Business + Real Estate Vault: A Solo Agent's Practice
Stack Anthropic's Claude for Small Business plugin with the Real Estate Vault to run a solo agent's practice — listings, buyer comms, sphere outreach, with Fair Housing locked in.
DotLoop Alternatives for Real Estate Agents in 2026
An honest look at DotLoop alternatives for real estate agents in 2026 — when DotLoop is the right call, when something else fits, and how to think about transaction management software in the modern brokerage.