ServiceTitan MCP Server
Complete Model Context Protocol (MCP) server for ServiceTitan field service management platform with 108 tools and 15 React apps.
Features
🔧 Tools (108 total)
Jobs Management (8 tools)
servicetitan_list_jobs- List jobs with filtersservicetitan_get_job- Get job detailsservicetitan_create_job- Create new jobservicetitan_update_job- Update job detailsservicetitan_complete_job- Mark job completeservicetitan_cancel_job- Cancel a jobservicetitan_list_job_appointments- List job appointmentsservicetitan_get_job_history- Get job history
Customers Management (9 tools)
servicetitan_list_customers- List customersservicetitan_get_customer- Get customer detailsservicetitan_create_customer- Create new customerservicetitan_update_customer- Update customerservicetitan_deactivate_customer- Deactivate customerservicetitan_get_customer_balance- Get account balanceservicetitan_list_customer_contacts- List customer contactsservicetitan_create_customer_contact- Create contactservicetitan_list_customer_locations- List customer locations
Estimates Management (8 tools)
servicetitan_list_estimates- List estimatesservicetitan_get_estimate- Get estimate detailsservicetitan_create_estimate- Create new estimateservicetitan_update_estimate- Update estimateservicetitan_mark_estimate_sold- Mark estimate as soldservicetitan_dismiss_estimate- Dismiss estimateservicetitan_get_estimate_items- Get estimate line itemsservicetitan_add_estimate_item- Add line item
Invoices & Payments (10 tools)
servicetitan_list_invoices- List invoicesservicetitan_get_invoice- Get invoice detailsservicetitan_create_invoice- Create new invoiceservicetitan_update_invoice- Update invoiceservicetitan_post_invoice- Post invoiceservicetitan_void_invoice- Void invoiceservicetitan_get_invoice_items- Get invoice itemsservicetitan_add_invoice_item- Add invoice itemservicetitan_list_invoice_payments- List paymentsservicetitan_create_payment- Record payment
Dispatching (8 tools)
servicetitan_list_appointments- List appointmentsservicetitan_get_appointment- Get appointment detailsservicetitan_create_appointment- Schedule appointmentservicetitan_update_appointment- Update appointmentservicetitan_assign_technician- Assign technicianservicetitan_cancel_appointment- Cancel appointmentservicetitan_list_dispatch_zones- List dispatch zonesservicetitan_get_dispatch_board- Get dispatch board view
Technicians (8 tools)
servicetitan_list_technicians- List techniciansservicetitan_get_technician- Get technician detailsservicetitan_create_technician- Create technicianservicetitan_update_technician- Update technicianservicetitan_deactivate_technician- Deactivate technicianservicetitan_get_technician_schedule- Get scheduleservicetitan_get_technician_shifts- Get shiftsservicetitan_create_technician_shift- Create shift
Equipment Management (6 tools)
servicetitan_list_equipment- List equipmentservicetitan_get_equipment- Get equipment detailsservicetitan_create_equipment- Register new equipmentservicetitan_update_equipment- Update equipmentservicetitan_deactivate_equipment- Deactivate equipmentservicetitan_get_equipment_history- Get service history
Memberships (7 tools)
servicetitan_list_memberships- List membershipsservicetitan_get_membership- Get membership detailsservicetitan_create_membership- Create membershipservicetitan_cancel_membership- Cancel membershipservicetitan_renew_membership- Renew membershipservicetitan_list_membership_types- List membership typesservicetitan_get_membership_type- Get membership type
Inventory Management (7 tools)
servicetitan_list_inventory_items- List inventory itemsservicetitan_get_inventory_item- Get item detailsservicetitan_create_inventory_item- Create item/SKUservicetitan_update_inventory_item- Update itemservicetitan_deactivate_inventory_item- Deactivate itemservicetitan_get_inventory_levels- Get stock levelsservicetitan_adjust_inventory- Adjust stock
Locations (6 tools)
servicetitan_list_locations- List locationsservicetitan_get_location- Get location detailsservicetitan_create_location- Create service locationservicetitan_update_location- Update locationservicetitan_deactivate_location- Deactivate locationservicetitan_list_location_equipment- List location equipment
Marketing & Leads (10 tools)
servicetitan_list_campaigns- List campaignsservicetitan_get_campaign- Get campaign detailsservicetitan_create_campaign- Create campaignservicetitan_update_campaign- Update campaignservicetitan_list_leads- List leadsservicetitan_get_lead- Get lead detailsservicetitan_create_lead- Create leadservicetitan_convert_lead- Convert lead to customerservicetitan_list_call_tracking- List call trackingservicetitan_get_lead_sources_report- Get lead sources report
Reporting & Analytics (9 tools)
servicetitan_get_revenue_report- Revenue reportservicetitan_get_technician_performance- Technician performanceservicetitan_get_job_costing_report- Job costing reportservicetitan_get_sales_report- Sales reportservicetitan_get_customer_acquisition_report- Customer acquisitionservicetitan_get_ar_aging_report- AR aging reportservicetitan_get_membership_revenue_report- Membership revenueservicetitan_get_job_type_analysis- Job type analysisservicetitan_get_dispatch_metrics- Dispatch metrics
Tags (7 tools)
servicetitan_list_tag_types- List tag typesservicetitan_create_tag_type- Create tag typeservicetitan_add_job_tag- Add job tagservicetitan_remove_job_tag- Remove job tagservicetitan_list_job_tags- List job tagsservicetitan_add_customer_tag- Add customer tagservicetitan_remove_customer_tag- Remove customer tag
Payroll (5 tools)
servicetitan_list_payroll_records- List payroll recordsservicetitan_get_technician_timesheet- Get timesheetservicetitan_get_technician_commissions- Get commissionsservicetitan_get_payroll_summary- Get payroll summaryservicetitan_export_payroll- Export payroll data
🎨 React Apps (15 total)
- Job Board - View and manage all service jobs with filtering
- Job Detail - Complete job information with appointments
- Customer Dashboard - Manage customer accounts and activity
- Customer Detail - Full customer profile with locations and contacts
- Dispatch Board - Daily technician schedules and assignments
- Estimate Builder - Create and track estimates and quotes
- Invoice Dashboard - Manage invoices and track payments
- Technician Schedule - View technician availability and shifts
- Equipment Tracker - Monitor customer equipment and warranties
- Membership Manager - Manage recurring service memberships
- Marketing Dashboard - Track campaigns and lead generation
- Inventory Manager - Track materials and stock levels
- Payroll Overview - Track technician payroll and commissions
- Reporting Dashboard - Financial reports and analytics
- Location Map - Service locations directory
All apps feature:
- 🌑 Dark theme optimized for readability
- 📱 Responsive design
- ⚡ Real-time data via MCP tools
- 🎯 Intuitive filtering and search
Installation
cd /Users/jakeshore/.clawdbot/workspace/mcpengine-repo/servers/servicetitan
npm install
cd src/ui/react-app && npm install && cd ../../..
Configuration
Create a .env file:
SERVICETITAN_CLIENT_ID=your_client_id_here
SERVICETITAN_CLIENT_SECRET=your_client_secret_here
SERVICETITAN_TENANT_ID=your_tenant_id_here
SERVICETITAN_APP_KEY=your_app_key_here
Getting ServiceTitan API Credentials
- Log into your ServiceTitan account
- Go to Settings → Integrations → API Application Management
- Create a new API application
- Copy your Client ID, Client Secret, Tenant ID, and App Key
- Configure OAuth2 scopes as needed
Build
npm run build
This will:
- Compile TypeScript server code
- Build all 15 React apps
- Make the main entry point executable
Usage
As MCP Server
Add to your MCP client configuration:
{
"mcpServers": {
"servicetitan": {
"command": "node",
"args": ["/path/to/servers/servicetitan/dist/main.js"],
"env": {
"SERVICETITAN_CLIENT_ID": "your_client_id",
"SERVICETITAN_CLIENT_SECRET": "your_client_secret",
"SERVICETITAN_TENANT_ID": "your_tenant_id",
"SERVICETITAN_APP_KEY": "your_app_key"
}
}
}
}
Direct Usage
npm start
Development
# Watch TypeScript compilation
npm run watch
# Run in development mode
npm run dev
# Build React apps only
npm run build:apps
Architecture
servicetitan/
├── src/
│ ├── clients/
│ │ └── servicetitan.ts # API client with OAuth2
│ ├── types/
│ │ └── index.ts # TypeScript interfaces
│ ├── tools/ # 14 tool modules
│ │ ├── jobs-tools.ts
│ │ ├── customers-tools.ts
│ │ ├── estimates-tools.ts
│ │ ├── invoices-tools.ts
│ │ ├── dispatching-tools.ts
│ │ ├── technicians-tools.ts
│ │ ├── equipment-tools.ts
│ │ ├── memberships-tools.ts
│ │ ├── inventory-tools.ts
│ │ ├── locations-tools.ts
│ │ ├── marketing-tools.ts
│ │ ├── reporting-tools.ts
│ │ ├── tags-tools.ts
│ │ └── payroll-tools.ts
│ ├── ui/
│ │ └── react-app/ # 15 React applications
│ │ └── src/
│ │ ├── apps/
│ │ ├── components/
│ │ ├── hooks/
│ │ └── styles/
│ ├── server.ts # MCP server setup
│ └── main.ts # Entry point
├── package.json
├── tsconfig.json
└── README.md
API Coverage
This MCP server covers all major ServiceTitan API v2 endpoints:
- ✅ Job Management (JPM)
- ✅ Customer Relationship Management (CRM)
- ✅ Sales & Estimates
- ✅ Accounting & Invoicing
- ✅ Dispatch & Scheduling
- ✅ Technician Management
- ✅ Equipment Tracking
- ✅ Memberships & Recurring Revenue
- ✅ Inventory & Materials
- ✅ Marketing & Lead Generation
- ✅ Reporting & Analytics
- ✅ Payroll & Commissions
- ✅ Settings & Configuration
License
MIT
Author
MCP Engine - BusyBee3333