Tradify by Cotlet について
Tradify by Cotlet は、Tradify 連携を自分で運用したい技術者向けの Python 製 MCP サーバーと REST API です。ローカルの Chrome セッションで Tradify に接続し、案件、見積もり、請求書、支払い、スケジュールを扱います。
主な機能
- 01案件とステータスの管理
- 02顧客と見積もりの管理
- 03見積もりから請求書を作成
- 04見積もりや請求書をメール送信
- 05請求書の支払いを記録
- 06Scheduler の確認と管理
活用シーン
- 01顧客別に延滞請求書を確認
- 02銀行振込を請求書に記録
- 03電話内容から案件を作成して担当者を予約
- 04承認済み見積もりから前金請求書を作成
MCP 対応
stdio または Streamable HTTP 経由で MCP クライアントに Tradify のツールを公開します。読み取り専用操作と、メール送信やスケジュールなど確認が必要な操作を区別します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://cotlet.dev/mcp/v1/tradify/connectclaude mcp add --transport http dev-cotlet-tradify https://cotlet.dev/mcp/v1/tradify/connect{"mcpServers":{"dev-cotlet-tradify":{"type":"http","url":"https://cotlet.dev/mcp/v1/tradify/connect"}}}Cursor で開く{"servers":{"dev-cotlet-tradify":{"type":"http","url":"https://cotlet.dev/mcp/v1/tradify/connect"}}}VS Code で開く{"mcpServers":{"dev-cotlet-tradify":{"type":"http","url":"https://cotlet.dev/mcp/v1/tradify/connect"}}}{"mcpServers":{"dev-cotlet-tradify":{"serverUrl":"https://cotlet.dev/mcp/v1/tradify/connect"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://cotlet.dev/mcp/v1/tradify/connecthttps://cotlet.dev/mcp/v1/tradify認証が必要ツール
詳細
Tradify API とセルフホスト型 MCP サーバー
自分のコンピューター上で、自分の Google Chrome セッションを使って Python で実行する Tradify API と Tradify MCP サーバー です。Cotlet の本番環境で使用している Tradify ツール全15種類を利用できます。ジョブとジョブのステータス、顧客、明細項目付きの見積書、見積書からの請求書作成、見積書と請求書のメール送信、支払い、スケジューラーに対応しています。
Tradify には公開 API、API キー、ウェブフック、公式 MCP サーバーがありません。会計コネクター(Xero、QuickBooks、Sage)が同期するのは請求書と請求書類であり、ジョブ、見積書、スケジュールではありません。このリポジトリでは、次の機能を利用できます。
- Claude Code、Claude Desktop、Cursor、Codex、および任意の MCP クライアント向けの MCP サーバー。stdio または HTTP 経由で利用できます。セットアップ
http://127.0.0.1:8787/api/v1/tradifyにある REST API。OpenAPI ドキュメントは/docsで確認できます。セットアップ- Python:
call("list_invoices", {"status": "overdue"})と、すぐに使える9つのスクリプトをexamples/に用意しています。
これは、自分で実行したい技術者向けです。非商用利用に限ります(ライセンス)。サーバー上で24時間365日稼働させ、Tradify のウェブアプリが変更されても動作する状態を保ち、チームやビジネスで使用したい場合は、cotlet.dev のホスト版をご利用ください。
git clone https://github.com/cotletdev/tradify-api-mcp-server.git && cd tradify-api-mcp-server
python3 -m venv .venv && . .venv/bin/activate && pip install -e .
tradify-mcp connect # reads your Tradify session from Chrome
tradify-mcp call list_jobs
claude mcp add tradify -- "$PWD/.venv/bin/tradify-mcp" mcp
目次
- 仕組み
- 必要条件
- インストール
- Chrome の接続
- MCP サーバー
- REST API
- Python とサンプルスクリプト
- 全15種類のツール
- 設定
- セキュリティと Tradify アカウント
- エラー
- セルフホスト版またはホスト版
- FAQ
- ライセンス
仕組み
AI agent (MCP) / script (REST, Python) ──▶ tradify-mcp on your computer ──your cookies──▶ go.tradifyhq.com
▲
tradify-mcp connect ──────┘ reads them once from your Chrome (DevTools Protocol)
- いつもどおり、自分の Chrome で go.tradifyhq.com にサインインします。ユーザー名を入力して Continue をクリックし、パスワードを入力します。Keep me logged in にチェックを入れてください。
tradify-mcp connectは Chrome DevTools Protocol を通じてその Chrome に接続し、tradifyhq.com の Cookie を読み取り、~/.config/tradify-api-mcp/session.jsonに保存します。このファイルは、自分のユーザーのみが読み取り可能です。パスワードや2段階認証コードを取得したり、保存したりすることはありません。- 各ツールの呼び出しでは、Tradify のウェブアプリ自体が呼び出す
/apiにリクエストを送信します。リクエストには Cookie を使用し、Chrome の TLS フィンガープリントを複製する curl_cffi を通じて送信します。変更を伴う呼び出しでは、各ツールの実行時に最新の状態を読み取ったアプリの CSRF 対策トークンを使用します。ヘッドレスブラウザーは実行されません。
セッションは SessionId という1つの Cookie に保存されます。Keep me logged in を有効にすると、Tradify はこの Cookie を約1か月間保持します。Tradify からサインアウトされた場合、リモートデバッグを有効にした Chrome が開いていれば、サーバーは Chrome から Cookie を再度読み取ります。
必要条件
- Python 3.11 以降。
- Google Chrome 144 以降。go.tradifyhq.com にサインインしてください。Chrome または Chromium であれば、デバッグポートを使って利用できます。
- macOS、Linux、または Windows。
- Tradify アカウント。このプロジェクトの開発とテストには会社所有者アカウントを使用しています。オフィスユーザーに表示され、実行できる内容は、そのユーザーに Tradify が許可する範囲に限られます。
send_quoteとsend_invoiceを使うには、ログイン時に2段階セキュリティ(Settings > Security)を有効にする必要があります。Tradify は、2段階セキュリティが有効でない場合、見積書と請求書のメール送信をブロックします。
インストール
git clone https://github.com/cotletdev/tradify-api-mcp-server.git
cd tradify-api-mcp-server
python3 -m venv .venv
. .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
tradify-mcp --version
uv を使う場合:uv venv && uv pip install -e . を実行し、その後 uv run tradify-mcp ... を実行します。
AI エージェント(Claude Code、Codex、Cursor)を使ってセットアップしますか?このフォルダーで開き、リポジトリのセットアップを依頼してください。AGENTS.md に手順がすべて記載されており、Chrome で行う操作だけを尋ねます。
更新するには、git pull && pip install -e . を実行します。ホストされている Tradify ツールへの変更はすべて、このリポジトリにコピーしています。
Chrome に接続する
オプション A:普段使っている Chrome(推奨)
-
Chrome で
chrome://inspect/#remote-debuggingを開き、リモートデバッグをオンにします。これにより、Chrome はこのコンピューター上のプログラムからの DevTools 接続を受け付け、接続ごとに確認を求めます。 -
go.tradifyhq.com にサインインしていることを確認します。
-
次を実行します。
tradify-mcp connect -
Chrome に接続を許可するかどうかが表示されたら、許可をクリックします。
Saved 6 Tradify cookies to /Users/you/.config/tradify-api-mcp/session.json
Signed in to Tradify as Dan Novak (Northside Plumbing)
その後、リモートデバッグを再びオフにできます。Tradify からサインアウトした後、新しいセッションをサーバーに自動で検出させたい場合は、オンのままにしてください。
connect は、Chrome のデフォルトのプロファイルフォルダーにある DevToolsActivePort ファイルを探します。Chrome Beta、Canary、またはカスタムのプロファイルフォルダーを使う場合は、--profile-dir "<folder>" を渡してください。
オプション B:デバッグポートを使う Chrome
Chrome はデフォルトのプロファイルでデバッグポートを開かないため、別のプロファイルを起動し、そのプロファイルで一度 Tradify にサインインしてから接続してください。
# macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --remote-debugging-port=9222 --user-data-dir="$HOME/.chrome-tradify"
# Linux
google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.chrome-tradify"
# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%USERPROFILE%\.chrome-tradify"
tradify-mcp connect --cdp http://127.0.0.1:9222
新しいプロファイルは Tradify にとって新しいデバイスとなるため、2-Step Security が有効な場合、サインイン時にコードを求められます。--cdp には ws:// DevTools URL も指定できます。たとえば、SSH トンネル経由で接続した別のマシン上の Chrome の URL を指定できます。
オプション C:Cookie を手動で貼り付ける
Chrome がないサーバーの場合:Chrome で go.tradifyhq.com の DevTools を開き、Application > Cookies > https://go.tradifyhq.com を選択し、SessionId の値をコピーしてから、次を実行します。
tradify-mcp connect --token # paste it, input is hidden
# or, without a session file:
export TRADIFY_AUTH_TOKEN=...
貼り付けた Cookie が Chrome から再読み込みされることはありません。Tradify からサインアウトしたら、新しい Cookie を貼り付けてください。
セッションはいつでも次のように確認できます。
tradify-mcp status
MCP サーバー
MCP サーバーには、各ツールの入力スキーマ、エージェント向けの説明、ヒントが表示されます。読み取りツールには読み取り専用のマークが付いています。また、他の人に連絡するツール(見積もりや請求書のメール送信、Scheduler の予約)には、実行前にクライアントが確認を求めるようマークが付いています。
Claude Code
claude mcp add tradify -- /path/to/tradify-api-mcp-server/.venv/bin/tradify-mcp mcp
# read only:
claude mcp add tradify -- /path/to/tradify-api-mcp-server/.venv/bin/tradify-mcp mcp --read-only
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"tradify": {
"command": "/path/to/tradify-api-mcp-server/.venv/bin/tradify-mcp",
"args": ["mcp"]
}
}
}
Cursor
~/.cursor/mcp.json に、Claude Desktop と同じブロックを追加します。すぐに使えるコピーは mcp.json にあります。
Codex
~/.codex/config.toml:
[mcp_servers.tradify]
command = "/path/to/tradify-api-mcp-server/.venv/bin/tradify-mcp"
args = ["mcp"]
HTTP 経由
tradify-mcp serve は、URL を指定するクライアント向けに、ストリーミング可能な HTTP 経由で http://127.0.0.1:8787/mcp にも MCP を提供します。
tradify-mcp serve
claude mcp add --transport http tradify http://127.0.0.1:8787/mcp
その後、エージェントに次のように依頼します。
Sam Lee の新しい案件を作成してください。住所は 12 Oak St です。給湯器を交換します。木曜日の午前中に約 4 時間、Mike Ross を予約し、Sam に確認メールを送信してください。
メモをもとに、14 Elm Rd の浴室の配線工事の見積もりを作成してください。Standard 請求レートで 6 時間、1 個 24 ドルの LED ダウンライトを 6 個、85 ドルの換気扇を 1 台です。送信前に下書きを見せてください。
今週承認された見積もりすべてについて、30%の着手金請求書を作成してください。500 ドル未満のものと、すでに請求書が発行されているものは除外し、一覧を確認した後に送信してください。
以下に貼り付ける銀行振込を該当する請求書に記録し、未払いの請求書をすべて顧客ごとの合計金額とともに、古い順に一覧表示してください。
REST API
tradify-mcp serve # http://127.0.0.1:8787, MCP at /mcp, docs at /docs
各ツールには /api/v1/tradify 配下に個別のルートがあり、cotlet.dev のホスト型 API と同じパスを使用するため、どちらに対して書いたコードもそのまま動作します。パスの各部分とクエリ文字列が引数となり、JSON ボディで残りの引数を渡します。
curl 'http://127.0.0.1:8787/api/v1/tradify/jobs?status=to_invoice'
curl 'http://127.0.0.1:8787/api/v1/tradify/invoices?status=overdue'
curl 'http://127.0.0.1:8787/api/v1/tradify/appointments?from=2026-10-27&to=2026-10-31'
curl -X POST http://127.0.0.1:8787/api/v1/tradify/invoices/558f2199-6ca6-489e-bfdf-d4d11cd878e3/payments \
-H 'Content-Type: application/json' \
-d '{"amount": 300, "method": "Bank Deposit", "reference": "TRF 20261023"}'
名前で任意のツールを呼び出し、ボディを引数として渡せます。
curl -X POST http://127.0.0.1:8787/api/v1/tradify/tools/list_customers -d '{"search": "lee"}'
GET /api/v1/tradify/tools:各ツールのルート、入力スキーマ、回答の例を一覧表示します。GET /docs:対話型の OpenAPI ドキュメントです。GET /openapi.jsonはスキーマで、n8n、Postman、または生成したクライアントに利用できます。- 回答は JSON 形式です。リストを返すツールは
next_cursorを返すため、次のページではcursorとして渡してください。
サーバーは 127.0.0.1 のみでリッスンします。別のデバイスからアクセスするにはトークンを設定してください。その場合、すべてのリクエストに Authorization: Bearer <token> が必要です。
TRADIFY_MCP_TOKEN=$(openssl rand -hex 24) tradify-mcp serve --host 0.0.0.0
Python とサンプルスクリプト
サーバーを起動せず、Python から直接利用できます。
from tradify_api_mcp import call
from tradify_api_mcp.scripting import paginate, write_rows
overdue = call("list_invoices", {"status": "overdue"})["invoices"]
week = call("list_appointments", {"from": "2026-10-27", "to": "2026-10-31"})["appointments"]
jobs = list(paginate("list_jobs", {"status": "all"}, "jobs"))
write_rows(jobs, "jobs.csv")
call("update_job_status", job_id="d3bd2e39-af25-4cda-9daf-d9f758f8f0e5", status="complete")
または、シェルから 1 つのツールを実行できます:tradify-mcp call list_quotes status=accepted since=2026-10-01。JSON オブジェクトを使うこともできます。
時刻は会社のタイムゾーンでの現地時刻です(Settings > Company)。2026-10-29T08:00 はそのタイムゾーンの午前 8 時を意味します。オフセット付きの時刻は会社のタイムゾーンに変換され、回答には会社のオフセットが含まれます。
すぐに使えるスクリプトは examples/ にあります。各スクリプトは短いリストまたは JSON を出力し、対応している場合は --out file.csv または --out file.json と --help を使用できます。Tradify を変更するスクリプトは、--apply または --send を指定するまで、実行内容の確認のみを行います。
| スクリプト | 機能 |
|---|---|
overdue_invoices.py | 期限超過の請求書をすべて顧客ごとに合計し、古い順に表示します。最後の督促を過ぎた請求書には印を付けます。電話連絡用リストです。 |
record_payments.py | CSV 形式の銀行データから、番号を照合して請求書への入金を記録します。不明またはクローズ済みの請求書、および未払い額を超える入金はスキップします。--apply を指定します。 |
pay_and_close.py | 1 件の請求書への入金を記録し、未払いがなくなった時点で関連するジョブを完了にします。 |
job_from_call.py | 電話をかけてきた顧客を検索または追加してジョブを作成します。--start を指定すると、担当者の当日の予定に重複がないか確認してから予約します。 |
quote_from_notes.py | 作業時間と雑費の明細を記載したテキストファイルから見積書の下書きを作成します。--send を指定するとメールで送信します。 |
deposit_invoices.py | 最近承認され、まだ請求書のないジョブに対して、指定割合の前受金請求書を作成します。--apply と --send を指定できます。 |
tomorrows_schedule.py | 翌日の Scheduler を担当者ごとにまとめ、ジョブ、顧客、チームのメモを表示します。 |
export_jobs.py | ジョブを CSV または JSON に出力します。--status と --search を指定できます。 |
export_customers.py | サイト情報を含むすべての顧客を CSV または JSON に出力します。--archived を指定できます。 |
python examples/overdue_invoices.py
python examples/deposit_invoices.py --percent 30 --minimum 500
python examples/export_jobs.py --status to_invoice --out to_invoice.csv
定期実行する場合、コンピューターの電源が入っている間は、ローカルの cron を利用できます:0 18 * * * cd ~/tradify-api-mcp-server && .venv/bin/python examples/tomorrows_schedule.py。
15 個のツールすべて
ID はリスト系ツールから取得します:list_jobs の job_id、list_customers の customer_id、list_quotes の quote_id、list_invoices の invoice_id を使用します。担当者は Scheduler と同じフルネームで指定します。tradify-mcp tools でこの一覧を表示でき、tradify-mcp tools --json では入力スキーマも表示されます。
ジョブ
| ツール | アクセス | REST ルート | 機能 |
|---|---|---|---|
list_jobs | 読み取り | GET /jobs | ジョブ番号、顧客、サイト住所、ステータス、割り当てられた担当者を含むジョブの一覧です。 |
get_job | 読み取り | GET /jobs/{job_id} | ジョブの詳細です。説明、サイト、タスク、メモ、予約、費用、関連する見積書と請求書を含みます。 |
create_job | 書き込み | POST /customers/{customer_id}/jobs | 顧客の新しいジョブを作成します。ステータスは「未割り当て」で開始します。 |
update_job_status | 書き込み | PATCH /jobs/{job_id}/status | 組み込みまたは独自のステータスをジョブに設定します。 |
顧客
| ツール | アクセス | REST ルート | 内容 |
|---|---|---|---|
list_customers | 読み取り | GET /customers | 連絡先と拠点を含む顧客プロフィールを取得します。 |
create_customer | 書き込み | POST /customers | 連絡先と住所を任意で指定して、新しい顧客プロフィールを作成します。 |
見積もり
| ツール | アクセス | REST ルート | 内容 |
|---|---|---|---|
list_quotes | 読み取り | GET /quotes | 顧客、合計金額、見積日、有効期限、ステータスを含む見積もりを取得します。 |
create_quote | 書き込み | POST /customers/{customer_id}/quotes | 明細付きの見積もり案を作成します。send_quote を呼び出すまで送信されません。 |
send_quote | 書き込み | POST /quotes/{quote_id}/send | 見積もりを承認し、オンラインで承諾または辞退できるリンクを添えて顧客にメールで送信します。 |
請求書と支払い
| ツール | アクセス | REST ルート | 内容 |
|---|---|---|---|
list_invoices | 読み取り | GET /invoices | 顧客、作業、支払期限、合計金額、支払い済み金額、未払い金額を含む請求書を取得します。 |
create_invoice_from_quote | 書き込み | POST /quotes/{quote_id}/invoices | 承認済みまたは承諾済みの見積もりから、全額または一部の請求書案を作成します。 |
send_invoice | 書き込み | POST /invoices/{invoice_id}/send | 請求書を承認して顧客にメールで送信します。支払いリマインダーが有効な場合は、リマインダーも送信されます。 |
record_payment | 書き込み | POST /invoices/{invoice_id}/payments | 請求書に対して受け取った支払いを記録し、未払い金額を減らします。 |
スケジューラー
| ツール | アクセス | REST ルート | 内容 |
|---|---|---|---|
list_appointments | 読み取り | GET /appointments | 日付範囲内のスケジューラーの予定を、担当スタッフ、作業、時間、メモとともに取得します。 |
schedule_appointment | 書き込み | POST /jobs/{job_id}/appointments | スタッフの作業予定をスケジューラーに登録し、任意で確認メールを顧客に送信します。 |
send_quote と send_invoice は顧客にメールを送信します。schedule_appointment は各スタッフに Tradify の「予定が登録されました」という通知を送信し、email_customer を指定した場合にのみ顧客にもメールを送信します。それ以外の書き込みツールは Tradify 内で処理されます。create_quote と create_invoice_from_quote で作成した下書きは誰にも送信されません。record_payment は、未払い金額を超える支払いと下書きの請求書を受け付けません。見積もりの一部請求(percentage、fixed_amount、line_items)には、進捗請求に対応したプランが必要です。Tradify では Pro として提供されています。
このバージョンでは未対応:価格表の項目、キット、見積もりオプション(見積もりでは雑費と作業時間の明細を使用)、見積もりの明細の読み取り、見積もり・請求書・顧客の編集または削除、予定の変更またはキャンセル、スタッフ一覧、タイムシート、原価計算、請求書、発注書、問い合わせ、定期作業、フォーム。
意図的に実装していない機能:Tradify へのサインイン、パスワード、2 段階セキュリティ、Tradify のプランと請求。すべてのリクエストは、ウェブアプリのサインインとアカウントのパスへの変更を拒否するガードを通過します。
設定
| 変数 | デフォルト | 内容 |
|---|---|---|
TRADIFY_MCP_HOME | ~/.config/tradify-api-mcp | session.json の保存フォルダーです。 |
TRADIFY_AUTH_TOKEN | session.json の代わりに使用する SessionId クッキーの値です。 | |
TRADIFY_PROXY | Tradify へのすべてのリクエストに使用するプロキシです。例:http://user:pass@host:port。 | |
TRADIFY_MCP_READ_ONLY | 1 を指定すると、Tradify を変更するすべてのツールを非表示にし、使用を拒否します(--read-only と同じです)。 | |
TRADIFY_MCP_TOKEN | serve に必要なベアラートークンです。127.0.0.1 以外でリッスンする場合に必要です。 | |
TRADIFY_MCP_HOST, TRADIFY_MCP_PORT | 127.0.0.1, 8787 | serve のアドレスです。 |
Tradify アカウントのセキュリティ
- パスワードがこのコードに渡ることはありません。 Chrome にすでに保存されている Cookie のうち、tradifyhq.com のものだけを読み取ります。
- セッションファイルはご自身で管理してください。
session.jsonはモード 0600 で作成されます。このファイルを持っている人は、Tradify であなたになりすまして操作できるため、git や共有フォルダーに置かないでください。 - デフォルトではローカルで動作します。
serveは127.0.0.1にバインドし、TRADIFY_MCP_TOKENが設定されていない場合は別のアドレスでの起動を拒否します。 - tradifyhq.com のみ。 tradifyhq.com 以外へのリクエストやリダイレクトは拒否されます。
- 読み取り専用モード。
--read-onlyまたはTRADIFY_MCP_READ_ONLY=1を指定すると、読み取り用の 6 つのツールのみが公開されます。 - 一部の操作は実際の相手に届きます。 送信した見積書や請求書は顧客の受信トレイに届き、Tradify 上では削除できず、取り消すことしかできません。MCP クライアントはこれらのツールを実行する前に確認を求めますが、スクリプトは確認しません。そのため、まず自分のメールアドレスを使って顧客に送信して試してください。
エラー
REST API は {"error": "<code>", "message": "..."} を返します。MCP サーバーは同じコードとメッセージをツールエラーとして返します。
| ステータス | コード | 対処方法 |
|---|---|---|
| 401 | auth_required, auth_expired | セッションがないか、Tradify からサインアウトされています。Chrome で go.tradifyhq.com にサインインしてから、tradify-mcp connect を実行してください。 |
| 403 | app_permission_denied | このログインでは Tradify が操作を許可していません。send_quote と send_invoice の場合は、まず 2-Step Security を設定してください。 |
| 403 | scope_denied | サーバーが読み取り専用で実行されているか、リクエストによって Tradify へのサインイン状態が変更される可能性があります。 |
| 403 | target_blocked | Tradify がリクエストを拒否したか、ボット確認画面が表示されました。Chrome でウェブアプリを一度開いてから、再試行してください。 |
| 409 | captcha_required | Tradify が CAPTCHA を要求しています。Chrome で解決してください。 |
| 422 | invalid_input | 引数が不足しているか、正しくありません。メッセージに該当する引数が示されています。 |
| 429 | rate_limited | Tradify がアカウントを制限しています。数分待ってください。 |
| 502 | target_error | Tradify がエラーを返しました(メッセージがある場合は、Tradify 自身のメッセージが message に含まれます)。または、ウェブアプリが変更されています。ツールの最新バージョンが修正済みの場合は git pull を実行するか、issue を作成してください。 |
セルフホスト版とホスト版
| このリポジトリ | Cotlet、ホスト版 | |
|---|---|---|
| ツール | 同じ 15 個 | 同じ 15 個 |
| 実行場所 | 起動中のご自身のコンピューター | クラウド、24 時間 365 日 |
| Tradify セッション | Chrome のセッションをローカルファイルに保存 | EU 内の専用 Cloud Browser。プロファイルは AES-256-GCM で暗号化 |
| Tradify のウェブアプリが変更された場合 | 修正後に git pull を 1 回実行 | こちらで修正し、すべてのツールを毎日テスト |
| 承認 | MCP クライアントが呼び出しごとに確認 | 見積書・請求書のメール送信と Scheduler の予約は承認待ちになり、ツールごとに切り替え可能 |
| 対応対象 | お使いのコンピューター上の MCP クライアント、ローカルスクリプト | Claude.ai と ChatGPT のコネクター、n8n、Make、Zapier、任意の HTTP クライアント |
| 利用できるユーザー | 非営利目的で利用する個人 | チーム、企業、代理店 |
| 料金 | 無料 | クレジットカード不要、2,000 クレジット付きの 7 日間無料トライアル。その後は 5,000 クレジット $29 からの買い切りパック |
ホスト版では、成功した呼び出しは 10 クレジットを消費し、失敗した呼び出しは無料です。また、エージェント向けのアプリが有効な間、Cloud Browser は 1 日あたり 50 クレジットを消費します。料金の詳細。
よくある質問
Tradify には公式 API がありますか? いいえ。Tradify は API、開発者向けドキュメント、Webhook を公開していません(2026 年 10 月 11 日確認)。他のツールとは、組み込みの連携機能(QuickBooks、Xero、Sage、Stripe、Google Calendar)を通じて接続します。詳細はこちらをご覧ください:cotlet.dev/integrations/tradify-api-mcp-server。
Claude、ChatGPT、Cursor 用の Tradify MCP サーバーはありますか?
はい。この MCP サーバーはお使いのマシン上で動作します。Claude Code、Claude Desktop、Cursor、Codex では tradify-mcp mcp を使います。ChatGPT と Claude.ai のコネクターには公開 HTTPS URL が必要です。ホスト型 Tradify MCP サーバーを使えば、その URL を利用できます。
Tradify のジョブや請求書を別のツールに取り込めますか?
はい。python examples/export_jobs.py --status all --out jobs.csv と python examples/overdue_invoices.py --out overdue.csv を実行すると CSV に出力されます。また、REST API は同じ一覧を JSON として n8n や任意の HTTP クライアントに提供します。
send_quote が app_permission_denied で停止するのはなぜですか?
Tradify では、ログインで 2-Step Security が有効になるまで、見積書や請求書のメール送信がブロックされます。Tradify の Settings > Security で携帯電話番号を使って設定し、再度実行してください。このツールは承認処理を行う前に停止するため、見積書や請求書は下書きのままです。
必要な Tradify のプランはどれですか? 各ツールでできることは、Tradify のプランで許可されている範囲に限られます。見積書から分割請求書を作成するには、Tradify が Pro として提供している進捗請求機能が必要です。無料の Tradify Connect プランでは Scheduler だけが動作します。
米国以外でも使えますか? はい。Tradify はすべての国で共通のウェブアプリを提供しており、ツールはそこから会社のタイムゾーンと税率を読み取ります。
Chrome が必要なのはなぜですか? パスワードや 2-Step コードを使わずに Tradify のセッションを読み取るためです。Chrome を使うのはログインごとに一度だけで、呼び出しのたびに使うわけではありません。
Tradify からサインアウトされた場合はどうなりますか?
呼び出しは auth_expired で失敗します。Chrome のリモートデバッグが有効になっている場合、次の呼び出し時にサーバーが新しいセッションを読み取ります(Chrome が確認を求めたら「許可」をクリックしてください)。そうでない場合は、tradify-mcp connect をもう一度実行してください。
VPS や Docker で実行できますか?
技術的には可能です。Cookie を貼り付けるか、お使いのコンピューターから session.json をコピーしてください。ただし、その場合 Tradify にはデータセンターの IP アドレスからのセッションとして認識されるため、本人の操作には見えにくくなります。常時稼働させる場合は、ホスト版を使うと、固定 IP の専用 Cloud Browser にセッションを保持できます。
Tradify アカウントが停止されることはありますか? リクエストには Chrome のフィンガープリントが付与され、ユーザーがクリックするのと同じように一件ずつ送信されます。プラットフォームが決して措置を取らないと保証することはできません。普段どおりの使い方をしてください。
自分の業務やクライアントのために使えますか? いいえ。ライセンスで許可されているのは非商用利用のみで、自分の事業での利用も業務利用に該当します。業務、チーム、クライアント案件には、Cotlet を利用するか、[email protected] までお問い合わせください。
コードを好きな用途に使えますか? いいえ。ソースコードは公開されていますが、ライセンスで許可されているのは非商用利用のみです。業務利用はできません。
ツールが動かなくなった場合や、別のツールが必要な場合。 ツール名とエラーメッセージを添えて、イシューを登録してください。
ライセンス
PolyForm Noncommercial License 1.0.0。要約:
- 許可される利用: 非商用利用。個人が自身の Tradify アカウントを使って個人的な目的で利用する場合、または慈善団体、学校、公的研究機関、政府機関による利用。コードの変更、および同じライセンスでの共有。
- 許可されない利用: 自分の事業を含むあらゆる商用利用、クライアント案件、コードやコードを基にしたサービスの販売・提供。
Cotlet(@cotletdev)が保守しています。Tradify はその所有者の商標です。このプロジェクトは非公式であり、Tradify との提携、推奨、後援を受けていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。