Salesforce Cloud について
Salesforce Cloudは、Salesforceデータを扱う営業チームやアナリスト向けのMCPサーバーです。CRM操作に加え、商談の分析、会話分析、SOQLクエリ、ビジネス文書の生成を提供します。
主な機能
- 01Salesforceの項目とレコードの検索
- 02ページネーション付きSOQLクエリ
- 03レコードの作成・更新・削除
- 04商談の関与状況と傾向の分析
- 05ビジネスケースと要約の生成
- 06オブジェクトと項目のメタデータ確認
活用シーン
- 01柔軟な条件で商談を検索
- 02商談の関与状況と不足する関係者を確認
- 03商談を成約事例と比較
- 04経営層向けビジネスケース文書を作成
MCP 対応
Salesforceの検索、メタデータ、SOQL、レコード管理、商談分析のツールとSalesforceデータへのアクセスをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @aaronsb/salesforce-cloud-mcpSF_CLIENT_IDシークレットSalesforce Connected App client IDSF_CLIENT_SECRETシークレットSalesforce Connected App client secretSF_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
18掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| detail | enum | いいえ | レスポンスの詳細レベル(デフォルト:summary)summary | full |
| onError | enum | いいえ | エラー処理:bail(既定)は最初の失敗時に停止し、continue は残りの処理を続行しますbail | continue |
| operations | array | はい | 順次実行する操作のリスト(最大 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 クライアント IDSF_CLIENT_SECRET:Salesforce の OAuth クライアントシークレットSF_USERNAME:Salesforce のユーザー名SF_PASSWORD:Salesforce のパスワードSF_LOGIN_URL:Salesforce のログイン URL(任意。既定値は https://login.salesforce.com)
これらの認証情報を取得するには:
- Salesforce 組織の[設定]に移動します
- [アプリケーションマネージャー]に移動します
- 新しい接続アプリケーションを作成します
- OAuth 設定を有効にします
- 必要な OAuth スコープを追加します
- 保存して、有効化されるまで待ちます
- 生成されたコンシューマー鍵(クライアント ID)とコンシューマーシークレット(クライアントシークレット)をコピーします
🎯 カスタム項目の使用
クエリを作成したり Salesforce データを扱ったりする際には、参照するフィールドの多くが、使用している Salesforce インスタンス固有のカスタム項目である可能性を理解しておくことが重要です。知っておくべきことは次のとおりです:
カスタム項目について
- Salesforce のカスタム項目は、API 名の末尾が
__cになります - UI 上で「Implementation Status」と表示される項目は、データ上では「Implementation_Status__c」として保存されている場合があります
- カスタム項目は、組織固有の業務概念を表すことができます
ベストプラクティス
-
オブジェクトメタデータの分析:
includeFields: trueを指定してdescribe_objectツールを使用し、標準項目とカスタム項目の両方を確認します- 標準項目とカスタム項目の両方のリストから、目的に合う項目を探します
- ユーザーにわかりやすい項目名を、実際の API 名に対応付けます
-
項目の型に関する考慮事項:
- カスタム項目には、テキスト、選択リスト、参照などさまざまな型があります
- 項目の型を理解すると、適切なクエリを作成できます
- カスタム項目は、参照関係を通じて別のカスタムオブジェクトを参照する場合があります
-
クエリの作成:
- 標準項目とカスタム項目の両方を扱えるクエリを作成します
- クエリを実行する前に、項目メタデータを使用して項目の存在を確認します
- オブジェクト間の関係、特にカスタム参照項目を考慮します
例
「Project Status」を検索する場合:
- まず、オブジェクトの項目を確認し、実際の項目名を探します:
{
"objectName": "Opportunity",
"includeFields": true
}
- 「Project_Status__c」など、意図に合うカスタム項目を探します
- 見つかった項目名をクエリで使用します:
{
"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)
}
例:
- 参照する商談に類似した商談を検索:
{
"referenceOpportunityId": "006XXXXXXXXXX",
"includeAnalysis": true
}
- 条件に基づいて検索:
{
"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
}
💻 開発
開発用にサーバーをローカルで実行するには:
.envファイルで環境変数を設定します- プロジェクトをビルドします:
npm run build
- サーバーを起動します:
node build/index.js
✨ 主な機能
- 🧠 AI を活用したインテリジェンス:高度な商談分析、会話からのインサイト、市場インテリジェンス
- 📊 パターン認識:パイプライン内の類似商談や成功パターンを特定します
- 📋 ビジネスケースの生成:TeXFlow を使用して、プロフェッショナルなビジネスケース文書を自動作成します
- 🔍 スマート検索:パターンマッチングとフィルタリングに対応した柔軟な商談検索
- 📈 パイプライン分析:パイプラインの健全性、成約率、パフォーマンス指標に関する詳細なインサイト
- 🔧 標準操作:カスタムフィールドに対応した CRUD 操作一式
- 📄 ドキュメント連携:TeXFlow MCP サーバーとシームレスに連携し、ドキュメントを生成します
- ⚡ AI 向けに最適化:AI モデルでの利用を想定したレスポンス構造
🌟 今後の展望
Salesforce API には、さまざまな拡張の可能性があります:
- より多くの Salesforce オブジェクトへの対応(リード、ケース、取引先責任者など)
- Salesforce Flow および Process Builder との連携
- 競合インテリジェンス機能の強化
- 大規模なデータセット向けの一括 API 操作
- Chatter API との連携およびソーシャルセリングに関するインサイト
- カスタムレポートおよびダッシュボードへのアクセス
- 高度な予測および予測分析
次に追加すると最も役立つ機能について、ぜひご意見をお聞かせください!
🤝 貢献
コミュニティからの貢献を歓迎します!新機能の追加、ドキュメントの改善、バグの報告など、皆さんのご協力がこのプロジェクトをより良いものにします。ぜひプルリクエストを送信するか、イシューを作成して話し合いを始めてください。
📄 ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。