Agentforce MCP Server

Agentforce MCP サーバー

このMCPサーバーは、Salesforce Agentforce APIと連携するためのツールを提供します。Agentforceエージェントとの認証、セッション作成、メッセージ交換を可能にします。

クローン作成後の作業開始

このリポジトリをクローンしたばかりの場合は、対話型セットアップ スクリプトを使用して、サーバーをすばやく構成して実行できます。

chmod +x setup.sh ./setup.sh

セットアップ スクリプトは次の処理を実行します。

  1. Pythonのバージョンを確認する
  2. 必要な依存関係をインストールする
  3. Salesforce の認証情報の入力をガイドします
  4. Salesforceへの接続をテストする
  5. サーバーの起動を提案する
  6. Claude Desktop の設定手順を説明します

または、次の手動の手順に従うこともできます。

  1. 依存関係をインストールします:
    pip install -r requirements.txt
  2. 環境変数を設定します:
    cp .env.example .env
  3. Salesforce の資格情報を収集します
    • SALESFORCE_ORG_ID : 18文字のSalesforce組織ID
    • SALESFORCE_AGENT_ID : Agentforceエージェントの18文字のエージェントID
    • SALESFORCE_CLIENT_ID : 接続されたアプリケーションのコンシューマーキー
    • SALESFORCE_CLIENT_SECRET : 接続されたアプリケーションのコンシューマーシークレット
    • SALESFORCE_SERVER_URL : https:// プレフィックスなしの Salesforce マイドメイン URL
  4. 収集した資格情報を使用して**.env ファイルを編集します**
    SALESFORCE_ORG_ID="00D5f000000J2PKEA0" SALESFORCE_AGENT_ID="0XxHn000000x9F1KAI" SALESFORCE_CLIENT_ID="3MVG9OGq41FnYVsFgnaG0AzJDWnoy37Bb18e0R.GgDJu2qB9sqppVl7ehWmJhGvPSLrrA0cBNhDJdsbZXnv52" SALESFORCE_CLIENT_SECRET="210117AC36E9E4C8AFCA02FF062B8A677BACBFFB71D2BB1162D60D316382FADE" SALESFORCE_SERVER_URL="example.my.salesforce.com"
    (注: これらは架空の例の値です。実際の資格情報に置き換えてください。)
  5. サーバースクリプトを実行可能にします:
    chmod +x agentforce_mcp_server.py
  6. サーバーを実行します:
    python agentforce_mcp_server.py

Salesforce 資格情報を見つける詳細な手順については、以下の「Salesforce の設定」セクションを参照してください。

設定

  1. Python 3.10 以降がインストールされていることを確認してください。
  2. 必要な依存関係をインストールします。
    pip install -r requirements.txt
  3. サーバー スクリプトを実行可能にします。
    chmod +x agentforce_mcp_server.py

構成

サーバーは設定に環境変数を使用します。これらは.envファイルから読み込まれます。

  1. 独自の環境ファイルを作成するには、サンプル環境ファイルをコピーします。
    cp .env.example .env
  2. .envファイルを編集して値を入力します。
    SALESFORCE_ORG_ID="your_org_id_here" SALESFORCE_AGENT_ID="your_agent_id_here" # The 18-character Agent ID you found in Salesforce SALESFORCE_CLIENT_ID="your_client_id_here" # The Consumer Key from your Connected App SALESFORCE_CLIENT_SECRET="your_client_secret_here" # The Consumer Secret from your Connected App SALESFORCE_SERVER_URL="your_server_url_here" # Your My Domain URL (e.g., example.my.salesforce.com)

Salesforce の設定

Agentforce API を使用するには、次のことが必要です。

  1. Salesforce 組織で接続アプリケーションを作成する
  2. AgentforceエージェントIDを見つける
  3. Salesforceの私のドメインURLをメモしてください

これらの手順の詳細な手順については、以下のSalesforce の設定セクションを参照してください。

サーバーの実行

次を使用してサーバーを実行します。

python agentforce_mcp_server.py

利用可能なツール

MCP サーバーは次のツールを公開します。

1. authenticate

クライアントの電子メールを使用して Agentforce API で認証します。

パラメータ:

  • client_email : 認証用のクライアントのメールアドレス

2. create_agent_session

構成された Agentforce エージェントとのセッションを作成します。

パラメータ:

  • client_email : 認証されたクライアントのメールアドレス

3. send_message_to_agent

Agentforce エージェントにメッセージを送信し、応答を返します。

パラメータ:

  • client_email : 認証されたクライアントのメールアドレス
  • message : エージェントに送信するメッセージ

4. get_session_status

認証ステータス、セッション ID、シーケンス ID など、現在のセッションのステータスを取得します。

パラメータ:

  • client_email : 認証されたクライアントのメールアドレス

5. エージェントcomplete_agentforce_conversation

認証、セッションの作成、メッセージの送信など、フロー全体を処理する便利なメソッド。

パラメータ:

  • client_email : 認証用のクライアントのメールアドレス
  • user_query : エージェントに送信するメッセージ

Claude for Desktop と併用

このサーバーを Claude for Desktop で使用するには、 claude_desktop_config.jsonファイルを更新します。

{ "mcpServers": { "agentforce": { "command": "python", "args": [ "/path/to/your/agentforce_mcp_server.py" ] } } }

パスを、マシン上のサーバー スクリプトへの絶対パスに置き換えます。

プラットフォーム別の経路の場所

macOS

  • 設定ファイル: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 例のパス: /Users/yourusername/Projects/agentforce-mcp-server/agentforce_mcp_server.py

ウィンドウズ

  • 構成ファイル: %APPDATA%\Claude\claude_desktop_config.json
  • 例のパス: C:\Users\yourusername\Projects\agentforce-mcp-server\agentforce_mcp_server.py

Salesforceの設定

接続されたアプリの作成

Agentforce API を使用するには、Salesforce 組織に接続アプリケーションを作成する必要があります。

  1. Salesforce組織に管理者としてログインします
  2. セットアップへ移動
  3. クイック検索ボックスで「App Manager」を検索してクリックします
  4. **「新しい接続アプリ」**ボタンをクリックします
  5. 基本情報を入力してください:
    • 接続アプリケーション名: Agentforce MCP 統合 (または任意の名前)
    • API 名: Agentforce_MCP_Integration (自動入力されます)
    • 連絡先メールアドレス: あなたのメールアドレス
  6. OAuth設定を有効にするをチェック
  7. コールバック URLhttps://localhost/oauth/callbackに設定します (これは使用されませんが必須です)
  8. 選択した OAuth スコープの下に以下を追加します。
    • API経由でユーザーデータを管理する(api)
    • いつでもリクエストを実行 (refresh_token、offline_access)
  9. 保存をクリック
  10. 保存すると、接続されたアプリの詳細ページにリダイレクトされます。
  11. コンシューマーキー(これはクライアントIDです)をメモし、コンシューマーシークレットの横にある**「クリックして表示」を**クリックしてクライアントシークレットを取得します。

エージェントIDの確認

Agentforce エージェント ID を見つけるには:

  1. Salesforce組織にログインする
  2. Einstein Agent Builderに移動する
  3. 使用するエージェントを選択してください
  4. ブラウザの URL を確認すると、次の形式でエージェント ID が含まれています: https://your-salesforce-instance.lightning.force.com/lightning/r/Agent__c/0XxXXXXXXXXXXXXX/view
  5. エージェントIDはURL内の18文字のID( 0XxXXXXXXXXXXXXX )です。

Salesforce の「私のドメイン」URL を見つける

Salesforce の [私のドメイン] URL を見つけるには:

  1. Salesforce組織にログインする
  2. セットアップへ移動
  3. クイック検索ボックスで「My Domain」を検索してクリックします。
  4. ドメインはDOMAIN-NAME.my.salesforce.comの形式で表示されます。
  5. .env ファイルでは「https://」プレフィックスなしでこの URL を使用してください。

組織IDの確認

Salesforce 組織 ID を見つけるには:

  1. Salesforce組織にログインする
  2. セットアップへ移動
  3. クイック検索ボックスで「会社情報」を検索してクリックします。
  4. 「組織ID」フィールドを探します。これがSalesforce組織IDです。
  5. 15文字または18文字の英数字の文字列になります

注記

  • サーバーはメッセージ交換のシーケンスIDを自動的に管理します
  • 認証とセッション状態は各クライアントメールごとに維持されます
  • すべてのAPIインタラクションはデバッグのためにログに記録されます

トラブルシューティング

問題が発生した場合:

  1. 認証失敗: 接続されたアプリケーションの設定を確認し、クライアントIDとシークレットが正しいことを確認してください
  2. セッション作成エラー: エージェントIDを確認し、18文字のバージョンであることを確認してください
  3. 接続の問題: Salesforce の [私のドメイン] URL が正しいことを確認してください (「https://」プレフィックスなし)
  4. 権限エラー: 接続されたアプリで適切な OAuth スコープが有効になっていることを確認してください

セットアップのテスト

付属のテスト スクリプトを使用してセットアップをテストできます。

python test_agentforce.py

これにより、認証、セッションの作成、および Agentforce エージェントとのメッセージの交換が試行されます。

貢献とGitHubプッシュ

このリポジトリには、変更を GitHub にプッシュするプロセスを簡素化する便利なスクリプトが含まれています。

chmod +x github_push.sh ./github_push.sh

github_push.shスクリプトは次のことを行います。

  1. システムにgitがインストールされているかどうかを確認します
  2. .envのような機密ファイルがプッシュされないことを確認します(それらは.gitignoreにあります)
  3. GitHubリポジトリのURLを入力するよう求められます
  4. 必要に応じてgitリポジトリを初期化するか、リモートURLを更新します
  5. すべてのファイルを追加してレビュー用に表示します
  6. 説明メッセージを付けて変更をコミットする
  7. 変更をGitHubにプッシュする

これにより、機密情報を安全に保ちながら、カスタマイズを共有したり、プロジェクトに貢献したりすることが容易になります。

ID: dsdif3p37i