Skip to main content
Glama
JordanDalton

ServiceTitan MCP Server

by JordanDalton
README.md
# ServiceTitan MCP Server

(Please test)

To build the MCP server, run:

```
npm install && npm run build
```

This will compile the typescript files and produce a build directory plus it will output the json you can copy/paste into your MCP client (Claude Desktop, Windsurf, Cursor, etc.)

If all things go well, this will produce an output similar to this:

```json
{
  "mcpServers": {
    "my-mcp": {
      "command": "node",
      "args": [
        "<thePathToYour>/build/index.js"
      ],
      "env": [
        {
          "SERVICE_TITAN_CLIENT_ID": "<REPLACE>"
        },
        {
          "SERVICE_TITAN_CLIENT_SECRET": "<REPLACE>"
        },
        {
          "SERVICE_TITAN_APP_KEY": "<REPLACE>"
        },
        {
          "SERVICE_TITAN_TENANT_ID": "<REPLACE>"
        }
      ]
    }
  }
}
```

If you have found value in this service please share it on social media. You can tag me [@jordandalton](https://x.com/jordankdalton) on X, or [jdcarnivore](https://www.reddit.com/user/jdcarnivore) on Reddit.

TDQS

D1.4/5.0

Scored across 454 tools

Disambiguation2/5

Many tools have overlapping purposes, such as multiple 'get_list' variants for the same resource (e.g., appointments_getlist vs appointments_get_list) or similar CRUD operations across different resources that could cause confusion. The lack of descriptions exacerbates this ambiguity, making it hard to distinguish between tools like 'activities_controllers_get' and 'activities_controllers_get_list' or 'export_contacts_customers_contacts' vs 'exportcontacts_locationscontacts'.

Naming Consistency2/5

Naming is highly inconsistent, mixing snake_case (e.g., 'appointments_add'), camelCase (e.g., 'Adjustments_UpdateCustomFields'), and variations like 'getlist' vs 'get_list'. There is no predictable pattern across the toolset, with some tools starting with uppercase (e.g., 'ArrivalWindows_Activated') and others with lowercase, leading to a chaotic naming scheme that hinders usability.

Tool Count1/5

With 454 tools, the count is extremely excessive for any MCP server, far beyond the typical well-scoped range of 3-15 tools. This overwhelming number suggests poor tool surface design, likely auto-generated or poorly curated, making it impractical for agents to navigate or use effectively.

Completeness4/5

Despite the excessive tool count, the server appears to cover a broad domain (ServiceTitan's business operations) with extensive CRUD and export operations across resources like appointments, customers, jobs, and invoices. There are no obvious major gaps in functionality, as most entities have create, get, update, and delete tools, but the sheer volume and lack of descriptions make it hard to assess fully.

Maintenance

ActivityInactive
ResponsivenessNo issues