TL;DR. Warmly's MCP server is live at https://opps-api.getwarmly.com/api/mcp. Install in Claude Code with one line:
claude mcp add --transport http warmly-prod https://opps-api.getwarmly.com/api/mcp
OAuth login on first call. No API key to manage. Four read-only tools. Free with every Warmly account, 500 credits a month.
The Shift
Six months ago, Warmly lived inside Warmly. You logged in to see who was on your site. You set up Slack alerts. You exported lists. The data was great. It lived behind a UI.
That's the wrong place for it now. The teams I respect most aren't logging into ten dashboards anymore. They're talking to their stack. They tell Claude "show me everyone on the pricing page today who matches our ICP, write the first-touch email, push it to my HubSpot sequence." The agent does it.
So we shipped the plumbing. Warmly's MCP server is live. The External API is live. Both surface the same data: identified visitors, account context, and third-party signal feeds. From any agent. In one call.
Install in 30 Seconds
Claude Desktop
- Open Customize → Connectors.
- Click the + next to Connectors, then Add custom connector.
- Name:
Warmly Production. URL: https://opps-api.getwarmly.com/api/mcp. - Click Add. A browser tab opens for OAuth. Sign in with your Warmly account.
- Tools become available in chats automatically.
Claude Code, Cursor, Zed
claude mcp add --transport http warmly-prod https://opps-api.getwarmly.com/api/mcp
First tool call opens a browser for OAuth. After login, /mcp lists the tools.
Admin: act on a different org
If your Warmly account has the admin role, you can pin a connector to a specific org with the x-warmly-organization-id header:
claude mcp add --transport http warmly-prod-as-acme \
https://opps-api.getwarmly.com/api/mcp \
--header "x-warmly-organization-id: <organization-uuid>"
Useful for agencies and consultants managing multiple Warmly workspaces. Register one connector per client, switch between them by name in your prompt.
The Four Tools
list_warm_visitors
Identified people who visited your site, with full context. Company profile, contact profile, every page they visited, session time, last seen, UTM source, and whether they exist in your HubSpot, Salesforce, or Pipedrive. Default window: past day. Free to call.
list_warm_accounts
Same data grouped by company. Adds visitor aggregations: total sessions, identified visitors, distinct pages. For when you want the account view instead of the contact view. Free to call.
list_autobound_signals
Third-party intent on a specific company or across a signal type. Two modes:
by_signal — "Which companies are showing hiring-velocity right now?" Requires signalType or signalCategory.by_company — "What's fired on acme.com in the last 30 days?" Requires companyDomain.
Observed signal types include hiring-velocity, hiring-trends (broken out by department: Engineering, Finance, Operations, ML, QA, and more), workmilestone, linkedin-post-company, linkedin-post-contact. Use preview=true for a free 5-row sample plus the total count.
get_credits_remaining
Snapshot of your workspace's credit balance for the current monthly window. Lets your agent check before launching a big query and warn you when you're getting close to the limit. Free to call.
What You Get Back
Sample response from list_warm_visitors (trimmed for readability):
{
"lastSeen": "2026-05-18T19:49:38Z",
"companyProfile": {
"name": "Acme Inc",
"domain": "acme.com",
"category_subIndustry": "Internet Software & Services",
"metrics_employeesRange": "11-50",
"metrics_estimatedAnnualRevenue": "$1M-$10M",
"geo_city": "San Francisco",
"geo_state": "California"
},
"contactProfile": {
"fullName": "Jane Doe",
"employment_title": "VP of Engineering",
"employment_seniority": "vp",
"linkedin_handle": "in/janedoe"
},
"pageVisits": [
{"path": "/", "count": 1},
{"path": "/p/book-a-demo", "count": 1}
],
"sessionTime": 175,
"crmProviders": ["hubspot"]
}
How Credits Work
One credit pool per workspace. Resets monthly.
What charges:
- 1 credit per unique company domain returned by
list_autobound_signals - 1 credit per unique contact email returned by
list_autobound_signals
What doesn't charge:
list_warm_visitors and list_warm_accountsget_credits_remainingpreview=true mode on Autobound signals- Re-pulling any company or contact you already paid for this calendar month (per-month dedupe)
The dedupe matters more than people expect. Once you pull a company on day 5, you can re-pull it on day 25 for free. Credits work less like a meter and more like a library card. Buy access to a set of accounts for the month, re-enrich them as much as you want.
Rate limits: 60 requests per minute on free tier, 120 per minute on paid.
Pricing
API/MCP self-serve tiers ladder up by credit volume. All tiers include the same four tools, the same Autobound signal catalog, and full OAuth-based access. Volume discount kicks in at every step.
| Tier | Price | Credits/mo | $/credit | Volume discount vs Starter |
|---|
| Free | $0 | 500 | — | — |
| Starter | $99/mo | 1,000 | $0.099 | baseline |
| Growth | $200/mo | 2,500 | $0.080 | 19% off |
| Pro | $500/mo | 7,500 | $0.067 | 32% off |
| Enterprise | $10K+/yr | 10K+/mo | $1.00 → $0.45 | sales |
Need more than 7,500 credits/mo? Email sales@warmly.ai. Enterprise adds capabilities beyond the self-serve scope.
When You Run Out of Credits
The MCP returns a structured error your agent can relay verbatim. Visitor reads keep working. Re-pulling anything you've already paid for this month keeps working. Preview mode keeps working. New Autobound contact and company reveals get blocked until either the calendar month resets or you upgrade.
Heads-up: the credit pool is shared across the whole Warmly product. Running out also pauses visitor identifications and orchestrations in the app itself. The MCP isn't on its own meter.
Upgrades are self-serve via HubSpot payment links. Pick your tier, pay, use the same email as your Warmly account. We bump your tier within one business day. Webhook automation lands later this quarter.
What's Coming Next
- Phone number reveals are coming. The
includePhone parameter exists today but returns null until we wire the upstream source. - Webhook-based auto-upgrade to replace the manual flow.
- Firmographic alignment. Autobound signals currently return sparse company metadata while
list_warm_accounts returns the full Clearbit-backed firmographic stack. Merging these later. - More tools as the MCP surface expands.
This is the surface I want Warmly to be in 2026. Not a dashboard you log into. A data layer your agents talk to. Tell me what's broken. alan@warmly.ai.