Model Context Protocol (MCP)

Connect Claude, Cursor, and other MCP clients to AllServicePros — for customer booking agents and pro operations agents.

Two servers

| Server | Audience | Package / endpoint | |--------|----------|--------------------| | Customer Agent MCP | Consumer / booking agents | Hosted POST /api/mcp/customer · stdio scripts/mcp.ts · discovery customer-server-card | | Professional Agent MCP | Pros managing their shop | @allservicepros/pro-mcp → hosted POST /api/mcp |

Pro discovery card: /.well-known/mcp/server-card.json.


Professional Agent MCP

Paid Verified or Business pros can let Cursor / Claude manage account content (leads, quotes, services, profile copy) with confirm-before-write.

Requirements

  1. Active Verified or Business subscription
  2. API key with mcp:read and mcp:write scopes (Developer console)
  3. Platform flag FEATURE_PRO_MCP=true
  4. Agent tasks available (included monthly allowance or prepaid agent gas)

Cursor (mcp.json)

{
  "mcpServers": {
    "asp-pro": {
      "command": "npx",
      "args": ["-y", "@allservicepros/pro-mcp"],
      "env": {
        "ASP_API_KEY": "asp_live_YOUR_KEY",
        "ASP_API_URL": "https://allservicepros.net/api/mcp"
      }
    }
  }
}

Claude Desktop

Same JSON under claude_desktop_config.json → mcpServers.

Hosted HTTP (no stdio)

curl -s https://allservicepros.net/api/mcp \
  -H "Authorization: Bearer asp_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Read tools

list_leads, get_lead, list_quotes, get_quote, list_jobs, get_job, get_assessment, list_job_media, list_bookings, list_services, get_availability, view_analytics, get_proposal_status

Write / propose tools (mcp:write)

prepare_quote_draft, prepare_assessment_notes, prepare_day_brief, update_quote_content, prepare_job_spec, prepare_customer_message, update_service_pricing, update_business_profile, update_public_profile, update_business_entity, update_site_config, update_service_content, confirm_action, dismiss_action, run_agent

When FEATURE_PRO_MCP_THREADS / FEATURE_PRO_AGENT_THREADS is on: create_thread, list_threads, get_thread, chat_on_thread (and run_agent accepts threadId).

Safety: quote sends, payments, refunds, team/roles, API keys, and subscriptions are not exposed. Content writes create a proposal; call confirm_action (or use in-app Confirm) to apply. Expanded profile editors also require FEATURE_PRO_AGENT_PROFILE_DRAFTS=true.

In-app chat

Pros can also use the same agent at /dashboard/agent.


Customer Agent MCP

For consumer-facing agents that find and book services. Use an asp_live_* API key with public widget scopes (widget:public / widget:book). Binding actions (booking payment, quote acceptance) require human confirmation.

Status: Hosted gateway is live at POST /api/mcp/customer. Create and revoke keys from Client Integrations. Local stdio (npm run mcp → scripts/mcp.ts) remains available as a fallback.

Hosted (recommended)

{
  "mcpServers": {
    "asp-booking": {
      "url": "https://allservicepros.net/api/mcp/customer",
      "headers": {
        "Authorization": "Bearer asp_live_YOUR_WIDGET_KEY"
      }
    }
  }
}
curl -s https://allservicepros.net/api/mcp/customer \
  -H "Authorization: Bearer asp_live_YOUR_WIDGET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Stdio fallback

{
  "mcpServers": {
    "asp-booking": {
      "command": "npx",
      "args": ["tsx", "scripts/mcp.ts"],
      "env": {
        "ASP_API_KEY": "asp_live_YOUR_WIDGET_KEY",
        "NEXT_PUBLIC_API_URL": "https://allservicepros.net/api"
      }
    }
  }
}

Hosted discovery: /.well-known/mcp/customer-server-card.json.

Tools

  • search_pros — find verified professionals
  • query_availability — live booking windows
  • book_appointment — book via Machine Payments Protocol (complete payment with returned clientSecret)
  • request_quote — create an RFQ for a professional
  • get_reviews — ratings and reviews

Package read tools (when FEATURE_CUSTOMER_MCP_PACKAGES + FEATURE_OFFER_PACKAGES):

  • list_packages — fixed-price packages (filter by kind, location, bedrooms, maxPrice)
  • get_package — package detail by id/sku
  • compare_packages — side-by-side 2–4 packages
  • list_properties / get_property — PM property list (client-owned key; needs FEATURE_CLIENT_PROPERTIES)

In-app homeowners should use Project Assistant and the client workspace for authenticated lifecycle actions (quotes, invoices, disputes). Claude/MCP booking tools are for agentic discovery and booking initiation.

Offer packages (Wave 0–1)

When FEATURE_OFFER_PACKAGES=true:

  • Pros set package fields via PATCH /api/pro/services (packageKind, includes, cadence, etc.)
  • Agents / keys with packages:read call GET /api/v1/packages (+ /compare, /{id})
  • Property managers manage units under Client → Properties (FEATURE_CLIENT_PROPERTIES)

MCP package tools: customer-mcp-packages-read. Full roadmap: client-offer-mcp-waves.


Next steps