mcpField
S
Salesforce Cloud

Salesforce Cloud

ローカル
github.comビジネス・マーケティング68 週間前に更新

Salesforce Cloud について

Salesforce Cloudは、Salesforceデータを扱う営業チームやアナリスト向けのMCPサーバーです。CRM操作に加え、商談の分析、会話分析、SOQLクエリ、ビジネス文書の生成を提供します。

主な機能

  1. 01Salesforceの項目とレコードの検索
  2. 02ページネーション付きSOQLクエリ
  3. 03レコードの作成・更新・削除
  4. 04商談の関与状況と傾向の分析
  5. 05ビジネスケースと要約の生成
  6. 06オブジェクトと項目のメタデータ確認

活用シーン

  1. 01柔軟な条件で商談を検索
  2. 02商談の関与状況と不足する関係者を確認
  3. 03商談を成約事例と比較
  4. 04経営層向けビジネスケース文書を作成

MCP 対応

Salesforceの検索、メタデータ、SOQL、レコード管理、商談分析のツールとSalesforceデータへのアクセスをMCPクライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"aaronsb-salesforce-cloud": {
"command": "npx",
"args": [
"-y",
"@aaronsb/salesforce-cloud-mcp"
],
"env": {
"SF_CLIENT_ID": "<SF_CLIENT_ID>",
"SF_CLIENT_SECRET": "<SF_CLIENT_SECRET>",
"SF_USERNAME": "<SF_USERNAME>",
"SF_PASSWORD": "<SF_PASSWORD>",
"SF_LOGIN_URL": "<SF_LOGIN_URL>"
}
}
}
}
起動コマンドnpx -y @aaronsb/salesforce-cloud-mcp
設定が必要な環境変数
SF_CLIENT_IDシークレットSalesforce Connected App client ID
SF_CLIENT_SECRETシークレットSalesforce Connected App client secret
SF_USERNAMESalesforce username (if set, uses password flow; otherwise client credentials flow)
SF_PASSWORDシークレットSalesforce password (required with SF_USERNAME for password flow)
SF_LOGIN_URLYour Salesforce My Domain URL (e.g., https://company.my.salesforce.com)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@aaronsb/salesforce-cloud-mcp0.8.2

ツール

18

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
detailenumいいえレスポンスの詳細レベル(デフォルト:summary)summary | full
onErrorenumいいえエラー処理:bail(既定)は最初の失敗時に停止し、continue は残りの処理を続行しますbail | continue
operationsarrayはい順次実行する操作のリスト(最大 16 件)

詳細

🌩️ Salesforce MCP サーバー

この MCP(Model Context Protocol)サーバーは、Salesforce と連携するための AI 搭載ツールを提供します。商談インテリジェンス、会話分析、ビジネスケースの作成、標準的な CRUD 操作に対応しています。ページネーションをサポートし、AI ワークフローに最適化された応答構造を備えています。

🎯 これはあなたにとって何を意味するのでしょうか

あなたの商談について何でもすぐに把握し、成約につながる戦略を提案してくれる営業の専門家がいると想像してみてください。この AI は、Salesforce のデータを使ってそれを実現します。

💬 自然に話しかけるだけ — 技術的なスキルは不要です

あなた: 「提案段階にある、10万ドル超の Microsoft の商談をすべて表示して」
AI: Salesforce データベース全体を検索し、条件に一致する商談を返します

あなた: 「Acme の商談でのエンゲージメントはどう?適切な相手と話せている?」
AI: 通話、メール、活動をすべて分析し、エンゲージメントに関するインサイトを提供します

あなた: 「この受注した商談に似た商談を探して」
AI: データベースをスキャンして、類似する成功商談と成功パターンを探します

あなた: 「この商談のビジネスケース文書を作成して」
AI: 経営幹部向けに、そのまま使えるプロフェッショナルな PDF を作成します

🚀 実際の会話例

シナリオ: 「Acme Corp の商談がうまくいかなくて困っています。2か月間、交渉段階で停滞しています。」

AI の応答: 「Acme の商談を分析します……過去3週間のエンゲージメントが限られているようです。調達担当者と2回通話していますが、まだ意思決定者とはつながれていません。停滞を打開した類似商談では、エグゼクティブスポンサーとのエンゲージメントがありました。経営幹部向け説明会を設定することで前進した、類似商談を3件見つけました。こちらが利用できるビジネスケース文書です……」


シナリオ: 「上司から、クラウド移行の商談の成約に時間がかかっている理由を知りたいと言われました。」

AI の応答: 「クラウド移行の商談を分析しています……平均営業サイクルは業界標準より40%長くなっています。技術評価の段階で商談が停滞する傾向があります。成功したクラウド関連の商談では、ソリューションアーキテクトが平均して2週間早く関与していました。技術リソースをもっと早い段階で関与させることをおすすめします……」

✨ 利用できる機能
  • 🔍 スマート検索:自然な言葉であらゆる商談を検索できます
  • 💬 エンゲージメント分析:誰と話しているか、誰との接点が不足しているかを把握できます
  • 🧠 戦略的インサイト:類似する成功商談に基づく提案を得られます
  • 📊 パイプラインインテリジェンス:パイプラインの健全性と成約パターンを把握できます
  • 📋 プロフェッショナルな文書:ビジネスケースや経営幹部向け概要を作成できます
  • 📈 パフォーマンス分析:うまくいっていることや、注意が必要なことを確認できます

その仕組み: 自然に話しかけるだけです。AI が Salesforce に自動で接続し、何百万ものデータポイントを分析してパターンを見つけ、実行可能な提案を提供します。Salesforce のあらゆる情報を把握した営業インテリジェンスチーム、データアナリスト、ビジネスコンサルタントが、ひとつの AI にまとまったようなものです。

💬 ライブチャットの例
👤 あなたAaron Rochelle がソリューションエンジニアとして関わっている、未クローズの Salesforce 商談を探してもらえますか?
🤖 AI アシスタントAaron Rochelle がソリューションエンジニアとして関わっている Salesforce 商談を検索します。条件に一致する商談を見つけるため、Salesforce データベースでクエリを実行します……

📊 3 件の商談が見つかりました:
• Cloud Migration - Acme Corp($250K、提案)
• Digital Transformation - TechFlow($180K、見込み評価)
• Infrastructure Upgrade - GlobalTech($320K、交渉)

👤 あなたAcme Corp の商談について、詳しく教えてください
🤖 AI アシスタントAcme Corp の Cloud Migration 商談の主な詳細は次のとおりです:

💼 商談の詳細:
• 取引先: Acme Corp
• 金額: $250,000
• ステージ: 提案
• クローズ予定日: 2024-03-15
• 意思決定者: Sarah Johnson(IT ディレクター)

🔍 インテリジェンス分析:
• 類似のクラウド案件では、提案ステージの平均期間は 45 日です
• エグゼクティブスポンサーが早期に関与した場合の受注率は 73% です
• 競合他社: AWS(主な脅威)
• 次のアクション: 技術的な詳細説明の予定を設定

👤 あなたこれまでに受注した類似案件を教えてください。パターンも示してください
🤖 AI アシスタント過去 12 か月に受注した、類似のクラウド移行案件が 8 件見つかりました。主なパターンは次のとおりです:

🎯 成功パターン:
• 平均案件規模: $275K(現在の案件は $250K)
• 67% で、14 日目までにソリューションアーキテクトが関与していました
• 89% で、パイロット/POC フェーズが含まれていました
• デモの 78% に エグゼクティブスポンサー が参加していました

📋 推奨事項: 今週、DevOps チームとの技術的な詳細説明に Aaron を参加させる予定を設定してください。類似の受注案件に基づくと、2 週間のパイロットを提案することで、成約確率が 34% 上昇します。

📄 この商談のビジネスケース文書を作成しましょうか?

🤔 MCP とは?

Model Context Protocol(MCP)は、AI モデルが外部のツールやリソースを利用するための標準化された方法です。MCP サーバーは、統一されたインターフェースを通じて AI モデルが利用できる特定の機能を提供します。この Salesforce MCP サーバーを使用すると、AI モデルは Salesforce のデータや操作を構造化された方法で利用できます。

🚀 インストール

npm(推奨)
# Run directly with npx
npx @aaronsb/salesforce-cloud-mcp

# Or install globally
npm install -g @aaronsb/salesforce-cloud-mcp
ソースから
git clone https://github.com/aaronsb/salesforce-cloud.git
cd salesforce-cloud
npm install
npm run build
node build/index.js

⚙️ 設定

サーバーを使用するには、Claude デスクトップアプリの設定ファイルで設定する必要があります。Linux では、ファイルは ~/.config/Claude/claude_desktop_config.json にあります。macOS では、~/Library/Application Support/Claude/claude_desktop_config.json にあります。

設定ファイルの mcpServers オブジェクトに、次の設定を追加してください:

{
  "mcpServers": {
    "salesforce-cloud": {
      "command": "node",
      "args": ["/path/to/salesforce-cloud/build/index.js"],
      "env": {
        "SF_CLIENT_ID": "your_client_id",
        "SF_CLIENT_SECRET": "your_client_secret",
        "SF_USERNAME": "your_salesforce_username",
        "SF_PASSWORD": "your_salesforce_password",
        "SF_LOGIN_URL": "https://login.salesforce.com"
      }
    }
  }
}
必須環境変数
  • SF_CLIENT_ID:Salesforce の OAuth クライアント ID
  • SF_CLIENT_SECRET:Salesforce の OAuth クライアントシークレット
  • SF_USERNAME:Salesforce のユーザー名
  • SF_PASSWORD:Salesforce のパスワード
  • SF_LOGIN_URL:Salesforce のログイン URL(任意。既定値は https://login.salesforce.com)

これらの認証情報を取得するには:

  1. Salesforce 組織の[設定]に移動します
  2. [アプリケーションマネージャー]に移動します
  3. 新しい接続アプリケーションを作成します
  4. OAuth 設定を有効にします
  5. 必要な OAuth スコープを追加します
  6. 保存して、有効化されるまで待ちます
  7. 生成されたコンシューマー鍵(クライアント ID)とコンシューマーシークレット(クライアントシークレット)をコピーします

🎯 カスタム項目の使用

クエリを作成したり Salesforce データを扱ったりする際には、参照するフィールドの多くが、使用している Salesforce インスタンス固有のカスタム項目である可能性を理解しておくことが重要です。知っておくべきことは次のとおりです:

カスタム項目について
  • Salesforce のカスタム項目は、API 名の末尾が __c になります
  • UI 上で「Implementation Status」と表示される項目は、データ上では「Implementation_Status__c」として保存されている場合があります
  • カスタム項目は、組織固有の業務概念を表すことができます
ベストプラクティス
  1. オブジェクトメタデータの分析:

    • includeFields: true を指定して describe_object ツールを使用し、標準項目とカスタム項目の両方を確認します
    • 標準項目とカスタム項目の両方のリストから、目的に合う項目を探します
    • ユーザーにわかりやすい項目名を、実際の API 名に対応付けます
  2. 項目の型に関する考慮事項:

    • カスタム項目には、テキスト、選択リスト、参照などさまざまな型があります
    • 項目の型を理解すると、適切なクエリを作成できます
    • カスタム項目は、参照関係を通じて別のカスタムオブジェクトを参照する場合があります
  3. クエリの作成:

    • 標準項目とカスタム項目の両方を扱えるクエリを作成します
    • クエリを実行する前に、項目メタデータを使用して項目の存在を確認します
    • オブジェクト間の関係、特にカスタム参照項目を考慮します
例

「Project Status」を検索する場合:

  1. まず、オブジェクトの項目を確認し、実際の項目名を探します:
{
  "objectName": "Opportunity",
  "includeFields": true
}
  1. 「Project_Status__c」など、意図に合うカスタム項目を探します
  2. 見つかった項目名をクエリで使用します:
{
  "query": "SELECT Id, Name, Project_Status__c FROM Opportunity"
}

🛠️ ツール

Salesforce の基本操作
search_fields

クエリ対象はわかっていても API 名がわからない場合に、概念を表す項目を探します。検出済みの項目カタログ(ADR-302)を、項目の API 名、ラベル、ヘルプテキストからキーワードで検索し、一致度の高い順に表示します。

{
  term: string;             // Required: matched against field name, label, help text
  objectName?: string;      // Optional: scope to one object (default: all core objects)
  includeValues?: boolean;  // Optional: return active picklist values for matches (default: false)
  minPopulationPct?: number;// Optional: drop fields below this population density (0-100)
  limit?: number;           // Optional: max matches (default: 25, max: 100)
}

例:

{
  "term": "ai",
  "objectName": "Opportunity",
  "includeValues": true
}

検索は意味ベースではなく語句ベースです。メタデータに検索語が含まれる項目が見つかるため、スキーマで異なる名前が付けられている概念は見つかりません。すべてを確認するには、salesforce://field-catalog/{objectName}/all を参照してください。

execute_soql

ページネーションに対応した SOQL クエリを実行します。

{
  query: string;      // Required: SOQL query to execute
  pageSize?: number;  // Optional: Number of records per page (default: 25)
  pageNumber?: number; // Optional: Page number to retrieve (default: 1)
}

例:

{
  "query": "SELECT Id, Name FROM Account",
  "pageSize": 10,
  "pageNumber": 1
}
describe_object

必要に応じて項目情報を含む、Salesforce オブジェクトのメタデータを取得します。

{
  objectName: string;    // Required: API name of the Salesforce object
  includeFields?: boolean; // Optional: Whether to include field metadata (default: false)
  pageSize?: number;     // Optional: Number of fields per page (default: 50)
  pageNumber?: number;   // Optional: Page number to retrieve (default: 1)
}

例:

{
  "objectName": "Account",
  "includeFields": true
}
create_record

Salesforce に新しいレコードを作成します。

{
  objectName: string;           // Required: API name of the Salesforce object
  data: Record<string, any>;    // Required: Record data as key-value pairs
}

例:

{
  "objectName": "Account",
  "data": {
    "Name": "Test Account",
    "Industry": "Technology"
  }
}
update_record

Salesforce の既存レコードを更新します。

{
  objectName: string;           // Required: API name of the Salesforce object
  recordId: string;            // Required: ID of the record to update
  data: Record<string, any>;    // Required: Record data to update
}

例:

{
  "objectName": "Account",
  "recordId": "001XXXXXXXXXXXXXXX",
  "data": {
    "Name": "Updated Account Name"
  }
}
delete_record

Salesforce のレコードを削除します。

{
  objectName: string;    // Required: API name of the Salesforce object
  recordId: string;     // Required: ID of the record to delete
}

例:

{
  "objectName": "Account",
  "recordId": "001XXXXXXXXXXXXXXX"
}
get_user_info

現在のユーザーに関する情報を取得します。パラメーターは必要ありません。

{}
list_objects

ページネーションに対応した、利用可能な Salesforce オブジェクトの一覧を取得します。

{
  pageSize?: number;   // Optional: Number of objects per page (default: 25)
  pageNumber?: number; // Optional: Page number to retrieve (default: 1)
}
商談管理
search_opportunities

柔軟な条件とパターンマッチングを使用して、Salesforce の商談を検索します。

{
  namePattern?: string;         // Optional: Pattern to match in Opportunity Name
  accountNamePattern?: string;  // Optional: Pattern to match in Account Name
  stage?: string;              // Optional: Exact match for opportunity stage
  pageSize?: number;           // Optional: Number of records per page (default: 25)
  pageNumber?: number;         // Optional: Page number to retrieve (default: 1)
}
get_opportunity_details

指定した商談について、利用可能なすべての項目と関連レコードを含む詳細情報を取得します。

{
  opportunityId: string;   // Required: The ID of the Salesforce opportunity
}
🧠 商談インテリジェンス
analyze_conversation

商談に関する会話の活動とエンゲージメントパターンを分析します。通話、メール、その他の活動からインサイトを抽出し、エンゲージメントに関する推奨事項を提示します。

{
  opportunityId: string;   // Required: The ID of the Salesforce opportunity
}

例:

{
  "opportunityId": "006XXXXXXXXXX"
}
enrich_opportunity

類似する商談のパターンとベストプラクティスに基づき、市場インテリジェンス、業界のインサイト、戦略的な推奨事項を商談に付加します。

{
  opportunityId: string;              // Required: The ID of the Salesforce opportunity
  includeCompetitiveIntel?: boolean; // Optional: Include competitive analysis (default: false)
  includeBestPractices?: boolean;    // Optional: Include best practices (default: true)
}

例:

{
  "opportunityId": "006XXXXXXXXXX",
  "includeCompetitiveIntel": true,
  "includeBestPractices": true
}
find_similar_opportunities

参照する商談、または指定した条件に基づいて、類似する商談を検索します。パターン分析と類似度スコアリングが含まれます。

{
  referenceOpportunityId?: string; // Optional: Reference opportunity for similarity matching
  industry?: string;               // Optional: Filter by industry
  minAmount?: number;             // Optional: Minimum opportunity amount
  maxAmount?: number;             // Optional: Maximum opportunity amount
  stage?: string;                 // Optional: Filter by opportunity stage
  isWon?: boolean;               // Optional: Filter by won/lost status
  closeDateStart?: string;       // Optional: Start date (YYYY-MM-DD)
  closeDateEnd?: string;         // Optional: End date (YYYY-MM-DD)
  includeAnalysis?: boolean;     // Optional: Include pattern analysis (default: true)
  limit?: number;                // Optional: Max results (default: 50)
}

例:

  1. 参照する商談に類似した商談を検索:
{
  "referenceOpportunityId": "006XXXXXXXXXX",
  "includeAnalysis": true
}
  1. 条件に基づいて検索:
{
  "industry": "Information Technology & Services",
  "minAmount": 100000,
  "stage": "Closed Won",
  "limit": 20
}
opportunity_insights

パイプラインの健全性、パフォーマンス指標、トレンドなど、商談データから詳細なインサイトと分析を生成します。

{
  timeframe?: string;              // Optional: 'current_quarter', 'last_quarter', etc.
  includeStageAnalysis?: boolean;  // Optional: Stage distribution analysis (default: true)
  includeOwnerPerformance?: boolean; // Optional: Owner performance metrics (default: true)
  includeIndustryTrends?: boolean; // Optional: Industry trends (default: true)
  includePipelineHealth?: boolean; // Optional: Pipeline health analysis (default: true)
  includeConversionRates?: boolean; // Optional: Conversion rates (default: true)
  minAmount?: number;             // Optional: Minimum amount filter
  maxAmount?: number;             // Optional: Maximum amount filter
  industry?: string;              // Optional: Industry filter
  owner?: string;                 // Optional: Owner filter
}

例:

{
  "timeframe": "current_quarter",
  "includeStageAnalysis": true,
  "includeOwnerPerformance": true,
  "minAmount": 50000
}
generate_business_case

商談に関する専門的なビジネスケース文書を作成します。TeXFlow を使用して書式設定済みのビジネスケースを作成するための、段階的な手順を返します。

{
  opportunityId: string;    // Required: The ID of the Salesforce opportunity
  clientName?: string;      // Optional: Client name for the document title
  outputFormat?: string;    // Optional: 'pdf', 'docx', or 'markdown' (default: 'pdf')
}

例:

{
  "opportunityId": "006XXXXXXXXXX",
  "clientName": "Acme Corporation",
  "outputFormat": "pdf"
}

📦 レスポンス形式

ページネーション対応のレスポンス

複数のレコードを返す操作では、次の形式が使用されます:

{
  records: T[];           // Array of records for the current page
  totalSize: number;      // Total number of records
  pageInfo: {
    currentPage: number;  // Current page number
    totalPages: number;   // Total number of pages
    hasNextPage: boolean; // Whether there are more pages after this one
    hasPreviousPage: boolean; // Whether there are pages before this one
  }
}
エラー処理

すべてのツールで、統一された形式のエラーが返されます:

{
  content: [{
    type: "text",
    text: "Error: [error message]"
  }],
  isError: true
}

💻 開発

開発用にサーバーをローカルで実行するには:

  1. .env ファイルで環境変数を設定します
  2. プロジェクトをビルドします:
npm run build
  1. サーバーを起動します:
node build/index.js

✨ 主な機能

  • 🧠 AI を活用したインテリジェンス:高度な商談分析、会話からのインサイト、市場インテリジェンス
  • 📊 パターン認識:パイプライン内の類似商談や成功パターンを特定します
  • 📋 ビジネスケースの生成:TeXFlow を使用して、プロフェッショナルなビジネスケース文書を自動作成します
  • 🔍 スマート検索:パターンマッチングとフィルタリングに対応した柔軟な商談検索
  • 📈 パイプライン分析:パイプラインの健全性、成約率、パフォーマンス指標に関する詳細なインサイト
  • 🔧 標準操作:カスタムフィールドに対応した CRUD 操作一式
  • 📄 ドキュメント連携:TeXFlow MCP サーバーとシームレスに連携し、ドキュメントを生成します
  • ⚡ AI 向けに最適化:AI モデルでの利用を想定したレスポンス構造

🌟 今後の展望

Salesforce API には、さまざまな拡張の可能性があります:

  • より多くの Salesforce オブジェクトへの対応(リード、ケース、取引先責任者など)
  • Salesforce Flow および Process Builder との連携
  • 競合インテリジェンス機能の強化
  • 大規模なデータセット向けの一括 API 操作
  • Chatter API との連携およびソーシャルセリングに関するインサイト
  • カスタムレポートおよびダッシュボードへのアクセス
  • 高度な予測および予測分析

次に追加すると最も役立つ機能について、ぜひご意見をお聞かせください!

🤝 貢献

コミュニティからの貢献を歓迎します!新機能の追加、ドキュメントの改善、バグの報告など、皆さんのご協力がこのプロジェクトをより良いものにします。ぜひプルリクエストを送信するか、イシューを作成して話し合いを始めてください。

📄 ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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