Salesforce の mcp server でできることを VibeCody に聞いてみた
Salesforce の開発エージェント Vibe Cody に、Salesforce の mcp server でできることを聞いてみたよ!
自分のメモも兼ねて投稿します。
はじめに
Salesforce MCP サーバー( https://github.com/salesforcecli/mcp )が提供する主なツールと用途のカタログです。
実装観点で、いつ使うべきか・入力要件のポイントも併記します。
1. get_username
- 目的: デプロイ/取得/テストなど他ツールに渡す org の username/alias を安全に解決
- 代表的用途: 既定のターゲット org(または Dev Hub)を取得
- 入力要点: defaultTargetOrg, defaultDevHub の指定。曖昧な場合は両方 false で解決候補を返す
2. deploy_metadata
-
目的: ローカルのメタデータを org にデプロイ
-
代表的用途: force-app の変更を反映、特定のディレクトリ/manifest を指定してデプロイ、テストレベルの制御
-
入力要点:
- sourceDir or manifest(曖昧依頼なら未指定で差分計算)
- apexTestLevel または apexTests(両方は同時指定しない)
- usernameOrAlias(不明なら get_username で解決)
3. retrieve_metadata
-
目的: org からローカルへメタデータを取得
-
代表的用途: 最新設定の引き込み、特定コンポーネント/manifest の取得、差分確認
-
入力要点:
- sourceDir or manifest(曖昧依頼なら未指定で必要コンポーネント計算)
- usernameOrAlias(不明なら get_username)
4. run_soql_query
- 目的: 指定 org に対する SOQL 実行
- 代表的用途: データ確認、設定検証、ID の取得、デバッグ補助
- 入力要点: query は必須。Tooling API 利用可否(useToolingApi)は必要時のみ
5. run_apex_test
-
目的: Apex テストの実行と結果取得
-
代表的用途: 単一/複数テストクラス実行、全ローカル/全組織テスト、非同期実行、カバレッジ集計
-
入力要点:
- testLevel(RunLocalTests / RunAllTestsInOrg / RunSpecifiedTests)
- RunSpecifiedTests の場合は classNames(必要に応じて methodNames)
- async/verbose/codeCoverage の指定
- usernameOrAlias
6. assign_permission_set
-
目的: パーミッションセットの付与
-
代表的用途: UAT/開発ユーザへ権限付与、自分または「onBehalfOf」指定の他ユーザへ割当
-
入力要点:
- permissionSetName は単一
- onBehalfOf は明示時のみ
- usernameOrAlias
7. list_all_orgs
- 目的: ローカルに認証済みの org 一覧を取得
- 代表的用途: 接続確認、対象 org の選定
- 入力要点: ディレクトリ指定のみ。org 選定には get_username 推奨
8. resume_tool_operation
- 目的: 途中で中断/非同期の長時間ジョブを再開/待機
- 代表的用途: デプロイジョブ、テストラン、スクラッチ org 作成、スナップショットなどの継続
- 入力要点: jobId が必須。必要に応じて wait 分指定、usernameOrAlias
9. guide_lwc_development
- 目的: LWC 開発のガイダンスを取得(設計/実装ベストプラクティス)
- 代表的用途: 新規コンポーネントの構成、状態管理、テスト、イベント設計の指針
10. orchestrate_lwc_component_creation
- 目的: LWC 作成を段階的にオーケストレーション
- 代表的用途: 要件定義→雛形生成→テスト→アクセシビリティ確認のワークフロー提示
11. create_lwc_component_from_prd
- 目的: PRD(要件)から LWC を自動生成するための支援
- 代表的用途: PRD テキストを入力し、フィールド・UI・イベントの雛形生成ガイド
12. guide_lwc_accessibility
- 目的: LWC のアクセシビリティ改善ガイド(画像有りなら Vision AI 観点も)
- 代表的用途: ARIA、キーボード操作、コントラスト、代替テキスト、フォーカス管理
13. detect_devops_center_merge_conflict
-
目的: DevOps Center の特定 Work Item を対象に、ターゲットブランチとの競合検出
-
代表的用途: マージ前の衝突チェック、自動で対象ブランチ/リポジトリを解決
-
入力要点:
- workItemName(厳密一致必須)
- username(DevOps Center org)
- localPath(通常は作業リポジトリ)
14. resolve_devops_center_merge_conflict
-
目的: 上記検出結果に基づく競合解消手順の提示(ファイル別に具体コマンド)
-
代表的用途: keep current/incoming/both の選択、ステージング〜コミットまでの誘導
-
入力要点:
- workItemName(厳密一致)
- username(DevOps Center org)
- localPath
実務での使い分けの指針
-
org 指定の原則: usernameOrAlias が不確かな場合は必ず get_username を先行使用
-
デプロイ/取得の絞り込み:
- manifest を持つ場合は manifest 指定
- 単一/限定範囲なら sourceDir 指定
- 作業差分を一括反映したい曖昧依頼は未指定(自動計算)
-
テスト戦略:
- 開発時は RunSpecifiedTests で対象を最小化
- CI/本番前検証は RunLocalTests(パッケージ外のみ)または RunAllTestsInOrg
-
DevOps Center:
- マージ前に detect_devops_center_merge_conflict → 競合があれば resolve_devops_center_merge_conflict を実施
-
LWC 開発:
- 仕様検討は guide_lwc_development / guide_lwc_accessibility
- 自動生成型は orchestrate_lwc_component_creation / create_lwc_component_from_prd を活用
補足(運用ルール)
- Salesforce CLI は sf 系を使用(sfdx 形式は非推奨)
- 実 org 操作(デプロイ/取得/テスト/PermSet)は影響範囲があるため、usernameOrAlias を厳密に解決してから実行
- 新規オブジェクト/クラス/トリガ作成時はメタデータ XML を併せて用意する
この機能カタログは実装手順に直結できるように整理しています。必要であれば、上記のいずれかのツールについて具体的な実行例(パラメータ指定のサンプル)を提示した実装ガイドを提供します。
Discussion