For agents · MCP + REST
Local business data, built for agents.
2,488,877 businesses, six tools, one key. Aggregates are free. Records cost 3 credits. Your key carries a spend cap, so the agent can be ambitious and your bill cannot.
Connect
Paste one block. Done.
{
"mcpServers": {
"opsblu": {
"type": "http",
"url": "https://opsblu.com/mcp",
"headers": {
"Authorization": "Bearer ob_live_YOUR_KEY"
}
}
}
}Claude Desktop → Settings → Developer → Edit Config. Claude Code: `claude mcp add --transport http opsblu https://opsblu.com/mcp --header "Authorization: Bearer ob_live_YOUR_KEY"`
Sign in to see your key filled in. Connecting adds 750 free credits.
MCP endpoint: https://opsblu.com/mcp (streamable HTTP). REST base: https://opsblu.com/v1. Spec at /openapi.json.
Tools
Six tools. Two of them cost money.
- free
territory_statsAggregate counts for a state, city, category or drawn polygon: totals, depth, platform mix, CWV pass rate, ad and tracking coverage. Never returns names.
- free
search_businessesFilter by geo, category and signals (no website, CWV fail, platform, ads, analytics, server-side tracking, new in N days). Returns names and signals, no contacts.
- 3 credits · 10 if hot
get_businessThe full record for one ID: phone, emails, website, platform, Core Web Vitals, SEO basics, pixels, tracking, change log. Billed once per month per ID.
- free list · reveal billed
get_changes_sinceEvery change in a territory since a timestamp: new businesses, sites launched, platform or pixel changes, closures.
- 3 credits · 10 if hot
enrich_domainBring your own list. Resolve a domain to its record and enrichment.
- free
watch_territorySave a city, ZIP or polygon and configure alerts (email, Slack, webhook) for the change types you care about.
Example session
"Find dentists in Portland with failing sites opened in the last year, draft outreach."
› territory_stats(state="oregon", city="portland", category="dentists")
← total 90 · websites 79 · cwv_fail 71 · new_90d 13 · credits_used 0
› search_businesses(state="oregon", city="portland", category="dentists",
cwv_fail=true, new_days=365)
← 14 matches · estimate: 14 records, 6 hot → 66 credits ($0.66) · credits_used 0
› get_business(id="ob_por_den_0043")
← name, phone, email, platform=wix, lcp=4.8s, cls=0.21, inp=312ms,
ads=[Google Ads], server_side_tracking=false, hot=true
credits_used 10 · balance_remaining 1,240
… 13 more reveals · 56 credits
Drafted 14 outreach emails. Each cites the practice's own LCP and INP and
offers a 2-week performance fix. Total spend: $0.66. Counts in this transcript are from the live Portland dentists page. Names are not shown on public pages.
Keys
One key per agent
Create and revoke keys at /app/api-keys. Each key gets a label, its own monthly spend cap and a last-used timestamp, so you can see which agent spent what.
Credits
Same price as the app
3 credits per record, 10 if hot, once per record per month across the UI, API and MCP together. Every paid response returns credits_used and balance_remaining so the agent can budget.
Caps
Hard stop, friendly error
Hit a cap and the tool returns a 402 with a plain message instead of charging. Over the rate limit you get a 429 with retry_after. No surprise bills, no error walls.
x402 per-call payments for keyless agents: coming soon.