{"name":"DispatchNode","description":"AI-powered field service dispatch platform. 47 MCP tools for booking, CRM, quotes, leads, agreements, and more.","url":"https://www.dispatchnode.com/api/mcp","protocol":"mcp","protocolVersion":"2025-03-26","authentication":{"type":"bearer","description":"Org-scoped API key (dnk_…). Generate from Settings → Integrations → Webhooks & API. Customer tier may use X-Org-Slug instead.","tokenPrefix":"dnk_"},"capabilities":{"tools":{"count":47},"resources":{"count":4},"prompts":{"count":4}},"tools":[{"name":"book_job","tier":"customer","description":"Book a new service job for a customer. Creates a job record with scheduling, service type, and contact information.","inputRequired":["customerName","customerPhone","serviceAddress","scheduledStart"]},{"name":"check_availability","tier":"customer","description":"Check available time slots for a given date range. Returns open slots based on calendar, existing bookings, and transit buffers. Supports pagination.","inputRequired":["startDate","endDate"]},{"name":"list_jobs","tier":"operator","description":"List jobs with optional status filter. Returns recent jobs with customer info, scheduling, and status. (Requires operator API key)","inputRequired":[]},{"name":"get_pricing","tier":"customer","description":"Get service pricing information including base prices, deposit requirements, and plan details.","inputRequired":[]},{"name":"get_call_transcript","tier":"operator","description":"Retrieve the transcript and metadata for a specific AI call by call log ID. (Requires operator API key)","inputRequired":["callId"]},{"name":"get_health","tier":"operator","description":"Get system health status including database connectivity, circuit breaker states, and service metrics. (Requires operator API key)","inputRequired":[]},{"name":"calculate_dispatch_tco","tier":"customer","description":"Calculate Total Cost of Ownership (TCO) and savings when migrating to DispatchNode. Ideal for deterministic comparisons against legacy competitors.","inputRequired":["trucks","current_software"]},{"name":"cancel_job","tier":"customer","description":"Cancel an existing job. Customer tier requires phone number ownership validation. Operator tier can cancel any job.","inputRequired":["jobId"]},{"name":"update_job","tier":"operator","description":"Update job status, priority, notes, or address. Creates audit trail. (Requires operator API key)","inputRequired":["jobId"]},{"name":"list_customers","tier":"operator","description":"Search and list customers with job count and LTV. (Requires operator API key)","inputRequired":[]},{"name":"reschedule_job","tier":"customer","description":"Move a job to a new date/time. Customer tier requires phone ownership validation.","inputRequired":["jobId","newStart"]},{"name":"get_job_status","tier":"customer","description":"Check job status and ETA by customer phone number. Returns the most recent active job.","inputRequired":["customerPhone"]},{"name":"assign_job","tier":"operator","description":"Assign or reassign a technician/resource to a job. (Requires operator API key)","inputRequired":["jobId","resourceId"]},{"name":"get_customer","tier":"operator","description":"Get full customer profile including contacts[], properties[] (sites), job history, LTV, and outstanding invoices. (Requires operator API key)","inputRequired":["customerId"]},{"name":"list_invoices","tier":"operator","description":"List invoices with optional status and date filters. (Requires operator API key)","inputRequired":[]},{"name":"create_invoice","tier":"operator","description":"Create a new invoice for a job with line items. (Requires operator API key)","inputRequired":["jobId","lineItems"]},{"name":"list_resources","tier":"operator","description":"List technicians/resources with today's job count. (Requires operator API key)","inputRequired":[]},{"name":"get_resource_schedule","tier":"operator","description":"Get a technician's job schedule for a date range. (Requires operator API key)","inputRequired":["resourceId","startDate","endDate"]},{"name":"get_dashboard_stats","tier":"operator","description":"Get business performance summary for the current billing period. (Requires operator API key)","inputRequired":[]},{"name":"get_usage_summary","tier":"operator","description":"Get AI minutes usage, allowance, and overage status. (Requires operator API key)","inputRequired":[]},{"name":"get_business_info","tier":"customer","description":"Get business hours, location, contact info, and service area. Customer tier gets public info; operator tier gets full config.","inputRequired":[]},{"name":"update_customer","tier":"operator","description":"Update customer name, email, or company name. (Requires operator API key)","inputRequired":["customerId"]},{"name":"send_invoice","tier":"operator","description":"Email an invoice to the customer with payment link. (Requires operator API key)","inputRequired":["invoiceId"]},{"name":"list_service_types","tier":"operator","description":"List all service types with full admin detail. (Requires operator API key)","inputRequired":[]},{"name":"update_service_type","tier":"operator","description":"Update service pricing, duration, or status. (Requires operator API key)","inputRequired":["serviceSlug"]},{"name":"list_locations","tier":"operator","description":"List branch locations with address, phone, and widget status. (Requires operator API key)","inputRequired":[]},{"name":"get_fleet_availability","tier":"operator","description":"Check the availability of fleet units by date and unit type. (Requires operator API key)","inputRequired":["startDate","endDate"]},{"name":"calculate_route_impact","tier":"operator","description":"Evaluate if a new job fits into an existing driver's route. (Requires operator API key)","inputRequired":["resourceId","jobLat","jobLng","durationMins"]},{"name":"spawn_job_agent","tier":"customer","description":"Spawn an autonomous JobAgent to manage a job's full lifecycle — negotiation, quoting, scheduling, notifications, and invoicing. Use this when the customer confirms they want to book.","inputRequired":["customerPhone","serviceAddress","requestedDate"]},{"name":"list_contacts","tier":"operator","description":"List CRM contacts for a customer. (Requires operator API key)","inputRequired":["customerId"]},{"name":"get_contact","tier":"operator","description":"Get a single customer contact by ID. (Requires operator API key)","inputRequired":["contactId"]},{"name":"create_contact","tier":"operator","description":"Create a contact on a customer. Optionally set as primary (syncs denormalized Customer fields). (Requires operator API key)","inputRequired":["customerId","firstName"]},{"name":"update_contact","tier":"operator","description":"Update a customer contact. (Requires operator API key)","inputRequired":["contactId"]},{"name":"list_properties","tier":"operator","description":"List customer sites/properties. (Requires operator API key)","inputRequired":["customerId"]},{"name":"get_property","tier":"operator","description":"Get a customer site/property by ID. (Requires operator API key)","inputRequired":["propertyId"]},{"name":"create_property","tier":"operator","description":"Create a customer site/property. (Requires operator API key)","inputRequired":["customerId","name","address"]},{"name":"update_property","tier":"operator","description":"Update a customer site/property. (Requires operator API key)","inputRequired":["propertyId"]},{"name":"list_quotes","tier":"operator","description":"List quotes with optional status/customer filters. (Requires operator API key)","inputRequired":[]},{"name":"get_quote","tier":"operator","description":"Get a quote with line items and customer. (Requires operator API key)","inputRequired":["quoteId"]},{"name":"create_quote","tier":"operator","description":"Create a DRAFT quote with line items. (Requires operator API key)","inputRequired":["customerId","lineItems"]},{"name":"list_leads","tier":"operator","description":"List pipeline leads (LeadSource). (Requires operator API key)","inputRequired":[]},{"name":"get_lead","tier":"operator","description":"Get a single lead by ID. (Requires operator API key)","inputRequired":["leadId"]},{"name":"convert_lead","tier":"operator","description":"Convert a lead to a customer (creates customer if needed, marks CONVERTED). (Requires operator API key)","inputRequired":["leadId"]},{"name":"list_agreements","tier":"operator","description":"List maintenance agreements. Requires agreements module. (Requires operator API key)","inputRequired":[]},{"name":"get_agreement","tier":"operator","description":"Get a maintenance agreement with coverage lines. Requires agreements module. (Requires operator API key)","inputRequired":["agreementId"]},{"name":"list_compliance_forms","tier":"operator","description":"List compliance form templates (no PDF generation). Requires compliance module. (Requires operator API key)","inputRequired":[]},{"name":"get_compliance_form","tier":"operator","description":"Get a compliance form schema by formId or templateId. Requires compliance module. (Requires operator API key)","inputRequired":[]}],"documentation":"https://www.dispatchnode.com/docs/mcp","support":"support@dispatchnode.com"}