servicetitan-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ST_ENV_FILE | Yes | Path to an environment file (chmod 600) containing ServiceTitan credentials: ST_CLIENT_ID, ST_CLIENT_SECRET, ST_APP_KEY, ST_TENANT_ID, and optionally ST_AUTH_HOST, ST_API_HOST, ST_APP_GUID, ST_EXTERNAL_ID_KEY. |
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 |
|---|---|
| find_customerA | Find a customer by name, phone, or external id — no ServiceTitan id needed. One match returns the full card (contacts, locations, recent jobs); several return a short list to choose from. Email lookup is not supported by ServiceTitan. |
| customer_overviewA | Full card for one customer: contacts, locations, 5 recent jobs, external ids. Needs a ServiceTitan customer id; use find_customer if you only have a name or phone. |
| find_jobsA | List jobs with the next appointment inlined. Dates are ISO (2026-08-01). An invalid status returns the valid list, not an empty result. Not for finding a customer — use find_customer. |
| job_detailA | One job with its appointments and assigned technicians. For several jobs at once — a customer's list, a date range, a status — use find_jobs instead of calling this once per job. |
| customer_moneyA | Balance, estimates, invoices, and payments for one customer, in one response. Use for any "what do they owe" or billing-history question. Needs a customer id; find_customer supplies one. |
| find_by_external_idA | Find a customer by an externalData key/value pair — another system's id. Requires ST_APP_GUID. Use when you hold an id from a CRM synced into ServiceTitan. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| job_types | Every job type on this tenant, id and name. Ids in tool output (e.g. a job's jobTypeId) are resolved against this set before the model ever sees them. |
| business_units | Every business unit on this tenant, id and name. Ids in tool output are resolved against this set before the model ever sees them. |
| payment_types | Every payment type on this tenant, id and name. Ids in tool output (e.g. a payment's typeId) are resolved against this set before the model ever sees them. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/McDonnies/servicetitan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server