Attain Warehouse
Anonymized Attain data, public housing-market data and the release history of every Attain app, ready for Claude to analyze.
Data as of Nov 6, 2026, 7:46 AM Los Angeles time. Rebuilt every night at 2:00 AM Los Angeles time. Internal to the Attain team.
Connector URL
Add this as a custom connector in Claude. Sign-in uses your Attain email and password.
https://warehouse.attain.app/mcpConnect Claude
claude.ai, Claude Desktop and mobile
- Once for the organization (an Owner): Organization settings → Connectors → Add → Custom → Web. Name it Attain Warehouse, paste the URL above, and add it. No client ID or secret is needed.
- Each team member: Customize → Connectors, find Attain Warehouse and click Connect. Sign in with your Attain email and password.
- In a chat, make sure the connector is on in the tools menu, then ask a question. It also works in Projects and scheduled tasks.
Claude Code
claude mcp add --transport http attain-warehouse https://warehouse.attain.app/mcpThen run /mcp in Claude Code, pick attain-warehouse and choose Authenticate. A browser window opens for the sign-in.
Other AI tools
Any client that supports remote MCP servers over Streamable HTTP with OAuth 2.1 (dynamic client registration and PKCE) can connect. Sign-in redirects are limited to Claude’s callbacks and localhost; another tool’s redirect has to be added to the server’s allow-list first.
Who can connect
Attain team members with the WAREHOUSE role. To get it, ask an admin to run pnpm script grantWarehouseRole --email you@attain.app in attain-platform.
Your role is checked when you sign in. Claude stays connected for up to 90 days without signing in again; an admin can end access at any time, and it stops within the hour.
Try asking
- “How many signups did we get each week over the last 3 months, and how many were validated?”
- “Show the conversion funnel by month this year. Where do we lose the most people?”
- “Did anything we shipped in October line up with a change in onboarding completion?”
- “What’s the buying power distribution of accounts that requested a pre-approval?”
- “How have 30-year fixed rates moved in California since January?”
Claude resolves phrases like “last quarter” to exact dates and tells you which ones it used. Days are in Los Angeles time and weeks start on Monday. Internal (attain.app) accounts are left out, like on the support dashboard.
What Claude can use
Tools
All read-only.
get_metric | A defined metric by day, week, month or year over a date range, matching the support dashboard. |
list_releases | Releases of every app and the platform, with their changes, to line up numbers with what shipped. |
list_tables | Every table, view and metric function, with row counts and the dates covered. |
describe_table | A table’s columns, their meaning and the values of coded columns. |
run_query | One read-only SQL query on the analytics schema, for anything the metrics don’t cover. |
Metrics
Each takes a grain (day, week, month or year) and a date range.
signups | new accounts per period (signups), and how many were validated (validated) |
conversion | the support dashboard conversion chart: validated accounts (account_created), completed onboardings (onboarded), assessments (assessment_complete) and pre-approval requests (mortgage), each counted in the period it happened |
funnel | accounts reaching each funnel stage for the first time (lead, account_created, onboarded, assessment_complete, mortgage, home_search, closing, homeowner), counted in the period they reached it, from the platform status log |
retention | signup cohorts per period (signups), how many of them have completed onboarding today (onboarded) and the share (onboarded_share). This is the support dashboard’s retention definition |
buying_power | accounts per buying power band ($50k bands) per period, from each account’s last calculation in the period; one row per period and band |
purchases | validated in-app purchases per period: purchases, distinct buyers, revenue_usd, and revenue per store (app_store_usd, google_play_usd). Test purchases are left out |
ai_chat | messages in Atty (AI) chats per period, sent by users (user_messages) and by Atty (ai_messages) |
Attain accounts (anonymized)
dim_account | One row per account that is not deleted: customers and also team, partner and demo accounts (see the is_* flags). |
fact_funnel_transition | The first day each account reached each funnel stage, from the platform’s status log. |
fact_pre_approval_request | Every pre-approval request (agent GET_PRE_APPROVED_BY_LENDER). |
fact_buying_power_snapshot | Buying power over time: the last calculation of each day for each account. |
fact_purchase | In-app purchases validated with the App Store or Google Play. |
fact_subscription | Access records from the subscription collection, one per account. |
fact_engagement | Daily activity counts per account: messages the user sent in chat, and calls. |
fact_ai_chat_daily | Messages per day in AI (Atty) chats, by sender, like the support dashboard’s AI chat chart. |
Market data (public)
market_rates | Mortgage rates from Zillow, refreshed weekly (Sundays) per state, loan type, credit bucket and loan-to-value bucket. |
market_prices | Typical home values (Zillow ZHVI) per ZIP code, month and bedroom count. |
market_property_tax | Effective property tax rate per state, latest year only (Tax Foundation). |
market_insurance | Average homeowner insurance premium per state, latest year only. |
market_down_payment_aid | Down payment assistance programs per state. |
Release history
dim_release | Releases of every Attain app and the platform, from GitHub. |
fact_release_change | One row per change in a release: kind, area and a one-line summary. |
Privacy
Accounts appear only as a one-way key. There are no names, emails, phone numbers, addresses, SSNs or dates of birth, and no credit report, Plaid, document, note, chat or call content. Amounts and credit scores are bands, locations stop at the state and the first 3 digits of the ZIP code, and dates are days.
Safeguards
Every query is read-only, limited to the analytics tables, stopped after 15 seconds and capped at 1,000 rows. Every tool call is logged with who made it.