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
- Active Verified or Business subscription
- API key with
mcp:readandmcp:writescopes (Developer console) - Platform flag
FEATURE_PRO_MCP=true - 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 professionalsquery_availability— live booking windowsbook_appointment— book via Machine Payments Protocol (complete payment with returnedclientSecret)request_quote— create an RFQ for a professionalget_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/skucompare_packages— side-by-side 2–4 packageslist_properties/get_property— PM property list (client-owned key; needsFEATURE_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:readcallGET /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.