Claudeクラウドサイン連携の設定方法とできること
クラウドサインの公式Claude向けコネクタは確認できません。それでもWeb APIが一般公開されているため、Claude Codeから直接呼び出す形で契約書の作成・送信・状態確認をつなげられます。
Claudeクラウドサイン連携は公式コネクタが見つからない — Web APIで組む
クラウドサインのWeb API利用ガイドが扱うのはWeb API、Webhook、CORS設定で、Claude向けの連携機能の記載はありません。Claudeのコネクタ一覧(Connectors directory)から選んで使う経路は、確認できた範囲では見つかりませんでした。そのため、公開されているWeb APIをClaude Codeから直接呼ぶ形で組みます。書類の作成、ファイルの添付、宛先の追加、送信、リマインド、送付の取り消し、合意締結証明書の取得までがAPIの操作に含まれます。
この連携で決めること
使えるか
Web APIの対象はスタンダード・コーポレート・ビジネス・エンタープライズの各プランです。管理画面で有効にする作業が先に要ります。
どう呼ぶか
単発の作業ならBashの
curl、繰り返すなら自作のMCPサーバーです。どこまで任せるか
状態確認だけを任せるのか、送信まで任せるのか。ここが安全性を左右します。
クラウドサインの外側にある稟議や社内承認のフローは、この連携の対象外です。
使い始める前に — プランと管理画面の設定
ヘルプの手順は、管理画面の「Web API設定」を開き、「Web API」を「利用する」に変えて保存する、というものです。「利用しない」に戻すとWeb APIもWebhookも使えなくなります。再び「利用する」にすると、各メンバーが以前に設定したCORS Origin URLとWebhookも再び使えます。
Web APIには、本番とは別のサンドボックス環境(ホストはapi-sandbox.cloudsign.jp)が用意できます。利用は営業担当かチャットへの連絡が前提です。データは本番と完全に切り離されており、実際の契約締結には使えません。テンプレート、書類、ユーザーの移行もできません。ClaudeにAPIの呼び方を覚えさせる段階では、こちらで試す運びになります。本番のホストはapi.cloudsign.jpです。
認証の3ステップ — Client IDからBearerトークンまで
アクセストークンを手に入れるまで
- 1
Client IDを発行する
Web APIクライアントIDのページで「新しいクライアントIDを発行する」を押します。アルファベット・数字・ハイフンの36桁で、利用者ごとに別の文字列です。ボタンが無いときは、管理者に発行を依頼します。
- 2
アクセストークンを取得する
https://api.cloudsign.jp/tokenへclient_idをPOSTします。返ってくるJSONのaccess_tokenがトークンで、expires_inは残り秒数です。 - 3
ヘッダーに付けて呼ぶ
以降のリクエストに
Authorization: Bearer {access_token}を付けます。Bearerの後ろは空白1つです。
curl -s -X POST "https://api.cloudsign.jp/token" \
-d "client_id=$CLOUDSIGN_CLIENT_ID" \
| jq -r '.access_token' > .cloudsign-token漏らしてはいけないのは、短命なトークンよりもClient IDのほうです。ヘルプは、Client IDが他者に漏れると成りすましが行われると注意しています。トークンは再発行できても、Client IDが漏れた状態では、それを使って誰でもトークンを取れてしまいます。
APIまわりの数字
トークンの有効期限
1時間
3,600秒。発行から数える
リクエスト上限
800回/分
同一トークン。超えると429を返す
一覧の1ページ
100件
pageパラメータで送る
接続の維持
最大180秒
超えると504を返す
上限の800回を超えると、その後のリクエストはブロックされ、1分の停止期間を挟んで自動で解除されます。180秒を超えた場合、504を返したあともクラウドサイン側の処理は続きます。504でやり直すと、同じ書類を二重に作りかねません。
書類を送るまでの順序 — 状態で使える操作が変わる
書類は下書きから始まり、送信すると先方確認中になります。APIの操作には、下書きの間だけ実行できるものと、先方確認中にだけ実行できるものがあります。
書類の状態と実行できる操作
下書きのとき
PUT /documents/{documentID}:タイトルやノートの変更POSTとDELETEの/files:ファイルの追加・削除POST・PUT・DELETEの/participants:宛先の追加・変更・削除/widgets:入力項目の追加・変更・削除POST /documents/{documentID}:送信
先方確認中のとき
POST /documents/{documentID}:確認中の相手へのリマインドPUT /documents/{documentID}/decline:送付の取り消し
POST /documents/{documentID}は、状態で意味が変わる操作です。下書きなら送信、先方確認中ならリマインドになります。ヘルプの操作一覧には、リマインド専用のエンドポイントがありません。状態を見ずに呼ぶと、送るつもりのない催促メールが飛びます。
ヘルプが例に挙げる基本の流れは、PDFに合意内容が書かれていて入力項目を使わない場合、次の順です。
PDFを送信するまでの呼び出し順
- 1
書類を作る
POST /documents。この時点では中身のない下書きです。 - 2
ファイルを追加する
POST /documents/{documentID}/files。ファイルは末尾に追加されます。 - 3
宛先を追加する
POST /documents/{documentID}/participants。複数の宛先は登録した順に確認依頼が届きます。 - 4
送信する
POST /documents/{documentID}。
入力項目つきのテンプレートを使うなら、POST /documentsのtemplate_idに既存テンプレートのIDを渡します。その後は宛先の変更(PUTでemailとnameが必須)を挟んで送信です。受信者にファイルをアップロードしてもらう設定では、宛先の追加のあとにPOST /documents/{documentID}/attachmentsと入力項目の設定が入ります。
Bashで直接叩く — 状況確認から始める
MCPサーバーを用意しなくても、Claude CodeはBashツールからcurlを実行できます。1回きりの作業や、確認しながら進めたい作業に向いています。
# 書類の一覧を取得(まずレスポンスの形をそのまま見る)
curl -s "https://api.cloudsign.jp/documents?page=1" \
-H "Authorization: Bearer $(cat .cloudsign-token)" \
| jq '.'GET /documentsが返すのは、APIを実行したユーザーが書類の関係者に含まれるものだけです。返却JSONの形はヘルプに載っていないため、最初はjq '.'で実物を確認し、フィールド名を見てから絞り込みを書きます。取得したJSONをClaude Codeに渡せば、締結前のものだけの一覧づくりも頼めます。
連続してAPIを呼ばせるときは、次の2点が効きます。
- レスポンスを受け取ってから次のリクエストを送ります。待たずに送ると、処理が競合して正常に終わらないことがあります
- 書類の作成・更新・削除の直後は、反映に時間がかかることがあります。ヘルプは、次の呼び出しまで数秒から10秒程度の待機を勧めています
「作成した直後に宛先を追加させたら失敗した」という報告を受けたときは、まずこの待機を疑います。
常設のツールにするなら — MCPサーバーを自作する
毎回トークンの受け渡しとエンドポイントの組み立てをClaudeに説明し直すのが手間になったら、認証とAPI呼び出しをまとめた小さなMCPサーバーを作り、claude mcp addで登録します。公式の一覧に無くても、Claudeは任意のリモートMCPサーバーをURLで接続できます。ローカルのstdioサーバーはClaude Codeが起動するプロセスです。サーバーの作り方はMCPサーバー自作ガイド、スコープやスキーマはClaude Code MCP設定ガイドにあります。
v2.1.285のclaudeで、作業用ディレクトリに--scope projectで登録すると、次の.mcp.jsonができました。
claude mcp add --scope project --env CLOUDSIGN_CLIENT_ID=dummy-id \
--transport stdio cloudsign -- node ./cloudsign-mcp-server.js{
"mcpServers": {
"cloudsign": {
"type": "stdio",
"command": "node",
"args": ["./cloudsign-mcp-server.js"],
"env": { "CLOUDSIGN_CLIENT_ID": "dummy-id" }
}
}
}--envで渡した値が、そのまま平文で.mcp.jsonに入ります。プロジェクトスコープのファイルはチームで共有するためのものなので、本物のClient IDを書いたままコミットすると、前節の成りすましの経路になります。チームで使うなら、個人のスコープに登録するか、.mcp.jsonのenvに"CLOUDSIGN_CLIENT_ID": "${CLOUDSIGN_CLIENT_ID}"と書いて、各自の環境変数から展開させる構成にします。
プロジェクトスコープのサーバーは、初回に利用者の承認が要ります。承認前はclaude mcp listに「Pending approval」と出るので、claudeを起動して承認します。
もう1つの実測です。--envの直後にサーバー名を置くと、名前が環境変数として読まれます。--env CLOUDSIGN_CLIENT_ID=dummy-id cloudsign2 -- node ./x.jsは、Invalid environment variable format: cloudsign2で失敗しました。上の例は--transport stdioが間に入っているため通ります。
チームの全員で同じ連携を使う方法は、2通りあります。.mcp.jsonをコミットし、各自が自分のClient IDを環境変数で渡せば、stdioサーバーのままでも共有できます。もう1つは、サーバーを常時稼働のホストに置き、--transport httpで登録し直す構成です。
読み取りだけを任せる設計から始める
契約書は機密性の高い情報です。GET /documentsが返すのは関係者に含まれる書類だけですが、これは一覧取得の説明であり、トークンで実行できる操作全体を絞る仕組みではありません。書き込みの範囲は、MCPサーバー側で決めます。
- 読み取り:
GET /documents、GET /documents/{documentID}、GET /documents/{documentID}/certificate - 下書きの編集:ファイル・宛先・入力項目の追加と変更
- 相手に影響する操作:送信、リマインド、送付の取り消し
最初は1番目だけをツールとして公開し、送信やリマインドは慣れてから足す進め方があります。MCPセキュリティガイドにある「サーバーごとに許可する操作を絞る」考え方が、そのまま当てはまります。
GET /team_documentsは、メンバー全員がやり取りした書類の一覧で、管理者ユーザーだけが実行できます。親展書類を取得するには、親展書類を管理する権限が要ります。読み取り専用のつもりでも、管理者のClient IDを渡すと見える範囲が大きく広がります。
よくあるつまずき
- エンタープライズプランで
/meや/team_documentsが失敗する: この2つはエンタープライズプランでは使えません。キャビネット関連の/cabinetsと/cabinet_documentsは逆に、エンタープライズプランだけです - IPアドレス制限を掛けている: エンタープライズ・ビジネスプランでアクセス制限機能を使っていると、設定したIPアドレス以外からのアクセスはエラーになります。自宅や別のCI環境から試すと弾かれます
- 配下チームの書類が取れない: Web APIは「高度な管理機能」に対応していません。閲覧側チームのAPIで、配下の開示側チームの書類は取得できません
- 日本語のタイトルが化ける: APIはリクエストの文字コードをUTF-8として受け付けます。送信側のエンコーディングを確認します
- 長いセッションで認証エラーになる: 1時間でトークンが切れるためです。再取得の処理を最初から組み込みます
Web APIの仕様は随時更新されます。破壊的な変更(URLやHTTPメソッドの廃止・変更、必須パラメータの追加など)は、事前に登録した技術担当者へ1か月以上前にメールで連絡される、とヘルプにあります。担当者の連絡先を設定していないと、変更に気づけません。
まとめ
導入の入口は、管理画面でWeb APIを有効にし、Client IDを発行するところにあります。そのあとは、読み取りから任せ、送信とリマインドは状態を確認できる設計にしてから足す順が手戻りを減らします。契約状況の確認や催促を業務として回すなら、クラウドサインの契約状況をClaudeで確認・催促する手順にワークフローがあります。
よくある質問
相手方の締結までClaudeに任せられますか
APIの操作一覧にあるのは、書類の作成・送信・リマインド・取り消し・ファイルや宛先の管理・証明書の取得などです。締結する側の操作は載っていません。
無料プランでもWeb APIは使えますか
Web API利用ガイドが対象とするのは、スタンダード・コーポレート・ビジネス・エンタープライズの各プランです。無料プランは対象に書かれていません。