Index
- 概要
- 全体像
- AI×MCPの活用メリット
- ユーザーごとのアクセスと権限の仕組み
- 前提条件
- 手順1: MCPサーバーを有効化する(Salesforce側・管理者)
- 命名は最初に複数前提で決める
- 手順2: 外部クライアントアプリケーションを作成する(Salesforce側・管理者)
- 手順3: コンシューマ鍵を取得する(Salesforce側・管理者)
- 手順4: Claudeにカスタムコネクタを追加する(Claude側・各ユーザー)
- 使ってみる
- AIクライアントから登録・更新もできるようにする
- Cursorから接続する場合
- ChatGPTから接続する場合
- 複数の組織に接続する場合(本番・Sandbox・複数組織)
- セキュリティについて
- よくあるつまずき
- 参考
概要
Claude(Anthropic社のAIアシスタント)やCursorなどのAIクライアントから、お客様のツバイソPSA/IMA(Salesforce組織)のデータを安全に参照できるようになりました。Salesforceが提供する標準のMCPサーバー(ホステッドMCPサーバー)を利用するため、プログラム開発は不要です。一度設定すれば、Claudeに日本語で話しかけるだけで、受注や請求などのデータを一覧化・集計・分析できます。
たとえば次のような依頼ができます。
- 「契約自動更新がオンで、90日以内に契約終了日が来る契約を、解約通知期限が早い順に一覧にしてください」——更新判断の漏れ・解約期限の見落としを防げます
- 「受注残高が残っている案件を金額の大きい順に並べ、請求がどこまで進んでいるかも添えてください」——請求漏れ・回収遅れの点検が一瞬で終わります
- 「取引先ごとの受注金額と売上総利益率を集計して、利益率が低い取引先を指摘してください」——採算の悪い取引にすぐ気づけます
これまでレポートを組んで手作業でまとめていた集計・点検作業を、話しかけるだけで実行できます。結果をそのままExcelファイルや打ち合わせ用の資料に仕立てることもできます。
本記事は ツバイソPSA/IMA(Salesforce組織)が対象です。ツバイソERPのデータは本記事の方法では参照できません。
全体像
接続はOAuth認証で保護され、Claudeが参照できる範囲は接続したユーザー本人のSalesforce権限(オブジェクト権限・項目レベルセキュリティ・共有ルール)に限られます。
AI×MCPの活用メリット
AIが便利なのは、MCPサーバーを使うことで、自分で一切手を動かさなくても、何度もAIに指示を出して、実データに基づいた多様な分析や原因究明、資料作成を完結させられる点にあります。データのエクスポートもコピー&ペーストも不要で、「集計して」「気になる取引先を深掘りして」「原因を調べて」「打ち合わせ資料にまとめて」と対話を重ねるだけで、最後の成果物まで一つの会話の中で仕上がります。
一般的にも、次のようなメリットが知られています。
- 操作方法を知らなくても、膨大な構造化データを活用できる: どこにどんな機能があるのか、どんな項目を持っているのか、どの画面を開けばいいのか——といった操作知識が一切不要で、やりたいことを自然言語で伝えるだけで済みます。ツバイソPSA/IMAのような業務システムは膨大な情報を構造化して持っており、操作方法を覚えれば分かりやすい反面、どうしても複雑さが残ります。MCPサーバーを使えば、その膨大な情報に関連した構造化データを、操作方法を一切知らずに活用できます
- 常に「いまの実データ」で答える: 事前にエクスポートした時点のデータではなく、質問した瞬間のSalesforceのデータで回答します。AIの弱点である「もっともらしい作り話(ハルシネーション)」ではなく、実在するレコードに基づいた回答が得られ、転記ミスやファイルのバージョン違いもなくなります
- 誰でもデータを活用できる: レポート機能の習熟や検索条件の組み立ては不要で、日本語で聞くだけです。これまで「詳しい人に依頼して翌日待つ」だった集計が、その場で誰でもできるようになります
- 深掘り・原因究明が途切れない: 「合計を出す→外れ値に気づく→該当の明細を見る→原因を特定する」という探索の流れを、画面を行き来せず会話のまま進められます
- 仕上げまで一気通貫: 取得した結果をExcel・議事資料・報告文面に整形するところまでAIに任せられ、分析と資料作成の境目がなくなります
- 開発も保守も不要: 従来のシステム連携のような個別開発はゼロです。MCPは業界標準のプロトコルのため、一度組織側を設定すれば Claude・Cursor など対応クライアントのどれからでも使え、特定ツールへの依存(ロックイン)もありません
- 安全性を保ったまま広げられる: 利用者本人の権限の範囲・読み取り専用で動くため、CSVを出力してメールで回す従来の運用よりデータが散らばりません。海外企業の検証では、MCP経由にすることでAIのタスク成功率や処理速度が向上したという報告もあります(Twilio社: 成功率92.3%→100%、処理20%高速化)
ユーザーごとのアクセスと権限の仕組み
設定を始める前に、役割分担を押さえておくと全体が理解しやすくなります。
| 作業 | 誰が行うか | 頻度 |
| 手順1〜3(MCPサーバー有効化・アプリ作成・コンシューマ鍵の取得) | システム管理者 | 組織で1回だけ |
| 手順4(Claudeへのコネクタ追加と接続) | 利用する各ユーザー | ユーザーごとに1回 |
- コンシューマ鍵は組織で1つを全ユーザーが共用します。 鍵は「どのアプリからの接続か」を識別するもので、ユーザーごとに取得する必要はありません。管理者が1回取得し、利用者に配布してください(パスワードのような秘密情報ではありません)
- 参照できるデータは、接続時にログインした本人の権限で決まります。 コンシューマ鍵を管理者が作成しても、管理者の権限が引き継がれることはありません。接続の際に各ユーザーが自分のSalesforceユーザーでログインし、その本人単位でアクセストークンが発行されるためです。Salesforce上で見えないデータはClaudeからも見えません
- 一般ユーザーの利用手順は手順4だけです。 管理者から共有されたコンシューマ鍵を使って自分のClaudeにコネクタを追加し、自分のSalesforceユーザーでログインすれば完了です
- 利用できるユーザーを限定したい場合は、外部クライアントアプリケーションのOAuthポリシーで「管理者が承認したユーザーは事前承認済み」に変更し、権限セットで対象者を指定できます(既定では組織内の全ユーザーが自己承認で接続できます)。なお、各ユーザーには「API の有効化」権限が必要です
前提条件
- Salesforce組織が Enterprise Edition 以上であること(ツバイソPSA/IMAのお客様は通常該当します)
- Salesforceのシステム管理者権限を持つ方が初回設定(手順1〜3)を行うこと
- Claudeのアカウント(無料プランでも利用可能です。無料プランで登録できるカスタムコネクタは1つまで、有料プランは複数登録できます。複数の組織への接続や、参照用・更新用コネクタの併用には複数のコネクタが必要なため、その場合は有料プランをご検討ください)
- 個人プラン利用時のプライバシー設定の確認(重要): Claudeの個人プラン(無料・Pro・Max)では、プライバシー設定「Improve Claude for everyone(モデル改善への利用)」がオンになっていると、会話内容(参照したデータを含む)がAIモデルの学習に利用され、長期間保持されることがあります。業務データを扱う前に、Claudeの 設定 → プライバシー でこの設定をオフにすることを推奨します(オフの場合、会話は学習に利用されません)。Team / Enterprise プランでは既定で学習に利用されません
初回設定は約10分です(反映待ち時間が別途最大30分かかる場合があります)。
手順1: MCPサーバーを有効化する(Salesforce側・管理者)
- Salesforceの設定を開き、クイック検索に「MCP」と入力 →「API カタログ」配下の「MCP サーバー」を選択します
- 「Salesforce サーバー」タブをクリックします(「外部サーバー」タブではありません)
- 一覧から「SObject Reads」を有効(オン)にします
「SObject Reads」は読み取り専用のサーバーです。データの作成・更新・削除はできないため、まずはこれを選ぶことを推奨します。有効化の反映には最大2分かかります。
どの標準MCPサーバーを有効にするか(判断基準)
「Salesforce サーバー」タブには複数の標準サーバーが並んでいます。それぞれの使い道と推奨は次のとおりです。
| サーバー名 | できること | 推奨 |
| sobject-reads | レコードの参照・検索・集計(読み取り専用) | オン(基本)。データ活用はまずこれだけで始める |
| sobject-mutations | レコードの作成・更新(削除は不可)。Chatter投稿もこれで可能 | 登録・更新をAIから行いたい場合のみオン(後述) |
| sobject-all | 参照+作成・更新・削除の全部入り | 原則オフ。削除までAIに開放する必要がある場面はまれ |
| sobject-deletes | レコードの削除のみ | 原則オフ。削除は画面から行うことを推奨 |
| data-cloud-queries | Data 360(旧Data Cloud)へのSQL照会 | Data 360 を契約していなければオフ |
| metadata-experts | 開発者向け。Salesforceメタデータ生成の支援 | 業務利用ではオフ(開発者が使う場合のみ) |
| salesforce-api-context | 開発者向け。Metadata API の仕様情報を提供 | 業務利用ではオフ(開発者が使う場合のみ) |
判断の原則は次の4つです。
- 最小権限で始める: 必要な操作だけのサーバーを有効にします。参照だけなら sobject-reads のみで十分です
- 削除は開放しない: sobject-all / sobject-deletes は誤操作のリスクに見合う場面がほぼありません。削除が必要なときはSalesforceの画面から行います
- サーバーの有効化は組織全体に効きます: 有効にしたサーバーは、接続したどのユーザーからも(本人の権限の範囲で)使えるようになります。利用者を限定したい場合は外部クライアントアプリケーション側のOAuthポリシーで制御します
- AIクライアント側でも二重に絞れます: Claudeのコネクタ設定「ツールの権限」で、ツール単位に「常に許可/確認あり/無効」を設定できます。書き込み系ツールは「確認あり」にしておくと安全です
命名は最初に複数前提で決める
このあと、参照用と更新用、あるいは本番組織と検証環境(Sandbox)のように、用途や組織ごとに設定を複数作ることがあります。後から増えても自分も AI も迷わないよう、名前は最初から区別できる形で付けます。
紛らわしいのは、登場する「名前」が 2 種類あり、それぞれ増え方が違うことです。先に押さえておくと、このあとの手順がすっきり読めます。
| 名前 | どこで付けるか | 1 つ=何の単位か | 参照/更新で分けるか |
| 外部クライアントアプリケーション名 | Salesforce 側(手順2) | 組織 × AIクライアント(Claude / Cursor)ごとに 1 つ | 分けない(同じアプリで参照も更新も使える) |
| コネクタ名 | Claude 側(手順4) | 組織 × サーバー(参照=Reads/更新=Mutations)ごとに 1 つ | 分ける(名前で区別する) |
- まずは「本番組織・参照だけ」で始めれば、作るのはアプリ 1 つ・コネクタ 1 つです。
- あとで「更新もしたい」「検証環境でも試したい」となったら、コネクタを足していきます(アプリは組織ごとに 1 つで足ります)。
手順2: 外部クライアントアプリケーションを作成する(Salesforce側・管理者)
ClaudeからのOAuth接続を受け付ける「窓口」を作成します。設定のクイック検索に「外部クライアント」と入力 →「外部クライアントアプリケーションマネージャー」→「新規外部クライアントアプリケーション」を開き、次のパラメータを入力します。「入力値」をそのまま入力すれば作成できます。
| 入力項目 | 入力値(このまま入力) | 補足 |
| 外部クライアントアプリケーション名 | 下の「命名例」から選ぶ(例: Claude MCP 本番) |
組織 × AIクライアントごとに 1 つ |
| API 参照名 | 下の「命名例」から選ぶ(例: Claude_MCP_Prod) |
半角英数とアンダースコアのみ。アプリ名から自動補完される場合あり |
| 取引先責任者 メール | 管理者のメールアドレス | — |
| 配信状態 | ローカル | 既定のまま |
| OAuth を有効化 | チェックを入れる | 「API (OAuth 設定の有効化)」セクションを展開して操作 |
| コールバック URL | https://claude.ai/api/mcp/auth_callback |
Claude の場合。Cursor は cursor://anysphere.cursor-mcp/oauth/callback
|
| OAuth 範囲(2 つ選択) | 「Salesforce でホストされている MCP サーバーにアクセス (mcp_api)」と「いつでも要求を実行 (refresh_token, offline_access)」 | この 2 つを選ぶ |
| セキュリティ(チェックを入れる・2 つのみ) | 「サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求」と「指名ユーザーの JSON Web トークン (JWT) ベースのアクセストークンを発行」 | 他のチェックはすべて外す |
| セキュリティ(チェックを外す) | 「Web サーバーフローの秘密が必要」「更新トークンフローの秘密が必要」 | 残すと接続が失敗します |
入力したら「作成」をクリックします。作成したアプリケーションが利用可能になるまで最大30分かかります。
1 つのアプリで参照も更新も受けられます。 あとで登録・更新(SObject Mutations)を足すときも、外部クライアントアプリケーションの作り直しは不要です(手順3 のコンシューマ鍵もそのまま使えます)。
外部クライアントアプリケーション名・API 参照名の命名例
アプリは「組織 × AIクライアント」ごとに 1 つです。名前だけで「どの組織の・どのクライアント用か」が分かるように付けます。推奨ルール: {AIクライアント} MCP {環境}。
| 外部クライアントアプリケーション名 | API 参照名 | 接続先組織 | AIクライアント |
Claude MCP 本番 |
Claude_MCP_Prod |
本番組織 | Claude |
Claude MCP 検証 |
Claude_MCP_Sandbox |
Sandbox(検証環境) | Claude |
Cursor MCP 本番 |
Cursor_MCP_Prod |
本番組織 | Cursor |
- まず本番組織で Claude だけを使うなら、作るのは
Claude MCP 本番の 1 つだけです。 - Sandbox や Cursor を使うときは、その組織・そのクライアントでそれぞれ手順1〜3 を実施し、上の表に倣ってアプリを足します(コールバック URL はクライアントごとに異なります)。
手順3: コンシューマ鍵を取得する(Salesforce側・管理者)
- 作成したアプリケーションの管理画面で「設定」タブ →「OAuth 設定」の「コンシューマー鍵と秘密」をクリックします(本人確認コードの入力を求められる場合があります)
- 表示された「コンシューマ鍵」をコピーして控えます(「コンシューマの秘密」は使用しません)
- コンシューマ鍵を、利用する社内ユーザーに共有します
手順4: Claudeにカスタムコネクタを追加する(Claude側・各ユーザー)
Claudeの設定からコネクタを開き、「+」→「カスタムコネクタを追加」を選んで、各項目を入力します。
| 入力項目 | 入力値 | 補足 |
| 名前(コネクタ名) | 下の「命名例」から選ぶ(例: ツバイソ本番_参照) |
組織 × サーバーごとに 1 つ |
| リモートMCPサーバーURL | 下の「命名例」のサーバーURL(例: https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads) |
参照は sobject-reads/更新は sobject-mutations
|
| OAuth Client ID(詳細設定内) | 管理者から共有されたコンシューマ鍵を貼り付け | 同じ組織なら参照用・更新用で同じ鍵 |
| OAuthクライアントシークレット | 空欄のまま | — |
「追加」→ 一覧の「接続」をクリックし、自分が普段お使いのSalesforceユーザーでログインしてアクセスを許可します。接続が完了すると、Claudeのチャットからデータを参照できるようになります。
コネクタ名の命名例
コネクタは「組織 × サーバー(参照/更新)」ごとに 1 つです。参照用と更新用はコネクタが分かれるため、名前だけで「どの組織の・何ができる」コネクタかが分かるように付けます。推奨ルール: {組織がわかる名前}_{参照 または 更新}(環境を分けるなら ツバイソ本番 / ツバイソ検証 のように組織名側に環境を含める)。
| コネクタ名 | 接続先組織 | 使うサーバー | リモートMCPサーバーURL |
ツバイソ本番_参照 |
本番組織 | SObject Reads | https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads |
ツバイソ本番_更新 |
本番組織 | SObject Mutations | https://api.salesforce.com/platform/mcp/v1/platform/sobject-mutations |
ツバイソ検証_参照 |
Sandbox(検証環境) | SObject Reads | https://api.salesforce.com/platform/mcp/v1/sandbox/platform/sobject-reads |
ツバイソ検証_更新 |
Sandbox(検証環境) | SObject Mutations | https://api.salesforce.com/platform/mcp/v1/sandbox/platform/sobject-mutations |
-
まずは
ツバイソ本番_参照の 1 つだけで始めれば、参照専用で誤操作の心配がありません。 - 登録・更新もしたくなったら
ツバイソ本番_更新を足します(次の「AIクライアントから登録・更新もできるようにする」で SObject Mutations の有効化が必要)。 - Sandbox の URL は本番と形式が異なり、
sandbox/が入ります。 - Claude の無料プランで登録できるカスタムコネクタは 1 つまでです。参照用・更新用を併用したり複数組織につなぐ場合は有料プランをご検討ください。
複数のコネクタを並べているときは、依頼の冒頭で「ツバイソ本番_参照 を使ってください」のように使うコネクタを宣言すると取り違えが起きにくくなります(詳しくは「複数の組織に接続する場合」を参照)。
使ってみる
新しいチャットを開き、まず接続を確認します。
- 「Salesforceに接続できているか確認してください」(接続ユーザーの情報が返れば成功です)
続けて、業務でそのまま使える依頼を試してみてください。
- 契約更新の管理: 「契約自動更新がオンで、今後90日以内に契約終了日が来る契約と、その解約通知期限を一覧にしてください」
- 請求・回収の点検: 「受注残高が残っている案件を金額の大きい順に並べ、請求済み金額と未請求残高も表にしてください」
- 与信の監視: 「与信限度額に対して与信残高の割合が高い取引先から順に教えてください」
- 経営数値の把握: 「今期の月別の受注金額の推移を集計してください」「受注金額と売上総利益率を案件ごとに一覧にして、利益率が低いものを指摘してください」
Claudeがオブジェクトの構造を自動で調べてデータを取得し、表や分析の形で回答します。日本語のオブジェクト名(受注、請求、案件 など)で依頼でき、「この結果をExcelにまとめて」と続ければファイル化もできます。
また、回答に出てきたレコードの実データをツバイソPSA/IMAの画面で確かめたいときは、「各レコードのURLも添えてください」と依頼してください。ClaudeがレコードのURLを提示するので、それを開けば該当レコードの画面を直接確認できます。集計結果から気になったデータの確認や、その後の操作にすぐ移れます。
AIクライアントから登録・更新もできるようにする
参照専用の SObject Reads に加えて SObject Mutations サーバーを有効にすると、AIクライアントからレコードの作成・更新ができるようになります。参照して終わりではなく、AIとの対話の流れのままデータの登録・更新まで完結させたい場合に有効化します。
たとえば次のような使い方ができます。
- 会話の中で見つけたレコードの項目を、そのまま更新する(例:「この案件のメモ欄に○○と追記してください」)
- 必要なレコードを新しく登録する
- Chatter のフィードに投稿する(投稿は「フィード項目」レコードの作成として実行されます)
設定は次の 2 ステップです。
- Salesforce側(管理者): 手順1 と同じ画面(設定 → API カタログ → MCP サーバー →「Salesforce サーバー」タブ)で「sobject-mutations」を有効にします。外部クライアントアプリケーションは手順2 で作ったものをそのまま使えます(追加作成は不要)
-
Claude側(各ユーザー): カスタムコネクタをもう 1 つ追加します。手順4 と同じ要領で、コネクタ名を更新用の名前(例:
ツバイソ本番_更新)にし、URL だけhttps://api.salesforce.com/platform/mcp/v1/platform/sobject-mutationsに変えます(OAuth Client ID は手順3 と同じコンシューマ鍵)
補足: 更新用(SObject Mutations)のコネクタは、参照(SOQLクエリ・横断検索)も行えます。 そのため、コネクタを増やさずに更新用 1 つだけで参照も更新もまかなうこともできます(特にClaude無料プランでコネクタを1つしか登録できない場合に便利です)。ただし参照専用の SObject Reads と違い「読み取り専用の安全性」はなくなるため、書き込み系ツールは「確認あり」にしておくのが安全です。また「自分のレコード」「最近見たレコード」「関連レコードの一括取得」などの一部の参照補助ツールは SObject Reads 側にのみあります。
利用上の注意です。
- 作成・更新も接続したユーザー本人の権限の範囲でのみ実行されます
- 誤った登録・更新を防ぐため、Claudeのコネクタ設定「ツールの権限」で作成・更新系ツールを「確認あり」にしておくことを推奨します(実行前に毎回確認画面が出ます)
- 新しい更新の使い方は、まず Sandbox(
ツバイソ検証_更新)で試してから本番で実行すると安全です - 削除はこのサーバーではできません(誤操作防止のため、削除は画面から行う運用を推奨します)
Chatter でメンションを使いたい場合(補足)
SObject Mutations 経由の Chatter 投稿は、本文に「@相手の名前」と書いてもメンション通知は飛びません(Chatterのメンションは内部的に特別な形式で送る必要があり、レコード作成では再現できないためです)。メンション通知が必要な場合は、次のいずれかの方法を取ります。
-
フローを作成してMCPのツールとして公開する(管理者向け・推奨): Salesforceのフローで「Chatter に投稿」アクションを使うと、メッセージ本文に
@[ユーザーID]形式でメンションを含められます。宛先と本文を入力にとるフローを作成し、設定画面右上の「Salesforce MCP サーバーを作成」からカスタムMCPサーバーのツールとして公開すると、AIクライアントから「○○さんにメンション付きで投稿して」が実現できます - 通知は別手段で補う(手軽): 投稿自体はメンションなしで行い、確実に気づいてほしい相手には画面からメンションを付けてコメントするか、普段の連絡手段で知らせます
Cursorから接続する場合
AIコードエディタのCursorからも同じMCPサーバーに接続できます。
-
Salesforce側: 手順2と同様に、Cursor用の外部クライアントアプリケーションを作成します(推奨名:
Cursor MCP)。設定の違いはコールバック URL のみで、次を入力します:cursor://anysphere.cursor-mcp/oauth/callback。OAuth範囲・セキュリティ設定は手順2と同じです。作成後、コンシューマ鍵を取得します -
Cursor側: Settings → Cursor Settings → Tools & MCP → New MCP Server を選択すると
mcp.jsonが開くので、次の内容を記述します(CONSUMER-KEYをCursor用アプリのコンシューマ鍵に置き換えます)
{
"mcpServers": {
"Salesforce": {
"url": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads",
"auth": {
"CLIENT_ID": "CONSUMER-KEY"
}
}
}
}
- 保存するとCursorが接続を開始し、Salesforceのログイン画面が開きます。自分のユーザーでログインして許可すると、Cursorのチャットサイドバーから利用できます
クライアント(Claude / Cursor / その他)ごとにコールバック URL が異なるため、接続するクライアントごとに外部クライアントアプリケーションを1つ作成する運用を推奨します。クライアント単位で接続の停止・監査ができます。
ChatGPTから接続する場合
ChatGPTからも同じMCPサーバーに接続できます。SalesforceはホステッドMCPサーバーの接続先クライアントとしてChatGPT(デベロッパーモード)を公式にサポートしています。
プランによる利用範囲
| 利用したい操作 | 対応プラン |
| 参照(SObject Reads) | Plus / Pro / Business / Enterprise / Edu |
| 登録・更新(SObject Mutations) | Business / Enterprise / Edu |
- 参照専用で使う場合は、個人プラン(Plus / Pro)でも接続できます。
- 登録・更新まで使う場合は Business 以上のプランが必要で、ワークスペース管理者がデベロッパーモードを有効にし、アプリを公開する運用になります。
- ChatGPTのMCPは Web版 で利用します(モバイルアプリは対象外です)。
手順
-
Salesforce側(管理者): 手順2と同様に、ChatGPT用の外部クライアントアプリケーションを作成します(推奨名:
ChatGPT MCP 本番)。OAuth範囲・セキュリティ設定(PKCE要求・JWTベースのアクセストークン発行など)は手順2と同じです。コールバックURLは次の手順でChatGPT側に表示される値を使うため、ChatGPTでURLを確認してから登録します(手順2のアプリ作成と前後しても問題ありません)。作成後、コンシューマ鍵を取得します -
ChatGPT側(Web版): 設定 → アプリ → アプリを作成(Create App) を開きます(左メニューの「アプリ」からも開けます)。Business / Enterprise / Edu では、事前に管理者がデベロッパーモードを有効にしておきます。続いて、名前(区別できる名前。例:
ツバイソ本番_参照)と、下表のサーバーURLを入力します。認証 → 詳細設定(Advanced settings) では、登録方法(Registration Method)を「ユーザー定義のOAuthクライアント」にし、OAuth Client ID に管理者から共有されたコンシューマ鍵を貼り付けます。表示されているコールバックURLをコピーし、手順1で作成したSalesforceの外部クライアントアプリケーションの「コールバックURL」に登録します(ChatGPTのコールバックURLはClaude・Cursorとは異なります)。入力したら 作成(Create) をクリックします -
ChatGPTが手順1のアプリを置いた組織のログイン画面にリダイレクトします。自分が普段お使いのSalesforceユーザーでログインして許可すると、接続が完了します
-
チャットで使うときは、プロンプト入力欄の 「+」ボタンからSalesforceを選択 してから依頼します
サーバーURLは手順4の命名例と同じです。
| 用途 | サーバーURL |
| 参照(本番組織) | https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads |
| 更新(本番組織) | https://api.salesforce.com/platform/mcp/v1/platform/sobject-mutations |
| Sandbox(検証環境) | 本番のURLの platform/ を sandbox/platform/ に置き換え |
接続後の使い方(参照の依頼例、レコードURLの確認、複数組織の使い分けなど)はClaudeの場合と同じです。本記事の「使ってみる」「複数の組織に接続する場合」を参照してください。クライアント(Claude / Cursor / ChatGPT)ごとにコールバックURLが異なるため、接続するクライアントごとに外部クライアントアプリケーションを1つ作成する運用を推奨します。
複数の組織に接続する場合(本番・Sandbox・複数組織)
ここまでの手順は1つの組織への接続を前提にしていますが、本番組織とSandbox(検証環境)、グループ会社ごとの複数のツバイソPSA/IMA組織など、複数の組織に接続して使い分けることもできます。ただし、同時に並べられるコネクタの組み合わせには次の決まりがあります。
仕組み: コネクタは「URLが一意」でなければならない
カスタムコネクタ1件が保持できる接続は1組織だけです(接続時にログインした組織のアクセス権がそのコネクタに紐付くため)。さらに重要な制約として、Claudeは「リモートMCPサーバーURL」が同じコネクタを2つ登録できません(同じURLで2つ目を追加しようとすると「すでに登録済み」というエラーになります)。
そして、どの組織につながるかはURLではなく接続時にログインする組織で決まり、本番組織のサーバーURLはどの本番組織でも同一です(Sandbox/scratchだけ sandbox/ が入ります。組織ごとのMy Domainのアドレスは接続URLには使えません)。このため、同時に並べられるのは「URLが異なるコネクタ」だけになります。
| 区別したい組み合わせ | URLの違い | 同時に登録できるか |
| 参照 と 更新(同じ組織) |
sobject-reads と sobject-mutations で末尾が違う |
できる |
| 本番 と Sandbox(検証) | 本番は .../platform/...、Sandboxは .../sandbox/platform/...
|
できる |
| 本番組織A と 本番組織B(別々の本番組織) | どちらも同一URL | できない |
したがって、1つのClaudeアカウントで同時に並べられるのは、たとえば ツバイソ本番_参照 / ツバイソ本番_更新 / ツバイソ検証_参照 / ツバイソ検証_更新 の4つ(すべてURLが異なる)までです。
本番組織が複数ある場合(グループ会社など)の運用方法:
- 1つのコネクタで切り替える: コネクタを切断し、もう一方の組織でログインし直して再接続します(同時に使えるのは1組織だけ)
- 別のクライアントを使う: 2つ目の本番組織は、別のAIクライアント(Cursor / ChatGPT)や別のClaudeアカウントから接続します
-
一方がSandboxならそのまま併用できます(URLに
sandbox/が入って別物になるため)
なお、外部クライアントアプリケーションとコンシューマ鍵は組織の中に作るものなので、別の組織には別のアプリと鍵が必要です(参照用と更新用は同じ組織なら同じ鍵を使えます)。
コネクタ名の付け方(推奨)
コネクタが複数並ぶと、「Salesforce MCP」のような名前では自分もAIもどの組織につながるのか区別できなくなります。名前だけで「どの組織に・何ができる」コネクタかが分かるように付けるのがコツです。
推奨ルール: {組織がわかる名前}_{参照 または 更新}(環境を分けるなら組織名側に 本番 / 検証 を含める)
| コネクタ名の例 | 接続先 | 使うサーバー |
ツバイソ本番_参照 |
本番組織 | SObject Reads |
ツバイソ本番_更新 |
本番組織 | SObject Mutations |
ツバイソ検証_参照 |
Sandbox(検証環境) | SObject Reads |
ツバイソ検証_更新 |
Sandbox(検証環境) | SObject Mutations |
- 「参照」「更新」を必ず入れてください。 参照用と更新用はコネクタが分かれるため、更新できるコネクタがどれかが名前だけで分かることが誤操作防止になります
- 組織が1社1環境でも、参照用・更新用の2つを使うなら同じルールで命名しておくと、後から組織が増えても困りません
- Salesforce側の外部クライアントアプリケーション名も対で揃えると管理しやすくなります(例: 本番組織に
Claude MCP 本番、SandboxにClaude MCP 検証)
AIへの指示の仕方
複数の組織に接続している状態では、依頼に「どの組織で」を含めるのが基本です。
- チャットの冒頭で使う組織を宣言する: 「この会話では『ツバイソ本番_参照』だけを使ってください」と最初に伝えると、以降の依頼を短く書いても取り違えが起きにくくなります
- 作業前に接続先を確認させる: 「いまどの組織のどのユーザーで接続しているか確認してください」と依頼すると、AIが接続先の組織とユーザーを答えます。大事な作業の前はこの確認から始めることを習慣にしてください
- 更新系は実行前に内容を示させる: レコードの作成・更新を頼むときは「実行する前に、どの組織のどのレコードをどう変更するか先に示してください」と一言添えると、対象組織と内容を確認してから実行できます
- 組織をまたぐ比較もできる: 「本番と検証環境で受注の件数を比べてください」のように、複数のコネクタを同時に使う依頼も可能です
組織の使い分けと運用のコツ
- 日常のデータ活用は「本番_参照」だけで行う: 参照専用コネクタなら誤操作の心配がありません
- 更新系の新しい使い方はSandboxで試してから本番へ: 依頼の書き方や実行結果をSandboxで確かめてから本番で実行すると安全です
- 接続直後に接続先を確認する: ブラウザで別の組織にログインした状態でコネクタを接続すると、ログイン画面が省略されてその組織にそのまま接続されることがあります。コネクタを接続したら、最初のチャットで上記「作業前に接続先を確認させる」の確認をしてください
- 使っていないコネクタは削除・切断しておく: コネクタの数が必要最小限なら、取り違えの余地そのものが減ります
- 複数コネクタの運用には有料プランが必要: Claudeの無料プランで登録できるカスタムコネクタは1つまでです(前提条件参照)
セキュリティについて
- 読み取り専用: 本記事で接続する「SObject Reads」サーバーは参照のみ可能で、データの作成・更新・削除はできません
- ユーザー権限に準拠: Claudeが参照できるデータは、接続したユーザーがSalesforce上で参照できる範囲に限られます
- 接続の解除: Claude側はコネクタの削除、Salesforce側は外部クライアントアプリケーションの無効化またはユーザーのOAuthセッション失効でいつでも遮断できます
- Claude個人プランのプライバシー設定: 前提条件に記載のとおり、無料・Pro・Maxプランでは「Improve Claude for everyone(モデル改善への利用)」をオフにしてから業務データを扱うことを推奨します
- 組織として利用ユーザーを制限したい場合は、外部クライアントアプリケーションのOAuthポリシーで事前承認(権限セットによる制限)を設定できます
よくあるつまずき
| 症状 | 原因と対処 |
| Claudeで「接続」してもエラーになる | 外部クライアントアプリケーションの反映待ち(最大30分)の可能性があります。時間を置いて再試行してください |
| 「Salesforce サーバー」タブに何も表示されない | 組織でMCP機能が有効になっていない可能性があります。Salesforceのサポートに「MCPサービスの有効化」を依頼してください(Enterprise Edition 以上が必要です) |
| 認証画面は出るが許可後にエラーになる | 手順2のセキュリティ設定を確認してください。「秘密が必要」系のチェックが残っていると失敗します。コールバックURLの誤りも同様です |
| 一般ユーザーが接続できない | そのユーザーに「API の有効化」権限があるか、アプリのOAuthポリシーで事前承認が必須になっていないかを確認してください |
| 思ったデータが出てこない | 接続ユーザーの権限で参照できないデータはClaudeからも見えません。Salesforce上で同じデータが見えるか確認してください |
| 意図しない組織に接続された | ブラウザのログイン状態が引き継がれた可能性があります。コネクタを切断し、ブラウザで他の組織からログアウトする(または正しい組織にログインし直す)→ 再接続してください。接続後は「いまどの組織に接続しているか」をAIに確認させてください |
| カスタムコネクタを追加できない | Claude無料プランで既に別のカスタムコネクタを1つ登録済みの場合は追加できません。不要なコネクタを削除するか有料プランをご検討ください |
参考
- Salesforce公式ドキュメント: Hosted MCP Servers
- Salesforce公式ドキュメント: Configure Claude
- Salesforce公式ドキュメント: Configure Cursor
- Claude公式ヘルプ: カスタムコネクタの利用