ServiceTitan MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ST_APP_KEY | Yes | The App Key for ServiceTitan API. Provided as 'wj8g1SurukhS4'. | |
| ST_CLIENT_ID | Yes | Your ServiceTitan API client ID (e.g., 'cid.your-client-id') | |
| ST_TENANT_ID | Yes | Your ServiceTitan tenant ID (shown in the top-right corner of any ServiceTitan page) | |
| ST_CLIENT_SECRET | Yes | Your ServiceTitan API client secret (e.g., 'cs1.your-client-secret') |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_customersC | List customers. Optionally filter by name or active status. |
| get_customerC | Get a single customer by ID. |
| list_locationsC | List service locations. Optionally filter by customer. |
| get_locationB | Get a single service location by ID. |
| list_leadsC | List leads/opportunities. Optionally filter by status. |
| list_bookingsC | List bookings. Optionally filter by status (Pending, Scheduled, etc.). |
| list_contactsC | List customer contacts. Optionally filter by customer ID. |
| list_jobsC | List jobs. Filter by status, customer, or date range. status examples: Scheduled, InProgress, Completed, Canceled Date format: YYYY-MM-DD |
| get_jobA | Get full details for a single job by ID. |
| list_appointmentsC | List appointments. Filter by date range (YYYY-MM-DD). |
| list_job_typesB | List all job types configured in ServiceTitan. |
| list_projectsC | List projects. Optionally filter by status. |
| get_projectB | Get a single project by ID. |
| list_invoicesC | List invoices. Filter by job, customer, or creation date. |
| get_invoiceA | Get a single invoice by ID including line items. |
| list_paymentsC | List payments received. |
| list_payment_typesC | List payment types (Cash, Check, Credit Card, etc.). |
| list_inventory_billsC | List AP / inventory bills. |
| list_journal_entriesC | List journal entries. |
| list_payment_termsC | List payment terms (Net 30, Due on Receipt, etc.). |
| list_tax_zonesC | List tax zones. |
| list_estimatesB | List estimates. Filter by job, status (Open, Sold, Dismissed), or sold date. |
| get_estimateA | Get a single estimate by ID with line items. |
| list_appointment_assignmentsC | List dispatch appointment assignments (technician → appointment). |
| list_technician_shiftsC | List technician shift schedules. |
| list_zonesC | List dispatch zones. |
| list_non_job_appointmentsC | List non-job appointments (meetings, training, etc.). |
| list_pricebook_servicesC | List pricebook services (line items techs sell). |
| list_pricebook_materialsC | List pricebook materials. |
| list_pricebook_equipmentD | List pricebook equipment. |
| list_pricebook_categoriesC | List pricebook categories. |
| list_purchase_ordersC | List purchase orders. Optionally filter by status. |
| list_warehousesD | List inventory warehouses. |
| list_inventory_vendorsB | List inventory vendors/suppliers. |
| list_trucksC | List trucks (vehicle inventory). |
| list_membershipsC | List customer memberships. Optionally filter by status (Active, Expired, Canceled). |
| list_membership_typesC | List membership type definitions. |
| list_recurring_servicesC | List recurring services. |
| list_employeesC | List employees. Optionally filter to active only. |
| get_employeeB | Get a single employee by ID. |
| list_techniciansC | List technicians. |
| list_business_unitsC | List business units. |
| list_tag_typesC | List tag types used for categorization. |
| list_user_rolesD | List user roles. |
| list_report_categoriesA | List available report categories. |
| list_reports_in_categoryC | List reports within a specific report category. |
| run_reportB | Run a ServiceTitan report by ID. parameters: JSON string of report parameters, e.g. '{"From":"2024-01-01","To":"2024-12-31"}' |
| list_payrollsC | List payroll runs. |
| list_employee_payrollsC | List employee-level payroll details for a specific payroll run. |
| list_gross_pay_itemsC | List gross pay line items for a payroll run. |
| list_callsC | List phone calls. Filter by date range (YYYY-MM-DD). |
| list_formsC | List form templates. |
| list_form_submissionsD | List form submissions. |
| list_campaignsC | List marketing campaigns. |
| list_campaign_costsC | List marketing campaign costs. |
| list_installed_equipmentC | List installed equipment at customer locations. |
| list_tasksC | List tasks in ServiceTitan task management. |
| list_activitiesC | List timesheet activities. |
| list_activity_categoriesC | List timesheet activity categories (Drive, Job, Break, etc.). |
| servicetitan_api_callA | Make an arbitrary ServiceTitan API call for advanced use. method: GET, POST, PATCH, PUT path: Full path starting with / e.g. /crm/v2/tenant/{tenant_id}/customers Use {tenant_id} as a placeholder — it will be replaced automatically. query_params: JSON string of query parameters body: JSON string for request body (POST/PATCH/PUT) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Voryn-Software/servicetitan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server