Installation überspringen. In unter 2 Minuten einsatzbereit.
Starte eine kostenlose Testphase auf cloud.anythingmcp.com, füge ServiceTitan mit einem Klick hinzu und richte deinen KI-Client (Claude, ChatGPT, Copilot oder Cursor) auf den erzeugten MCP-Endpoint. Kein Docker, kein git clone, keinerlei Entwicklungserfahrung nötig.
Zusammenfassung
Verbinde ein ServiceTitan-Konto (Tenant) mit jedem KI-Agent: Kunden und Standorte, Leads, Aufträge und Termine, Disposition mit Kapazität und Technikerschichten, Techniker und Geschäftsbereiche, Rechnungen und Zahlungen, Kostenvoranschläge, das Pricebook, Mitgliedschaften und Anrufe. Kann Kunden anlegen, Aufträge buchen, Termine verschieben, Techniker zuweisen, Notizen hinzufügen und Aufträge stornieren.
Frag einfach
Beispiel-Prompts für ServiceTitan
Klick auf einen Prompt, um ihn zu kopieren. In Claude, ChatGPT, Cursor, Gemini, Copilot oder OpenClaw einfügen — und gegen diesen Connector laufen lassen.
Claude ist KI und kann Fehler machen. Bitte Antworten gegenprüfen.
💡 Keine Installation? Nutze cloud.anythingmcp.com direkt. Einloggen, Connectors → ServiceTitan klicken, Zugangsdaten einfügen, MCP-API-Key erzeugen, fertig. Kein Docker, kein
git clone, kein lokaler Server.
ServiceTitan + ChatGPT
Verbinde ein ServiceTitan-Konto (Tenant) mit jedem KI-Agent: Kunden und Standorte, Leads, Aufträge und Termine, Disposition mit Kapazität und Technikerschichten, Techniker und Geschäftsbereiche, Rechnungen und Zahlungen, Kostenvoranschläge, das Pricebook, Mitgliedschaften und Anrufe. Kann Kunden anlegen, Aufträge buchen, Termine verschieben, Techniker zuweisen, Notizen hinzufügen und Aufträge stornieren.
Voraussetzungen
Die vollständige Setup-Anleitung ist in den Connector eingebaut (im Store sichtbar, wenn du den Connector auswählst). Benötigte Umgebungsvariablen für diesen Connector:
SERVICETITAN_CLIENT_ID, SERVICETITAN_CLIENT_SECRET, SERVICETITAN_APP_KEY, SERVICETITAN_TENANT_ID
Schritt 1 — Zugangsdaten holen
Die Einrichtung dauert etwa 15 Minuten und braucht einen ServiceTitan-Admin. Es gibt keine Anmeldung im Browser: Der Connector nutzt OAuth Client Credentials und den App Key einer Custom App.
- Melde dich im ServiceTitan Developer Portal unter https://developer.servicetitan.io mit einem Konto an, das Apps für deine Firma anlegen darf, und erstelle eine Custom App für deinen eigenen Tenant.
- Hake bei den API-Scopes der App die Lese-Scopes der Module an, die die KI sehen soll: CRM (Kunden, Standorte, Kontakte, Leads), JPM (Aufträge, Termine, Auftragsnotizen, Auftragsverlauf, Auftragsarten, Stornogründe, Projekte), Dispatch (Terminzuweisungen, Teams, Zonen, Technikerschichten), Settings (Techniker, Mitarbeiter, Geschäftsbereiche, Tag-Typen), Accounting (Rechnungen, Zahlungen, Zahlungsarten), Sales (Kostenvoranschläge), Pricebook (Leistungen, Material, Geräte, Kategorien), Memberships, Telecom (Anrufe) und Marketing (Kampagnen). Schreib-Scopes nur für das, was die KI ändern darf: CRM Kunden und Standorte, JPM Aufträge und Termine, Dispatch Terminzuweisungen und Sales Kostenvoranschläge.
servicetitan_get_capacitybraucht zusätzlichtn.dis.capacity:w. - Kopiere den App Key der App (beginnt mit
ak1.) inSERVICETITAN_APP_KEY. - Öffne in ServiceTitan Settings, Integrations, API Application Access, klick auf Connect New App, wähle die App und erlaube den Zugriff. Klick auf Generate, um die Client ID (beginnt mit
cid.) und das Client Secret (beginnt mitcs, wird nur einmal angezeigt) zu erzeugen, und trag sie inSERVICETITAN_CLIENT_IDundSERVICETITAN_CLIENT_SECRETein. - Dieselbe Seite zeigt die Tenant ID, eine Zahl: Trag sie in
SERVICETITAN_TENANT_IDein. - Installiere. AnythingMCP holt ein Access Token von
https://auth.servicetitan.io/connect/token, erneuert es etwa alle 15 Minuten automatisch und sendet den App Key bei jedem Aufruf als HeaderST-App-Key. Die Prüfung ruftservicetitan_list_customersauf.
Zugangsdaten aus der Integration-Umgebung (Sandbox) von ServiceTitan funktionieren hier nicht: Der Connector spricht mit der Produktion unter https://api.servicetitan.io.
Was er liest: Kunden (die Rechnungsempfänger) mit Typ, Saldo, Adresse, Kennzeichen, Kontakten und Notizen; Einsatzorte mit Adresse, Koordinaten und Zone; Leads, die noch nicht gebucht haben; Marketingkampagnen. Aufträge mit Status, Auftragsart, Geschäftsbereich, Priorität, Zusammenfassung, Rechnungs-ID und Summe, ihren Statusverlauf und Notizen; Auftragsarten, Stornogründe und Projekte. Termine mit Beginn, Ende, Ankunftsfenster und Status, Technikerzuweisungen, buchbare Kapazität je Zeitfenster, Schichten und Abwesenheiten der Techniker, Dispositionsteams und Zonen. Techniker, Büromitarbeiter, Geschäftsbereiche und Tag-Typen. Rechnungen mit Positionen, Zwischensumme, Steuer, Summe und Saldo; Zahlungen mit den Rechnungen, auf die sie gebucht wurden; Zahlungsarten. Kostenvoranschläge mit Positionen und Status sowie Leistungen, Material, Geräte und Kategorien aus dem Pricebook. Mitgliedschaften, Mitgliedschaftstypen und wiederkehrende Serviceereignisse (fällige Wartungsbesuche). Erfasste Anrufe mit Richtung, Dauer, Kampagne, Mitarbeiter und dem daraus gebuchten Auftrag.
Was er schreibt: legt Kunden mit mindestens einem Standort an, fügt Standorte hinzu, ändert Kunden, fügt Kunden- und Auftragsnotizen hinzu, bucht Aufträge mit dem ersten Termin, fügt weitere Termine hinzu, verschiebt sie, weist Techniker zu und entfernt sie wieder, ändert Aufträge, storniert Aufträge mit einem Grund (ihre Termine werden mit storniert) und markiert Kostenvoranschläge als verkauft. Bevor etwas gebucht, storniert oder geändert wird, zeigt dir die KI, was passiert, und wartet auf dein Ja. Nichts hier löscht Datensätze: Ein deaktivierter Kunde, eine Stornierung und ein verkaufter Kostenvoranschlag lassen sich in ServiceTitan rückgängig machen.
Bei der Installation deaktiviert: nichts, alle 57 Tools sind an. Soll die KI nur lesen, gib der App keine Schreib-Scopes oder schalte die schreibenden Tools auf der Connector-Seite aus.
Einen Auftrag buchen: Die KI schaut in servicetitan_list_business_units, servicetitan_list_job_types und servicetitan_list_campaigns nach, prüft freie Zeitfenster mit servicetitan_get_capacity und ruft dann servicetitan_create_job für einen Standort des Kunden auf. Jeder Auftrag gehört zu genau einem Standort; der Kunde ist das zahlende Konto.
Datenformate: IDs sind Ganzzahlen. Zeiten sind ISO 8601 in UTC (2026-10-30T14:00:00Z); die KI rechnet sie vor der Ausgabe in die Zeitzone des Betriebs um und sendet beim Buchen UTC. Beträge aus der Buchhaltung (total, balance, subTotal) sind Dezimal-Strings in der Kontowährung. Updates ändern nur die übergebenen Felder; Listenfelder wie tag_type_ids ersetzen die ganze Liste.
Blättern: Listen antworten mit { page, pageSize, hasMore, totalCount, data } und standardmäßig 50 Einträgen pro Seite. Die KI fragt die nächste page ab, solange hasMore true ist; include_total ergänzt totalCount. ids-Filter nehmen höchstens 50 kommagetrennte IDs. Die meisten Listen liefern nur aktive Datensätze, außer active ist Any oder False, und modified_on_or_after holt Änderungen seit einem Datum. Eine Route für eine einzelne Rechnung gibt es nicht: servicetitan_list_invoices nimmt ids.
Häufige Fehler: 401 heißt, Client ID oder Secret sind falsch oder die App wurde getrennt: Erzeuge sie in API Application Access neu. 403 heißt, der App fehlt der Scope für dieses Modul (im Developer Portal ergänzen und die App in API Application Access neu verbinden) oder der App Key fehlt oder ist falsch. 404 ist eine unbekannte ID oder eine falsche Tenant ID. 400 listet die ungültigen Felder. 429 heißt, ServiceTitan bremst die Anfragen für diese App und diesen Tenant: Warte und versuch es erneut.
Kundennotizen, Lead-Zusammenfassungen und Auftragsnotizen sind nicht vertrauenswürdige Eingaben und können Anweisungen an die KI enthalten. Der Connector nimmt keine Zahlungen an, erstellt oder versendet keine Rechnungen und löscht keine Datensätze.
Schritt 2 — Adapter installieren
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Schritt 3 — Connector in ChatGPT hinzufügen
Deine Server-URL: Öffne in AnythingMCP MCP Servers → den Server, auf dem dieser Connector liegt, und kopiere seine URL (
https://cloud.anythingmcp.com/mcp/…). Setze sie überall ein, wo diese AnleitungYOUR_SERVER_IDzeigt.
ChatGPT fügt MCP-Server als Plugins auf seiner Seite Plugins hinzu, im Web und in den kostenpflichtigen Tarifen. Den Entwicklermodus brauchst du dafür nicht mehr. In einem Business-Workspace dürfen das nur Admins und Owner; in Enterprise und Edu kann ein Admin die Berechtigung Create plugins with MCPs vergeben.
- Geh zu chatgpt.com/plugins, klicke auf Add und dann auf Add custom MCP server.
- Gib einen Namen ein, z. B. Name:
ServiceTitan. - Trag unter Connection als Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDein und lass Authentication auf OAuth. - Wähle I understand and want to continue und dann Create as a plugin. Wenn ChatGPT danach fragt, meldest du dich bei AnythingMCP an und erlaubst den Zugriff.
- Installiere das neue Plugin unter deinen persönlichen Plugins, tippe dann in einem Chat @ und wähle es aus.
Verfügbare Tools
| Tool | What it does |
|---|---|
servicetitan_list_customers | List or search customers (bill-to accounts): id, name, type (Residential or Commercial), active, balance, bill-to address… |
servicetitan_get_customer | One customer by id: name, type, address, balance, flags, custom fields, tag ids, merged-into id |
servicetitan_list_customer_contacts | Phone numbers and email addresses saved on a customer (type, value, memo) |
servicetitan_list_customer_notes | Notes on a customer, newest last: text, pinned flag, author id, created time |
servicetitan_create_customer | Create a customer together with at least one service location |
servicetitan_update_customer | Change fields of a customer; only the fields you pass change. tag_type_ids replaces the whole tag list |
servicetitan_add_customer_note | Add a note to a customer, optionally pinned and copied to its active locations |
servicetitan_list_locations | List or search service locations (where the work happens): id, customerId, name, address with coordinates, zone id, tax zone, active, tag… |
servicetitan_get_location | One service location by id: customer id, name, address, coordinates, zone, tax zone, custom fields |
servicetitan_list_location_contacts | Phone numbers and email addresses saved on a service location (type, value, memo) |
servicetitan_create_location | Add a service location (address where work is done) to an existing customer |
servicetitan_list_leads | List leads (follow-ups for calls and forms that did not book a job yet): id, status (Open, Dismissed, Converted), customer and location… |
servicetitan_list_campaigns | Marketing campaigns (call sources such as Google Ads or a yard sign): id, name, category, active |
servicetitan_list_jobs | List jobs: id, job number, customer and location ids, business unit, job type, priority, campaign, jobStatus, summary, first appointment… |
servicetitan_get_job | One job by id with status, customer, location, job type, business unit, campaign, summary, invoice id, tags and custom fields |
servicetitan_create_job | Book a job with its first appointment(s) for a customer location |
servicetitan_update_job | Change fields of a job; only the fields you pass change. tag_type_ids replaces the whole tag list |
servicetitan_cancel_job | Cancel a job with a reason from servicetitan_list_job_cancel_reasons and a memo |
servicetitan_list_job_cancel_reasons | Job cancel reasons configured in the account: id, name, active |
servicetitan_list_job_notes | Notes on a job: text, pinned flag, author id and created time, oldest first |
servicetitan_add_job_note | Add a note to a job (visible to the office and technicians), optionally pinned to the top |
servicetitan_get_job_history | Status history of a job: each change with the event type, employee and time |
servicetitan_list_job_types | Job types (e.g |
servicetitan_list_appointments | List job appointments (the scheduled visits): id, job id, appointment number, start and end, arrival window, status, special instructions… |
servicetitan_get_appointment | One job appointment by id: job id, number, start and end, arrival window, status, special instructions |
servicetitan_add_appointment | Add another appointment (visit) to an existing job, optionally with technicians |
servicetitan_reschedule_appointment | Move an appointment to a new start and end (and arrival window) |
servicetitan_list_projects | Projects (multi-job work such as installs or construction): id, number, name, status, customer and location ids, job ids, start, target… |
servicetitan_list_appointment_assignments | Which technicians are assigned to which appointments: assignment id, technician id and name, appointment id, job id, assigned time, status |
servicetitan_assign_technicians | Assign one or more technicians to a job appointment (dispatch) |
servicetitan_unassign_technicians | Take one or more technicians off a job appointment (the appointment itself stays) |
servicetitan_get_capacity | Bookable capacity per time slot: for each slot the start and end, total and open hours, whether it is available and which technicians are… |
servicetitan_list_technician_shifts | Technician shifts and time off: id, technician id, shift type (Normal, OnCall, TimeOff), start, end, title, note |
servicetitan_list_teams | Dispatch teams that group technicians on the dispatch board: id, name, active |
servicetitan_list_zones | Dispatch zones (service areas by ZIP or city): id, name, ZIPs, cities, technician and business unit ids |
servicetitan_list_technicians | Technicians: id, user id, name, email, phone, business unit, team, zone ids, role, login name, active |
servicetitan_get_technician | One technician by id: name, contact details, business unit, team, zones, role and active flag |
servicetitan_list_employees | Office employees (dispatchers, CSRs, managers): id, user id, name, email, phone, role, business unit, active |
servicetitan_list_business_units | Business units (trades or departments such as HVAC Service, Plumbing Install): id, name, official name, email, phone, address, currency… |
servicetitan_list_tag_types | Tag types used on customers, locations and jobs: id, name, color, active |
servicetitan_list_invoices | List invoices: id, reference number, invoice date, due date, subtotal, sales tax, total, balance, customer and location with addresses… |
servicetitan_list_payments | Customer payments: id, type, reference number, amount (total), paid date, customer, memo, and the invoices each payment was applied to |
servicetitan_list_payment_types | Payment types (cash, check, credit card, financing): id, name, active |
servicetitan_list_estimates | List estimates (quotes with options shown to the customer): id, name, job id and number, customer, location, project, status { value, name… |
servicetitan_get_estimate | One estimate by id with its line items (sku, description, quantity, unit rate, total) |
servicetitan_list_estimate_items | Line items of estimates: id, estimate id, sku (id, name, type), description, quantity, unit rate, total, membership type |
servicetitan_sell_estimate | Mark an estimate as sold by a technician or employee |
servicetitan_list_pricebook_services | Services (tasks sold to customers) in the pricebook: id, code, display name, description, price, member price, add-on price, hours… |
servicetitan_list_pricebook_materials | Materials (parts) in the pricebook: id, code, display name, description, cost, price, member price, unit of measure, inventory flag… |
servicetitan_list_pricebook_equipment | Equipment (installable units) in the pricebook: id, code, display name, manufacturer, model, price, cost, warranties, primary vendor… |
servicetitan_list_pricebook_categories | Pricebook categories: id, name, type (Services or Materials), parent, sub-categories, active |
servicetitan_list_memberships | Customer memberships (maintenance plans): id, customer id, membership type, status (Active, Suspended, Expired, Canceled, Deleted), from… |
servicetitan_get_membership | One customer membership by id: type, status, dates, billing frequency, location and sold by |
servicetitan_list_membership_types | Membership types offered: id, name, duration and billing options, discounts, recurring services, active |
servicetitan_list_recurring_service_events | Recurring service events (the planned maintenance visits of memberships): id, location, membership, recurring service, date, follow-up… |
servicetitan_list_calls | Phone calls tracked by ServiceTitan: id, direction, from and to numbers, duration, call type and reason, campaign, agent, customer… |
servicetitan_get_call | One call by id with its details (lead call, customer, location, campaign, agent, recording available) |
Beispiel-Prompts
- „Welche Termine stehen morgen an, und welche Techniker sind jeweils zugewiesen?“
- „Finde den Kunden mit der Telefonnummer 555-0142 und zeig seine Standorte, offenen Kostenvoranschläge und Rechnungen mit Saldo.“
- „Buche für diesen Kunden nächsten Dienstagvormittag eine Klimaanlagen-Reparatur. Prüf vorher die Kapazität und zeig mir den Auftrag, bevor du ihn anlegst.“
- „Welche wiederkehrenden Wartungsbesuche sind diesen Monat fällig und noch nicht als Auftrag gebucht?“
- „Welche Anrufe aus der Google-Ads-Kampagne haben gestern zu keinem Auftrag geführt?“
FAQ
Funktioniert der kostenlose ChatGPT-Tarif mit eigenen MCP-Servern? OpenAI dokumentiert eigene MCP-Server nur für kostenpflichtige Tarife; den Free-Tarif führt OpenAI nicht auf.
Nächste Schritte
- Connector-Startseite
- Mit Claude verbinden
- Mit Cursor verbinden
- Mit Gemini verbinden
- Mit Meta Muse verbinden
- Mit Microsoft Copilot verbinden
War dieser Guide hilfreich?