Agents · MCP

Just tell Claude what you want

The API is a remote MCP server at https://api.compcurve.com/mcp. Connect it once with your key and ask in plain English — the assistant picks the tools, checks the vocabulary, searches, and follows licenses across months. Same key, same limits, same masking as the REST API.

MCP · Streamable HTTP (JSON-RPC 2.0)8 toolsAuth: Bearer cck_…llms.txtopenapi.json

What you can ask

"How many active brokers does Texas have, and who are the 20 newest?"
"Find Keller Williams agents in Austin whose license expires in the next 90 days."
"What happened to TX license 753285-SA over the last four months — status, office, expiry?"
"Which status values does Florida use? Then count 'Current' salespersons in Miami."
"Give me a CSV of CA brokers in zip 94563 with office name and expiry."

Tip: the assistant will call get_stats first to learn each state's exact license_status / member_type strings — they differ by state ("Active", "ACTIVE", "Current", "Licensed"…).

Connect

Claude Code (one line):

claude mcp add --transport http compcurve-licenses https://api.compcurve.com/mcp \
  --header "Authorization: Bearer cck_YOUR_KEY"

Claude Desktop / Cursor / Windsurf (claude_desktop_config.json · .cursor/mcp.json) — via mcp-remote for clients that only speak stdio:

{
  "mcpServers": {
    "compcurve-licenses": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.compcurve.com/mcp",
               "--header", "Authorization: Bearer cck_YOUR_KEY"]
    }
  }
}

Clients with native remote MCP (Claude.ai connectors, ChatGPT developer mode, Cursor ≥ 0.48): URL https://api.compcurve.com/mcp, header Authorization: Bearer cck_YOUR_KEY. No OAuth — the key is the credential.

Raw JSON-RPC (what the clients send):

curl -s https://api.compcurve.com/mcp -H "Authorization: Bearer cck_YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_licenses","arguments":{"state":"TX","member_type":"Broker","limit":5}}}'

Tools

ToolWhat it does
search_licensesFilter by state, name, office, status, type, city/zip, dates; paginated; sparse fields; snapshot
get_licenseOne row by id
license_historyOne license across months + change log (history add-on)
list_states · list_snapshotsCoverage and which months this key may read
get_statsStatus / member-type vocab, coverage, expiration buckets, top offices
suggestType-ahead for city / office / last name
whoamiThe key's tier, limits, quota, scope

Every tool call is routed through the same REST handlers, so geo/field scopes, history gating, demo/trial masking, rate limits and monthly quota apply identically; calls count as /mcp in your usage.

Without MCP

Get a free key   REST docs