mcpField
S
Salesforce MCP Server

Salesforce MCP Server

ローカル
github.com/jaworjar95データ・分析4271 週間前に更新

Salesforce MCP Server について

Salesforce MCP Server は、Salesforce に接続する MCP サーバーです。Claude Desktop や Cline などの MCP 対応クライアントから利用できます。SOQL・SOSL クエリ、レコード操作、Apex の実行とテスト、メタデータのデプロイなど、17 のツールを提供します。

主な機能

  1. 01SOQL・SOSL クエリツール
  2. 02単一および一括のレコード操作
  3. 03Apex の匿名実行とテスト実行
  4. 04メタデータコンポーネントのデプロイと取得
  5. 05OAuth2 およびユーザー名・パスワード認証
  6. 06SObject メタデータの 1 時間キャッシュ

活用シーン

  1. 01AI 開発ツールから Salesforce データを照会
  2. 02エージェントによるレコードの一括作成・更新
  3. 03Apex クラスや LWC バンドルの組織へのデプロイ

MCP 対応

本プロジェクトは MCP サーバーとして、17 の Salesforce ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Salesforce MCP Server

Claude Desktop、Cline、その他のMCP互換クライアントなどのAI開発ツールに、Salesforceとのシームレスな連携を提供する包括的なModel Context Protocol(MCP)サーバーです。

🚀 機能

17種類の包括的なツール
🔍 クエリと検索ツール
  • execute-soql - 自動バルク切り替えとページネーションに対応したSOQLクエリの実行
  • execute-sosl - 複数オブジェクトを検索し、結果を集約
  • describe-sobject - インテリジェントなキャッシュ機能を備えたSObjectメタデータ
⚡ Apex開発ツール
  • execute-apex - デバッグログの取得に対応した匿名Apexの実行
  • run-apex-tests - カバレッジレポート付きのApexテスト実行
  • get-apex-logs - フィルタリング機能付きのデバッグログ取得
📊 データ管理ツール
  • create-record - 自動バルク切り替えに対応した単一/一括レコード作成
  • get-record - フィールド選択に対応したレコード取得
  • update-record - 検証機能付きの単一/一括レコード更新
  • delete-record - 単一/一括レコード削除
  • upsert-record - 外部IDに基づくアップサート操作
🔧 メタデータツール(コンポーネント単位)
  • list-metadata-types - メタデータタイプの確認
  • deploy-metadata - ファイルまたはJSONから個々のメタデータコンポーネント(例:ApexClass、CustomObject)をデプロイ
  • deploy-bundle - ディレクトリパスからメタデータバンドル(例:LWC)をデプロイ
  • retrieve-metadata - 個々のメタデータコンポーネントを取得し、ファイルへの保存も選択可能
  • check-deploy-status - デプロイのステータスを確認
🔗 接続ツール
  • test-connection - 接続の検証とヘルスモニタリング
主な機能
  • 🔄 自動バルク切り替え - パフォーマンスを最適化するためのインテリジェントなAPI選択
  • 🔐 2種類の認証方式 - OAuth2とユーザー名/パスワードに対応
  • ⚡ スマートキャッシュ - SObjectメタデータを1時間のTTLでキャッシュ
  • 🛡️ 型安全性 - 実行時検証を備えたTypeScriptによる完全な実装
  • 📝 包括的なログ記録 - 詳細なデバッグとモニタリング
  • 🔍 エラーの詳細表示 - デバッグ用にSalesforceのエラーをそのまま保持

🚀 インストール

Claude Desktop、Cline、Cursorなどのデスクトップアプリで使用するには、以下のMCPサーバー設定を追加してください。

macOS/Linuxの場合:
ユーザー名/パスワード認証
{
  "mcp.servers": {
    "salesforce": {
      "command": "npx",
      "args": [
        "-y",
        "@jjar/salesforce-mcp-server"
      ],
      "env": {
        "SF_USERNAME": "[email protected]",
        "SF_PASSWORD": "your-password",
        "SF_SECURITY_TOKEN": "",
        "SF_LOGIN_URL": "https://login.salesforce.com"
      },
      "disabled": false,
      "alwaysAllow": [
        "test-connection",
        "execute-soql",
        "describe-sobject",
        "get-record",
        "get-apex-logs",
        "list-metadata-types"
      ]
    }
  }
}
OAuth 2.0認証
{
  "mcp.servers": {
    "salesforce": {
      "command": "npx",
      "args": [
        "-y",
        "@jjar/salesforce-mcp-server"
      ],
      "env": {
        "SF_CLIENT_ID": "your-oauth2-client-id",
        "SF_CLIENT_SECRET": "your-oauth2-client-secret",
        "SF_REFRESH_TOKEN": "your-refresh-token",
        "SF_INSTANCE_URL": "https://yourorg.my.salesforce.com"
      },
      "disabled": false,
      "alwaysAllow": [
        "test-connection",
        "execute-soql",
        "describe-sobject",
        "get-record",
        "get-apex-logs",
        "list-metadata-types"
      ]
    }
  }
}

Windowsの場合:
ユーザー名/パスワード認証
{
  "mcp.servers": {
    "salesforce": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@jjar/salesforce-mcp-server"
      ],
      "env": {
        "SF_USERNAME": "[email protected]",
        "SF_PASSWORD": "your-password",
        "SF_SECURITY_TOKEN": "",
        "SF_LOGIN_URL": "https://login.salesforce.com"
      },
      "disabled": false,
      "alwaysAllow": [
        "test-connection",
        "execute-soql",
        "describe-sobject",
        "get-record",
        "get-apex-logs",
        "list-metadata-types"
      ]
    }
  }
}
OAuth 2.0認証
{
  "mcp.servers": {
    "salesforce": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@jjar/salesforce-mcp-server"
      ],
      "env": {
        "SF_CLIENT_ID": "your-oauth2-client-id",
        "SF_CLIENT_SECRET": "your-oauth2-client-secret",
        "SF_REFRESH_TOKEN": "your-refresh-token",
        "SF_INSTANCE_URL": "https://yourorg.my.salesforce.com"
      },
      "disabled": false,
      "alwaysAllow": [
        "test-connection",
        "execute-soql",
        "describe-sobject",
        "get-record",
        "get-apex-logs",
        "list-metadata-types"
      ]
    }
  }
}
設定ファイルの場所
Claude Desktop
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Cline(VS Code)
  • Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

⚠️ 重要: MCPサーバーの設定を追加または変更した後、変更を反映するにはVS Codeを再起動する必要があります。

Cursor
  • Windows: %USERPROFILE%\.cursor\mcp.json
  • macOS: ~/.cursor/mcp.json
  • Linux: ~/.cursor/mcp.json
#### ツールの安全レベル

✅ 自動承認しても安全(alwaysAllow)

  • test-connection - 接続の検証(読み取り専用)
  • execute-soql - SOQL クエリ(読み取り専用)
  • describe-sobject - メタデータの検査(読み取り専用)
  • get-record - 単一レコードの取得(読み取り専用)
  • get-apex-logs - デバッグログへのアクセス(読み取り専用)
  • list-metadata-types - メタデータタイプの検出(読み取り専用)

⚠️ 手動承認が必要

  • create-record、update-record、delete-record、upsert-record - データの変更
  • deploy-metadata - メタデータのデプロイ
  • execute-apex、run-apex-tests - コードの実行
  • execute-sosl - 検索操作(リソースを大量に消費する場合があります)
  • retrieve-metadata - メタデータの取得(大量になる場合があります)

認証

ユーザー名/パスワード認証
  1. Salesforce Setup → Personal Information → Reset Security Token からセキュリティトークンを取得します(IP が信頼されていない場合のみ必要です)
  2. 設定セクションに記載されているとおりに環境変数を設定します
  3. 本番環境では https://login.salesforce.com、サンドボックスでは https://test.salesforce.com を使用します

💡 セキュリティトークン:接続に Salesforce から求められる場合のみ、セキュリティトークンを追加してください。求められない場合は、SF_SECURITY_TOKEN を空のままにします。

OAuth2 認証
  1. Salesforce Setup で Connected App を作成します
  2. OAuth 設定を行い、クライアント認証情報を取得します
  3. OAuth2 フローを使用して更新トークンを生成します
  4. 設定セクションに記載されているとおりに環境変数を設定します

🏗️ アーキテクチャ

コアコンポーネント
  • 認証マネージャー - OAuth2 とユーザー名/パスワードの両方をサポート
  • 接続マネージャー - ヘルスモニタリングを備えたシングルトンパターン
  • ツールクラス - 機能別に整理(クエリ、Apex、データ、メタデータ)
  • エラーハンドラー - コンテキストを含む包括的なエラー整形
  • キャッシュマネージャー - パフォーマンス最適化のための TTL ベースのキャッシュ
パフォーマンス機能
  • 自動バルク切り替え - 大規模な操作では Bulk API を自動的に使用
  • インテリジェントキャッシュ - SObject メタデータを 1 時間キャッシュ
  • 接続の再利用 - すべての操作で単一の接続を使用
  • ポーリングの最適化 - 長時間実行される操作を効率的に監視

🧪 テスト

# Test individual tools
node tests/test-query-tools.js
node tests/test-data-tools.js
node tests/test-apex-tools.js
node tests/test-metadata-tools.js

🤝 貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

🔗 関連プロジェクト

  • Model Context Protocol - このサーバーが実装するプロトコル
  • jsforce - このプロジェクトで使用されている Salesforce API ライブラリ
  • Claude Desktop - MCP サーバーをサポートする AI アシスタント
  • Cline - AI 支援開発のための VS Code 拡張機能

👨‍💻 作者

Jarosław Jaworski

🤖 開発クレジット

この実装の一部は、Cline VS Code 拡張機能を使用して Claude Sonnet 4 の支援を受けて開発されました。これは、包括的な開発者ツールの作成における AI 支援開発の力を示しています。

📄 ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。