{
  "name": "dispatchnode",
  "version": "2.1.0",
  "protocol": "mcp",
  "protocolVersion": "2025-03-26",
  "description": "DispatchNode MCP Server — 26 AI tools, 4 resources, 4 prompts for field service dispatch. Supports batch JSON-RPC, pagination, and per-org rate limiting.",
  "capabilities": {
    "tools": { "count": 26 },
    "resources": { "count": 4, "uriScheme": "dispatchnode://org/{orgId}/{type}" },
    "prompts": { "count": 4 },
    "batch": { "maxSize": 10 }
  },
  "transport": {
    "type": "http",
    "url": "https://www.dispatchnode.com/api/mcp"
  },
  "authentication": {
    "customer": {
      "type": "slug",
      "header": "X-Org-Slug",
      "description": "Organization slug for customer-tier tools (8 tools: book, cancel, reschedule, status, pricing, availability, TCO, business info)"
    },
    "operator": {
      "type": "bearer",
      "description": "Org-scoped API key (dnk_...) for full access (22 tools including jobs CRUD, CRM, invoicing, resources, analytics)"
    }
  },
  "tools": [
    { "name": "book_job", "tier": "customer", "description": "Book a new service job" },
    { "name": "check_availability", "tier": "customer", "description": "Check available time slots" },
    { "name": "get_pricing", "tier": "customer", "description": "Get service pricing" },
    { "name": "calculate_dispatch_tco", "tier": "customer", "description": "Calculate TCO vs competitors" },
    { "name": "cancel_job", "tier": "customer", "description": "Cancel a booking (phone ownership validated)" },
    { "name": "reschedule_job", "tier": "customer", "description": "Reschedule a booking" },
    { "name": "get_job_status", "tier": "customer", "description": "Check job status by phone" },
    { "name": "get_business_info", "tier": "customer", "description": "Get business hours and info" },
    { "name": "list_jobs", "tier": "operator", "description": "List jobs with status filter" },
    { "name": "get_call_transcript", "tier": "operator", "description": "Get AI call transcript" },
    { "name": "get_health", "tier": "operator", "description": "System health check" },
    { "name": "update_job", "tier": "operator", "description": "Update job status/priority/notes" },
    { "name": "list_customers", "tier": "operator", "description": "Search and list customers" },
    { "name": "assign_job", "tier": "operator", "description": "Assign tech to job" },
    { "name": "get_customer", "tier": "operator", "description": "Full customer profile" },
    { "name": "update_customer", "tier": "operator", "description": "Update customer details" },
    { "name": "list_invoices", "tier": "operator", "description": "List invoices with filters" },
    { "name": "create_invoice", "tier": "operator", "description": "Create invoice for a job" },
    { "name": "send_invoice", "tier": "operator", "description": "Email invoice to customer" },
    { "name": "list_resources", "tier": "operator", "description": "List technicians/resources" },
    { "name": "get_resource_schedule", "tier": "operator", "description": "Get tech schedule" },
    { "name": "get_dashboard_stats", "tier": "operator", "description": "Business performance summary" },
    { "name": "get_usage_summary", "tier": "operator", "description": "AI minutes usage status" },
    { "name": "list_service_types", "tier": "operator", "description": "Service catalog (admin)" },
    { "name": "update_service_type", "tier": "operator", "description": "Update service pricing" },
    { "name": "list_locations", "tier": "operator", "description": "Branch locations list" }
  ]
}
