ClaudeとSalesforceを連携する方法
SalesforceのHosted MCP ServersでClaudeとSalesforceを連携する手順を解説。有効化からExternal Client App作成、Claude側の接続設定まで扱います。
Salesforce Hosted MCP ServersでClaudeとSalesforceを連携する
SalesforceはHosted MCP Serversという機能で、ClaudeをはじめとするAIクライアントをSalesforceの標準機能として直接接続できるようにしています。Model Context Protocol(MCP)の公開仕様に沿っているため、ClaudeのほかChatGPTやCursorといった他のMCP対応クライアントも同じ仕組みで接続できます。
連携経路はディレクトリからのワンクリックではありません。Salesforce管理者がMCPサーバーを有効化し、外部クライアント用のOAuthアプリを登録し、Claude側でカスタムコネクタとして手動追加する三段階です。手間はかかりますが、ユーザーごとの既存の権限やシェアリングルールをそのままエージェントの操作範囲に反映できる点が最大の利点です。誰か一人の管理者アカウントに権限を集約するのではなく、接続したユーザー本人の権限でSalesforceのレコードを読み書きします。
連携前に確認する前提条件
MCPサーバーの有効化にはSystem Administrator相当の権限が要ります。営業担当者が自分のアカウントだけでSalesforce側の設定を完了することはできません。まず社内のSalesforce管理者に連携の許可を取り、どのオブジェクトへの読み書きを許可するかを決めておきます。
External Client AppはSalesforceのSetup画面で作成しますが、Connected Appsは使えません。MCPクライアントの登録先は必ずExternal Client App Managerです。Salesforce公式ドキュメントも「Connected Appsはサポート対象外」と明記しています。スクラッチ組織ではSetup UIから直接External Client Appを作れないため、開発者ハブ組織で作成してパッケージ経由でインストールする必要があります。
SalesforceでMCPサーバーを有効化する
MCPサーバーは既定で無効です。有効化しない限り、あとの設定を正しく終えてもClaudeは接続できません。
- SetupのQuick Findボックスで「MCP Servers」と入力し、API Catalog配下の「MCP Servers」を開きます
- 利用可能なサーバーの一覧を確認します
- チームが使うサーバーだけをトグルでオンにします
有効化してからサーバーが実際に使えるようになるまで、最大2分のタイムラグがあります。ここで焦って次の手順に進むと、設定は正しいのに「サーバーが見つからない」というエラーに遭遇します。
External Client Appを作成してOAuth認証を設定する
MCPクライアントをSalesforceに登録する本体の作業です。Setupから「external client」で検索し、External Client App Managerを開いて新規作成します。
基本情報を入力したら、API(Enable OAuth Settings)セクションでOAuthを有効にし、コールバックURLにClaude用の値を入力します。
https://claude.ai/api/mcp/auth_callbackOAuth Scopesには「Access MCP servers」(mcp_api)と「Perform requests at any time」(refresh_token)を含めます。Securityセクションでは「Issue JSON Web Token(JWT)-based access tokens for named users」を選び、それ以外のオプションはSalesforceサポートへの問い合わせが不要な範囲でオフにしておきます。
作成後、External Client Appが実際に使えるようになるまで最大30分かかります。新しいドメインをDNSに登録したときの伝播待ちに近い遅延です。設定画面のConsumer Key and Secretから、あとでClaude側に入力するコンシューマーキーを控えておきます。
Claude側でカスタムコネクタを追加して接続する
Salesforceの準備が整ったら、Claudeの管理画面に戻ります。
- サイドバーの「Customize」を開きます
- 「Connectors」から「+」をクリックします
- 「Add custom connector」を選びます
- コネクタの名前と説明(任意)を入力します
- サーバーURLを入力します。本番組織なら
https://api.salesforce.com/platform/mcp/v1/<SERVER-NAME>、サンドボックスやスクラッチ組織ならhttps://api.salesforce.com/platform/mcp/v1/sandbox/<SERVER-NAME>の形式です - 「Advanced settings」でOAuth Client IDに、External Client Appから控えたコンシューマーキーを貼り付けて「Add」をクリックします
作成したコネクタの「Connect」をクリックすると、External Client Appを作成したSalesforce組織へリダイレクトします。すでにログイン済みならユーザー認証はスキップされ、アクセストークンを取得してそのままClaudeに戻ります。認証が成功すれば「Configure」からMCPサーバーが公開するツールの利用可否を個別に調整できます。
接続確認は、実際にSalesforceのレコードを対象にした質問をClaudeへ投げるのが一番確実です。「直近1週間で更新された商談を教えて」のような自然文で聞き、期待した件数・内容が返ってくればOAuthからツール呼び出しまでが正しくつながっています。エラーが返る場合は、認証そのものの失敗なのか、対象のSObjectサーバーを有効化し忘れているだけなのかを切り分けます。
本番運用前に足しておきたいセキュリティ設定
Salesforce公式ドキュメントは、External Client Appの初期設定だけでなく、本番投入前の追加強化策を独立した項目として並べています。どれも必須ではなく、組織のセキュリティ要件に応じて選ぶものです。
| 設定 | 効果 | 向くケース |
|---|---|---|
| Webサーバーフロー用シークレットの要求 | 効果クライアントIDに加えシークレットの提示を要求 | 向くケースWeb型のMCPクライアント。デスクトップアプリは秘密情報が復元されるおそれがあるため非推奨 |
| Permission Setによる事前認可 | 効果接続を許可するユーザーを個別に絞り込む | 向くケース一部の部署だけにMCP接続を許可したい場合 |
| IPアドレス制限 | 効果許可したIP範囲以外からの接続を拒否 | 向くケースMCPクライアントの接続元が固定・予測可能な場合 |
| リフレッシュトークンの有効期限短縮とローテーション | 効果トークン漏洩時の影響範囲を限定 | 向くケース既定では無期限のため、30日以内への短縮を推奨 |
| シングルログアウトの有効化 | 効果Salesforceセッションの失効でMCPセッションも同時に切断 | 向くケース退職者のアクセスを即座に止めたい場合 |
IPアドレス制限は要注意です。MCPクライアントの接続元IPが多岐にわたる場合、Salesforceのallowlist容量を超えることがあります。有効化する前に、利用するMCPクライアントのベンダーに接続元IP範囲を確認しておくと手戻りを避けられます。
権限設定とよくあるつまずき
SalesforceのMCPサーバーは、標準オブジェクトの読み書きだけでなく、Apex Invocable ActionsやApex REST、Flow、Data 360のSQLクエリ、Tableauの分析結果まで、コードを書かずにツールとして公開できます。どの範囲を有効にするかはサーバー単位で管理者が選ぶため、Claude側の設定を進める前にSalesforce側でどのサーバーを公開するかを先に固めておくと手戻りが減ります。
つまずきやすい点をまとめます。
- 有効化直後に接続できない: サーバーが実際に使えるまで最大2分、External Client Appは最大30分の反映待ちがあります。エラーが出てもすぐに設定を疑わず、まず時間を置いて再試行します
- Connected Appで登録してしまう: MCPクライアントの登録先はExternal Client Appのみです。既存のConnected Appを流用しようとすると認証に失敗します
- コールバックURLの取り違え: Claude用は
https://claude.ai/api/mcp/auth_callbackで、Postmanやその他のクライアントとは値が異なります。複数のMCPクライアントを1つのExternal Client Appにまとめて登録する場合は、対象クライアントぶんのコールバックURLをすべて入力しておきます - スクラッチ組織で作成できない: External Client AppはScratch組織のSetup UIから直接作れません。開発者ハブ組織で作成し、パッケージ化してからインストールします
他のSalesforce連携方法との使い分け
CoworkでSalesforceの週次営業レポートを自動生成する手順はCowork Salesforce連携 — 週次営業レポートを自動生成する手順で、商談分析にClaudeを使う具体的な使い方はSalesforce商談分析をClaudeに任せる方法で扱っています。本稿はその手前にある接続そのものの設定手順に絞っており、HubSpotやmonday.comを含めた営業SaaS全体の比較はClaude営業連携ガイド — Salesforce・HubSpot・monday.comにまとめています。
社内システムを自前でMCPサーバー化してClaudeに繋ぐ方法は、Salesforceのように既製のHosted MCP Serversが無いサービス向けの選択肢です。詳しくはCoworkカスタムコネクタ自作ガイド — リモートMCPで社内システムに接続するを参照してください。
まとめ
ClaudeとSalesforceの連携は、claude.comの公式コネクタディレクトリには掲載されていません。Salesforce自身が提供するHosted MCP Serversを、管理者がSetup画面で有効化し、External Client AppでOAuth認証の窓口を作り、Claude側にカスタムコネクタとして手動登録する経路です。ユーザーごとの既存権限がそのままエージェントの操作範囲に反映されるため、権限管理を作り直す必要がありません。有効化やExternal Client Appの反映には数分から最大30分の待ち時間があることだけ、事前に共有しておくと導入がスムーズになります。