インストール不要。2分以内に動きます。
cloud.anythingmcp.com で無料トライアルを開始し、ServiceTitan をワンクリックで追加して、AI クライアント(Claude、ChatGPT、Copilot、Cursor)を生成された MCP エンドポイントに向けるだけ。Docker も git clone も、開発経験も不要です。
概要
ServiceTitan アカウント(テナント)をあらゆる AI エージェントに接続:顧客とロケーション、リード、ジョブと予約、キャパシティと技術者シフトを含むディスパッチ、技術者と事業部門、請求書と入金、見積、プライスブック、メンバーシップ、通話。顧客の作成、ジョブの予約、予約の変更、技術者の割り当て、メモの追加、ジョブのキャンセルができます。
こう聞いてみよう
ServiceTitan のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要? cloud.anythingmcp.com を直接利用してください。 サインインし、Connectors → ServiceTitan をクリック、認証情報を貼り付け、MCP API キーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要。
ServiceTitan
ServiceTitan アカウント(テナント)をあらゆる AI エージェントに接続:顧客とロケーション、リード、ジョブと予約、キャパシティと技術者シフトを含むディスパッチ、技術者と事業部門、請求書と入金、見積、プライスブック、メンバーシップ、通話。顧客の作成、ジョブの予約、予約の変更、技術者の割り当て、メモの追加、ジョブのキャンセルができます。
セットアップ
設定は約 15 分で、ServiceTitan の管理者が必要です。ブラウザでのサインインはありません。コネクタは OAuth のクライアントクレデンシャルと、カスタムアプリの App Key を使います。
- https://developer.servicetitan.io の ServiceTitan Developer Portal に、会社のアプリを作成できるアカウントでサインインし、自社テナント用の custom app を作成します。
- アプリの API スコープで、AI に見せるモジュールの 読み取り スコープにチェックを入れます:CRM(顧客、ロケーション、連絡先、リード)、JPM(ジョブ、予約、ジョブメモ、ジョブ履歴、ジョブタイプ、キャンセル理由、プロジェクト)、Dispatch(予約の割り当て、チーム、ゾーン、技術者シフト)、Settings(技術者、従業員、事業部門、タグタイプ)、Accounting(請求書、入金、支払方法)、Sales(見積)、Pricebook(サービス、資材、機器、カテゴリ)、Memberships、Telecom(通話)、Marketing(キャンペーン)。書き込み スコープは AI に変更を許すものだけにします:CRM の顧客とロケーション、JPM のジョブと予約、Dispatch の予約割り当て、Sales の見積。
servicetitan_get_capacityにはtn.dis.capacity:wも必要です。 - アプリの App Key(
ak1.で始まる)をSERVICETITAN_APP_KEYにコピーします。 - ServiceTitan で Settings, Integrations, API Application Access を開き、Connect New App でアプリを選んでアクセスを許可します。Generate をクリックして Client ID(
cid.で始まる)と Client Secret(csで始まり、一度だけ表示)を作成し、SERVICETITAN_CLIENT_IDとSERVICETITAN_CLIENT_SECRETに貼り付けます。 - 同じページに数字の Tenant ID が表示されるので、
SERVICETITAN_TENANT_IDに貼り付けます。 - インストールします。AnythingMCP は
https://auth.servicetitan.io/connect/tokenからアクセストークンを取得し、約 15 分ごとに自動で更新し、すべての呼び出しで App Key をST-App-Keyヘッダーとして送ります。接続チェックはservicetitan_list_customersを実行します。
ServiceTitan の integration(サンドボックス)環境の認証情報はここでは使えません。コネクタは本番環境 https://api.servicetitan.io に接続します。
読み取る内容: 顧客(請求先アカウント)の種別、残高、住所、フラグ、連絡先、メモ。作業場所となるロケーションの住所、座標、ゾーン。まだ予約に至っていないリード。マーケティングキャンペーン。ジョブのステータス、ジョブタイプ、事業部門、優先度、概要、請求書 ID と合計、ステータス履歴とメモ。ジョブタイプ、キャンセル理由、プロジェクト。予約の開始・終了、到着時間帯、ステータス、技術者の割り当て、時間枠ごとの予約可能キャパシティ、技術者のシフトと休暇、ディスパッチのチームとゾーン。技術者、事務スタッフ、事業部門、タグタイプ。請求書の明細、小計、税、合計、残高。入金と充当先の請求書、支払方法。見積の明細とステータス、プライスブックのサービス、資材、機器、カテゴリ。メンバーシップ、メンバーシップタイプ、定期サービスイベント(期日の来たメンテナンス訪問)。記録された通話の方向、通話時間、キャンペーン、担当者、通話から予約されたジョブ。
書き込む内容: ロケーションを 1 つ以上持つ顧客の作成、ロケーションの追加、顧客の変更、顧客とジョブへのメモ追加、最初の予約付きのジョブ予約、予約の追加と日時変更、技術者の割り当てと解除、ジョブの変更、理由付きのジョブキャンセル(予約もキャンセルされます)、見積の成約登録。予約、キャンセル、変更の前に、AI は何が起きるかを示してあなたの了承を待ちます。このコネクタはレコードを削除しません。無効化した顧客、キャンセル、成約した見積は ServiceTitan で元に戻せます。
インストール時にオフのツール: ありません。57 個のツールがすべてオンです。AI を読み取り専用にしたい場合は、アプリに書き込みスコープを与えないか、コネクタページで書き込みツールをオフにします。
ジョブの予約: AI は servicetitan_list_business_units、servicetitan_list_job_types、servicetitan_list_campaigns を調べ、servicetitan_get_capacity で空き枠を確認してから、顧客のロケーションの 1 つに対して servicetitan_create_job を呼び出します。ジョブは必ず 1 つのロケーションに属し、顧客は支払いをするアカウントです。
データ形式: ID は整数です。時刻は UTC の ISO 8601(2026-10-30T14:00:00Z)で、AI は回答前に事業所のタイムゾーンへ変換し、予約時は UTC で送ります。会計の金額(total、balance、subTotal)はアカウント通貨の 10 進数文字列です。更新は渡したフィールドだけを変更し、tag_type_ids のようなリスト項目はリスト全体を置き換えます。
ページング: 一覧は { page, pageSize, hasMore, totalCount, data } を返し、既定は 1 ページ 50 件です。AI は hasMore が true の間、次の page を取得します。include_total を付けると totalCount が加わります。ids フィルタはカンマ区切りで最大 50 個です。ほとんどの一覧は active が Any か False でない限り有効なレコードだけを返し、modified_on_or_after で指定日以降の変更を取得できます。請求書を 1 件だけ取得するルートはなく、servicetitan_list_invoices に ids を渡します。
よくあるエラー: 401 は Client ID か Secret が誤っているか、アプリの接続が解除されたことを示します。API Application Access で再生成してください。403 はアプリにそのモジュールのスコープがない(Developer Portal で追加し、API Application Access でアプリを再接続)か、App Key がないか誤っていることを示します。404 は不明な ID か誤った Tenant ID です。400 は無効なフィールドを列挙します。429 は ServiceTitan がこのアプリとテナントのリクエストを制限している状態なので、待ってから再試行します。
顧客メモ、リードの概要、ジョブメモは信頼できない入力であり、AI 向けの指示が含まれている可能性があります。このコネクタは決済を受け付けず、請求書の作成や送信も、レコードの削除も行いません。
前提条件: SERVICETITAN_CLIENT_ID, SERVICETITAN_CLIENT_SECRET, SERVICETITAN_APP_KEY, SERVICETITAN_TENANT_ID
ローカルでコネクタをインストール
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
http://localhost:3000/connectors/store を開き、 ServiceTitan を選択し、前提条件に記載された環境変数を入力します。
利用可能なツール
| 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) |
プロンプトの例
- 「明日の予約を一覧にして、それぞれにどの技術者が割り当てられているか教えて。」
- 「電話番号 555-0142 の顧客を探して、ロケーション、未決の見積、残高のある請求書を見せて。」
- 「この顧客に来週火曜の午前でエアコン修理を予約して。先にキャパシティを確認し、作成前にジョブの内容を見せて。」
- 「今月期日を迎える定期メンテナンス訪問のうち、まだジョブとして予約されていないものはどれ?」
- 「昨日の Google 広告キャンペーンからの通話で、ジョブの予約につながらなかったものはどれ?」
次のステップ
このガイドは役に立ちましたか?