Open Source Developer Tool

    264 read-only tools by default. One MCP connection.

    ServiceTitan MCP v3.0.1 gives compatible AI assistants read-only access to jobs, revenue, technicians, estimates, and more. Its 458-tool full catalog keeps all 194 mutations behind explicit opt-in.

    264
    read-only tools by default across 15 domains
    10
    intelligence tools with business-ready answers
    583
    tests passing across 43 files
    v3.0.1
    stable read-only support under readonly-v1

    The Challenge

    ServiceTitan had the data, but third-party AI assistants still needed a clean connection.

    ServiceTitan already had a REST API and native AI features. What it did not provide was a ready-made MCP connection for third-party assistants. At the time of the build, the community servers we reviewed were limited to basic CRUD with no intelligence layer or response shaping for LLMs.

    Businesses running on ServiceTitan could not ask their AI assistants real questions about operations because the available integrations stopped at raw API calls and developer-centric abstractions.

    Without safety controls, response shaping, and business-aware tooling, even a connected assistant would waste tokens on noisy payloads and struggle to return answers an operator could use.

    What the operation was fighting

    • REST API access without a ready-made MCP connection
    • The community options reviewed had basic CRUD and no business intelligence
    • LLM token budgets were wasted on raw API responses
    • No safety system for read versus write operations

    What We Built

    A hardened MCP server built for real business questions.

    The server combines broad ServiceTitan coverage with intelligence tooling, safety controls, and response shaping that works for LLMs.

    264 read-only tools by default across 15 domains

    Jobs, customers, invoices, estimates, memberships, technicians, dispatch, and more are exposed through one MCP connection. The full catalog contains 458 tools, including 194 experimental mutations hidden by default.

    An intelligence layer with built-in caching

    Revenue reports, business snapshots, technician leaderboards, and pipeline analysis compose multiple API calls into business-ready answers. A 5-minute result cache delivers warm responses in under a second.

    LLM-optimized response shaping

    Every response is trimmed and structured to respect token budgets instead of dumping raw payloads back into the model context.

    Safer operations by default

    The server is read-only by default. Experimental writes appear only when ST_READONLY=false and ST_EXPERIMENTAL_WRITES=true, confirmations can be required separately, and audit logs preserve traceability.

    Three transport modes, 4 commands, and a typed library export

    Stdio supports desktop clients, SSE covers legacy clients, and Streamable HTTP supports remote deployments. Version 3.0.1 requires Node 22+ and ships on npm with provenance and zero-install npx support.

    How We Built It

    A TypeScript server designed around the awkward parts of the ServiceTitan API.

    The implementation had to solve both ServiceTitan's API quirks and the ergonomics required for AI-native tooling.

    The server uses a route table architecture that normalizes ServiceTitan's module-prefix API structure. OAuth 2.0 client credentials handle ServiceTitan auth. Remote transports add constant-time API-key checks, request IDs, configurable CORS, and keepalive support.

    The intelligence layer sits on top of raw access. Instead of mirroring endpoints one-for-one, it composes multiple calls into answers a business owner can use immediately. In one representative production validation, revenue output matched the ServiceTitan Reporting API source used by the dashboard. That check doesn't certify dashboard parity for every company. A result cache delivers warm intelligence queries in under a second.

    Repeated audit passes found and fixed problems across security, data integrity, transport reliability, and documentation. The published npm package is about 319 KB compressed.

    Implementation notes

    • TypeScript with stdio, SSE, and Streamable HTTP transports
    • OAuth 2.0 plus constant-time remote transport authentication
    • Route table architecture for ServiceTitan's module-prefix API
    • npm package: about 319 KB compressed across 154 files
    • 4 command entrypoints plus a typed library export
    • 583 tests across 43 files
    • Published on npm as @rowvyn/servicetitan-mcp v3.0.1 with provenance

    The Result

    One connection between AI assistants and ServiceTitan operations.

    The server turns ServiceTitan's raw API surface into 264 read-only tools that MCP-compatible assistants can query by default.

    The default readonly-v1 surface combines 261 API-backed reads with 3 system tools. Its 10 intelligence tools compose multiple API calls into answers a business owner can act on.

    Version 3.0.1 is published on npm and open-sourced on GitHub with a desktop quickstart, Node 22+ support, and package provenance. The 194 mutations remain opt-in and outside the stable read-only support boundary.

    264
    read-only tools by default across 15 domains
    10
    intelligence tools with business-ready answers
    583
    tests passing across 43 files
    194
    experimental mutations behind explicit opt-in

    Next Step

    Start Your Conversation

    If you need AI to work with your operating data instead of around it, let's talk.