home / mcp / servicetitan mcp server

ServiceTitan MCP Server

Provides direct access to ServiceTitan data and actions via MCP, including customers, jobs, appointments, technicians, and invoices.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cahlan-servicetitan-mcp": {
      "command": "servicetitan-mcp",
      "args": [],
      "env": {
        "ST_APP_KEY": "YOUR_APP_KEY",
        "ST_CLIENT_ID": "YOUR_CLIENT_ID",
        "ST_TENANT_ID": "YOUR_TENANT_ID",
        "ST_ENVIRONMENT": "production",
        "ST_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
      }
    }
  }
}

You can use this MCP server to give AI assistants direct access to ServiceTitan, enabling you to manage jobs, look up customers, schedule appointments, dispatch technicians, and track invoices from your AI workflows. It acts as a bridge between your AI client and ServiceTitan’s data and actions, streamlining contractor workflows.

How to use

To use this MCP server, connect it to your MCP client by running the server locally or hosting it in your environment, then reference it in your client configuration. Once connected, you can search for customers, view and manage jobs, check invoices, find appointment slots, and assign technicians all through natural language prompts or structured prompts supported by your AI assistant.

How to install

Prerequisites you need on your machine before installation:

      Step by step installation and run flow:

      # 1) Install the package in editable mode
      pip install -e .
      
      # 2) Run the MCP server (command form)
      servicetitan-mcp
      
      # 3) Or run the server directly via Python (module form)
      python -m servicetitan_mcp.server

      Additional information

      Configuration and startup require environment variables for ServiceTitan access. You will typically set these in your environment or in a dedicated .env file used by your process manager. The variables you need are shown in the configuration examples and in the connection setup below.

      Security and access

      The server uses OAuth2 Client Credentials for authentication with ServiceTitan. Your client credentials and application key must be kept secure and not exposed in client-side code. Use a secure secret store or environment management to inject ST_CLIENT_ID, ST_CLIENT_SECRET, ST_APP_KEY, ST_TENANT_ID, and ST_ENVIRONMENT at runtime.

      Notes on environment and usage

      The following environment variables are required to run and used by the server. They should be provided to the MCP server process at startup.

      Available tools

      search_customers

      Search customers by name, phone, email, or address.

      get_customer

      Get full customer details including contacts and service history.

      list_jobs

      List jobs with filters for status, date range, customer, or technician.

      get_job

      Get complete job details including notes and assigned tech.

      create_job

      Create a new job for a customer.

      get_available_appointments

      Find available appointment slots in a date range.

      schedule_appointment

      Schedule or reschedule a job appointment.

      list_technicians

      List active technicians with current status and schedule.

      dispatch_technician

      Assign a technician to a job appointment.

      get_invoice

      Get invoice details with line items and payment status.

      list_unpaid_invoices

      List unpaid/overdue invoices for collections follow-up.