Built for agents | OpsBlu

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.

  • territory_stats

    Aggregate 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_businesses

    Filter 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.

    free
  • get_business

    The full record for one ID: phone, emails, website, platform, Core Web Vitals, SEO basics, pixels, tracking, change log. Billed once per month per ID.

    3 credits · 10 if hot
  • get_changes_since

    Every change in a territory since a timestamp: new businesses, sites launched, platform or pixel changes, closures.

    free list · reveal billed
  • enrich_domain

    Bring your own list. Resolve a domain to its record and enrichment.

    3 credits · 10 if hot
  • watch_territory

    Save a city, ZIP or polygon and configure alerts (email, Slack, webhook) for the change types you care about.

    free

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.