sf-intelligence — Salesforce org intelligence for AI agents
ローカルsf-intelligence — Salesforce org intelligence for AI agents について
sf-intelligenceは、Salesforceのエンジニアや管理者向けに、組織のメタデータ、依存関係、変更影響をオフラインで分析するローカルMCPサーバーです。読み取り専用で根拠コンポーネントを示し、同意後には制限付きのライブ読み取りクエリも利用できます。
主な機能
- 01ローカルメタデータ保管庫
- 02コンポーネント依存関係と影響分析
- 03権限と自動化の分析
- 04根拠と確信度の提示
- 05変更リスクのレビュー
- 06デフォルトでオフライン・読み取り専用
活用シーン
- 01項目削除の影響を評価
- 02レコード保存時の自動化順を確認
- 03項目参照と権限の問題を特定
- 04デプロイ前に変更リスクを確認
MCP 対応
MCP経由でAIクライアントにSalesforce組織の分析ツールを提供し、デフォルトではローカルのメタデータ保管庫からオフラインで回答します。オプションのライブツールは明示的な同意が必要で、読み取り専用です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y sf-intelligenceSFI_VAULTAbsolute path to the org-kb vault this server should answer from, e.g. <your-sfdx-project>/org-kb. Set this: without it the server falls back to ./org-kb relative to whatever directory your MCP host happens to launch in, and an MCP host is almost never launched inside your Salesforce project. The server still starts without it and reports what it looked for via sfi.setup_status, but it will have no org to answer about.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
sf-intelligence
Salesforceを変更する前に、何が壊れるかを把握しましょう。 普段お使いのAIアシスタントに、組織について質問できます。sf-intelligenceはお使いのコンピューター上で動作し、組織に書き込みを行いません。また、すべての回答で、その根拠となったコンポーネントが示されます。

ウェブサイト、デモ、ドキュメント:sfi.auditforce.cloud · Claude Code、Claude Desktop、Cursor、VS Code + Copilot、Codexで動作します。
回答できる質問
以下の質問は、実際の本番組織(約4,700個のコンポーネント)を対象に、外部レビュアーが生のメタデータを確認して検証しました。回答は正確でした。
| 質問 | 得られる回答 |
|---|---|
| この項目はどこで使われていますか? | その項目を参照するすべてのApexクラス、フロー、レイアウト、入力規則、レポート、ページと、それぞれの検出方法(宣言、解析、ヒューリスティック) |
| この項目を削除できますか? | 判定(安全、リスクあり、ブロック要因あり、要確認)と、その理由および根拠となるコンポーネント。さらに、確認していない内容も示します |
| レコードを保存すると何が起きますか? | 1つのオブジェクトと1つのイベントについて、トリガー、入力規則、フロー、承認が実行される順序 |
| 使われていないApexはどれですか? | どこからも呼び出されないクラスとトリガー、およびその確度(確実、おそらく、判断不能)と理由 |
| 誰がこれを参照または編集できますか? | プロファイルと権限セットに基づく実効権限と、特定のユーザーがレコードを参照できない理由 |
組み込みデモ組織(Verdantという太陽光発電設備の設置会社)での実際の回答です。編集はしていません。
Project__c.Risk_Score__cを削除できますか? 削除は安全ではありません。ブロック要因があります。ProjectTriggerHandlerがこの項目に書き込み、ProjectTriggerHandlerTestが読み取っています(Apexを解析)。Residentialページレイアウトにも表示されています(宣言)。確認済み:Apex、フロー、ワークフロールール、入力規則、レイアウト。未確認:取得されていないため、割り当てルール、自動応答ルール、エスカレーションルール。
3つのコマンドで試す
npm install -g sf-intelligence
claude mcp add --scope user sf-intelligence-demo -- npx -y sf-intelligence demo # a built-in demo org, no Salesforce login; then ask your assistant a question
cd your-sfdx-project && sfi init --target-org my-org-alias # then: connect your own org (read-only retrieve)
sfi demo を単独で実行すると、MCP サーバーが起動してホストからの接続を待ちます。ターミナルで実行するコマンドではありません。
次に、AI ホストにサーバーを登録します。インストールガイドには、各ホスト向けの正確な設定ブロックが記載されています。ワンクリックで登録する場合はこちらです: Cursor で組み込みのデモ組織をワンクリックで試せます(Salesforce へのログインは不要です)。このサーバーをインストールする AI エージェントは、llms-install.md を参照してください。
デフォルトでは、アシスタントには16個のツールが表示されます。上記の質問に答える8個と、情報を見つけるのに役立つ8個(sfi.resolve、sfi.search_components、sfi.get_component、sfi.health_check、sfi.list_analyses、sfi.describe_analysis、sfi.run_analysis、sfi.live_consent)です。それ以外のすべての分析は、ゲートウェイツール sfi.run_analysisの背後にあり、sfi.list_analysesで一覧表示されます。Vault はローカルフォルダーにあり、回答はオフラインで提供されます。オプションの読み取り専用ライブプレーンは、有効にするまでオフになっています。AI アシスタントに表示される内容と表示されない内容については、プライバシーを参照してください。
エンジニア向け: Vault、依存関係グラフ、アシスタントの連携については仕組みを、意図的にモデル化していない内容については対応していないことを参照してください。
人に話しかけるように質問する
項目の正確な API 名を知っている必要はありません。入力ミスに対応するリゾルバーが曖昧な表現を適切なコンポーネントに変換し、確信が持てない場合は推測するのではなく、確認の質問をします。
あなた: emale フィールドはどこ?
アシスタント: 「email」に一致するものが複数見つかりました。どれを指していますか? ·
AccountのEmail__c·ContactのEmail__c·LeadのAlternate_Email__c
あなた: paymnet オブジェクトは?
アシスタント:
Payment__cです。一致の確度が高い候補が1つ見つかりました。
あなた: 「warranty fee」フィールドはありますか?
アシスタント: 確度の高い一致は見つかりませんでした。Vault が最後に更新されたのは 2026-05-20 です。新しい項目かもしれないので、組織から新しいメタデータを取得しますか(
/sfi-refresh)、それとも表現を変えてみますか?
推測を黙って確定することはありません。候補のコンポーネントが複数ある場合はどれを指しているのかを尋ね、一致するものがない場合は、組織から更新するか、終了するかを提案します。一致スコアが高くても、それは文字列の類似性を示すだけで、確実性を意味するものではありません。
仕組み
読み取り専用の更新を1回行うと、組織がローカル Vault になります。ここには、生のメタデータ、コンポーネントごとに1ページの Markdown、依存関係グラフが含まれます。それ以降の質問にはすべてオフラインで回答します。AI アシスタントは、入力された名前を解決し、デフォルトの16個のツールのいずれか(または、それ以外の分析にはsfi.run_analysis)を呼び出して、返された内容だけを使って回答を作成し、各コンポーネントを引用します。
flowchart TB
subgraph REFRESH["Refresh — once, and whenever the org changes"]
direction LR
ORG[("Salesforce org")] -->|"sf project retrieve (read-only)"| SRC["source/ raw metadata"]
SRC -->|"extract + parse Apex / Flow / XML"| VAULT[("Local vault<br/>Markdown + DuckDB graph")]
end
subgraph ASK["Ask — every question, offline on your machine"]
direction TB
Q["Your question<br/>(plain language)"] --> HOST["Your AI assistant<br/>(Claude, Cursor, Copilot, Codex)"]
HOST -->|"1 · sfi.resolve"| RESOLVE["The component you meant<br/>(or a clarifying question)"]
RESOLVE --> HOST
HOST -->|"2 · a core tool, or<br/>sfi.run_analysis for the rest"| TOOLS["sfi.* analysis"]
TOOLS -->|"read"| VAULT
TOOLS -.->|"opt-in, read-only, capped"| LIVE[("Live org")]
TOOLS -->|"cited components + confidence<br/>+ what was not checked"| HOST
HOST --> ANS["Grounded answer"]
end
質問への経路上にあるボックスはすべてお使いのマシン上で動作します。点線で示されたライブ組織への接続だけが Salesforce にアクセスできますが、それもお客様が有効にした場合に限ります。
信頼性を保つ仕組み
すべての回答はツールの出力に基づいており、一般的な Salesforce の知識から生成されることはありません。各リレーションシップには、その検出方法が示されます。declared(メタデータに記載)、parsed(Apex、Flow、または数式のソースから解析)、heuristic(パターンマッチングのため、実行前にスポットチェックが必要)です。各回答では、確認したメタデータファミリーと確認していないメタデータファミリーが示されるため、「これを参照しているものはありません」は、常に「取得した情報には証拠がありません」という意味になります。組織の変更を求めるリクエストは拒否され、代わりに適切な読み取り専用の確認方法が案内されます。「これは何を意味するのか」という質問には、決定論的でオフラインの一般的な Salesforce の事実に関する概念モデル(組織のデータは一切使用しません)が、参照元を明示した構造上の主張を追加します。たとえば、主従関係でのカスケード削除や、実行順序が定義されていない 2 つのフローなどです。詳細については、ルーティングと拒否、アーキテクチャと信頼境界、質問のしかた、ADR-001 信頼度タグ付きエッジ、ADR-008 決定論的推論をご覧ください。
質問できること
どの分野についても平易な言葉で回答します。最新の一覧を確認するには、「何ができますか?」と尋ねてください。
| 分野 | 質問例 |
|---|---|
| 検索と特定 | 「メールフィールドはどこにありますか?」・「支払いオブジェクトの名前は何ですか?」 |
| 理解 | 「この入力規則は何をしますか?」・「Account の保存時に何が起きますか?」(標準オブジェクトの自動化は、オブジェクト自体が取得されていない場合でも機能し、その旨が回答に示されます) |
| 影響と依存関係 | 「このフィールドを削除すると何が壊れますか?」・「このフローを無効化しても安全ですか?」 |
| 権限と共有 | 「このユーザーはなぜこのレコードを表示できないのですか?」・「Salary フィールドを編集できるのは誰ですか?」・「Sales Manager 権限セットを保持しているのは誰ですか?」(ライブ)・「ユーザー Jane は何を保持していますか?」(ライブ)・「Support キューには誰がいますか?」(ライブ)・「権限セットの割り当てが 0 件の有効なユーザーは誰ですか?」(ライブ) |
| 自動化とコード | 「Case の作成時に何が実行されますか?」・「実質的なテストカバレッジがない Apex メソッドはどれですか?」・「この Apex デバッグログ/ガバナ制限の例外から、実行されたクラスを特定してください」 |
| 意思決定支援(構築・変更前) | 「このオブジェクトに自動化を追加する前に、すでに実行されているものを教えてください」・「ここに Apex を構築する場合、注意すべき点は何ですか?」・「このフィールドを変更/必須にする前に、何が壊れるか教えてください」 |
| アーキテクトと開発者 | 「循環する Apex 依存関係はありますか?」・「テストから参照されていないクラスはどれですか?」・「Vault は今もライブの組織と一致していますか?」 |
| インテグレーション | 「この組織はどの外部システムと通信しますか?」・「すべてのアウトバウンドエンドポイントを一覧表示してください」 |
| ドキュメント | 「この組織の概要を説明してください」・「データディクショナリを生成してください」・「説明のないレポート/オブジェクト/権限セットはどれですか?」 |
| 健全性と監査 | 「Vault の情報は最新ですか?」・「PII はどこに保存されていますか?」・「更新をまたいで組織はどのように変化しましたか?」 |
これらはすべて読み取り専用の説明であり、組織に書き込みを行うことはありません。回答で名前が挙げられるすべてのコンポーネントはツール呼び出しによって裏付けられ、正規 ID(CustomObject:Account、CustomField:Account.Industry__c)が引用されます。また、すべてのリレーションシップには信頼度(declared、parsed、または heuristic)が付与されます。最新の件数を含む全カタログは、sfi.run_analysis 経由の sfi.capabilities、またはツールページで確認できます。件数は eval/product-manifest.json に固定されており、手入力されることはありません。
対応していないこと
境界は明確です。一般的な Salesforce の知識で不足を取り繕うのではなく、境界に達したときはそのことを明示します。
- デフォルトではオフラインです。 Vault ツールは会話中に Salesforce を呼び出しません。メタデータを更新するには、
/sfi-refresh(またはsfi refresh)を実行してください。オプトイン方式のライブツール(sfi.live_*)は、厳格な上限を設けた読み取り専用クエリを実行し、回答にlive_orgというラベルを付けます。sfi.live_consent { grant: true }(組織とユーザーに紐づき、対象範囲が限定され、有効期限があり、ローカルに保存されます)で組織ごとに一度同意するか、SFI_LIVE_PLANE_ENABLED=1を設定するまで、これらのツールは無効です。呼び出しごとのliveEnabled: trueは意図を示すだけで、同意ではありません。ハイブリッド回答は Vault とライブ組織の両方を組み合わせ、その旨を示します。どの組織にクエリを実行するかを、製品が独自に選ぶことはありません。 - レコードレベルのデータには対応していません。 Vault が保存するのはスキーマとソースであり、レコードではありません。「前四半期に商談はいくつ成立しましたか」という質問には、組織に直接問い合わせる必要があります。
- 静的解析であり、実行時解析ではありません。 依存関係のエッジはメタデータとソースから取得します。動的 SOQL、リフレクティブな Apex、実行時のメタデータ参照は検出できないため、「参照が見つかりません」は「静的な証拠がありません」という意味であり、「確実に使われていません」という意味ではありません。
- 推論はルール照合であり、LLM によるものでも、ライブチェックでもありません。 構造に関する主張では、コードとメタデータの形状に含まれるパターンを示し、一致した ID を引用します。ガバナーやセキュリティに関する概念はシグナルであり、実行時の侵害や脆弱性が立証されたことを意味するものではありません。結果が空の場合は、ルールに該当しなかったという意味であり、そのコンポーネントに依存するものが何もないという意味ではありません。
- 読み取り専用です。 製品が組織に書き込むことはありません。書き込み経路はありません。
- テスト済みのスケールです。 CI では、3 つの上限をゲートとして確認します。10,000 ノードのグラフインポートを 90 秒未満で完了すること、
CustomObject+CustomFieldの 1,000 ファイルの更新を 10 分未満で完了すること、CI の Vault で resolve の p95 が 2 秒未満であることです。非常に大規模な本番組織では、取得対象を絞るか、複数の Vault が必要になる場合があります。
デプロイ前に変更をレビューする(PR ゲート)
sfi review-change はデプロイ前のゲートです。PR、package.xml、または git diff が変更するコンポーネントを渡すと、対象組織の最後の Vault 更新に基づき、すべてオフラインで、コンポーネントごとのリスク判定(blocking/risky/review/safe)、各コンポーネントに直接依存するもの、および実行すべきテストを、最も危険なものから順に返します。依存先があるコンポーネントを削除すると、安全側に倒して失敗(blocking)します。確実な依存先があるコンポーネントを変更すると risky となり、全体の判定には対象全体で最も悪いものが適用されます。別の Vault(--against)を指定すれば、その組織のグラフに基づき、「この変更セットは 本番環境 の何かを壊しますか?」という問いに答えられます。同じ分析は MCP 経由で sfi.review_change として利用できます。
同じ分析は GitHub Action としても提供されています。.github/actions/review-change にある複合 Action は SARIF 2.1.0(検出結果は PR の「変更されたファイル」タブと Security タブにインラインで表示されます)と Markdown の PR コメントを出力し、終了コード 0/1/2 でゲートします。docs/ci/review-change-pr-gate.example.yml を組織のリポジトリにコピーして設定してください。sfi refresh は実行せず、sf CLI も呼び出しません。すでに構築済みの Vault の読み取りのみを行います。
まず試してみる — Salesforce 組織は不要です
ご自分の組織に接続する前に、動作を確認してみませんか?(または、実際の回答を先に
sfi.auditforce.cloud/demoでご覧ください。)
1 つのコマンドで、組み込みの合成デモ組織(架空の太陽光発電設備会社「Verdant Energy」)
を MCP 経由で提供します。完全オフラインで、認証もsf CLI も不要です:
# Register the demo server with Claude Code (or any MCP client):
claude mcp add --transport stdio --scope user sf-intelligence-demo -- npx -y sf-intelligence demo
claude -pでスクリプトを実行しますか?質問を先に指定し、サーバーのツールを許可してください。そうしないと、実行しても回答は返されません:claude -p "What happens when I save a Project?" --allowedTools mcp__sf-intelligence-demo。対話セッションでは、最初に一度だけ質問します。
次のような質問をしてみてください:
- Project を保存すると何が起きますか?
Invoice__c.Amount__cを削除すると、何が壊れますか?- Installer が Invoice を参照できないのはなぜですか?
- ガバナー制限のリスクがある Apex はどれですか?
初回実行では、サーバーが回答する前にデモ用ボールトを構築します(~/.sf-intelligence/demoにキャッシュされます)。
これに加えて、npxによるパッケージのダウンロードも行うため、
初回の起動には10~20秒かかる場合があります。2回目以降はすぐに起動します。クライアントが
起動時にタイムアウトする場合(Codex のデフォルトは約10秒です)、起動タイムアウト
(Codex ではstartup_timeout_sec、Claude Code ではMCP_TIMEOUT)を延長するか、
もう一度起動してください。データがマシンの外に送信されることはありません。実際の組織を使用する準備ができたら、以下のインストールに従ってください。
インストール
各 AI アシスタントの手順を、コピーして貼り付けられる設定とともにご案内しています:sfi.auditforce.cloud/getting-started。
sf-intelligenceは npm 上でsf-intelligenceとして配布されています。MCP
サーバーと sfiコマンドラインツールが含まれます。MCP
クライアントにサーバーを一度登録すれば、以降の操作はすべてsfiから実行できます(Claude Code 内では、これをラップする
/sfi-*スラッシュコマンドを使用できます)。
要件:Node.js 20+と、ボールトを作成する対象の組織を指定した認証済みの
Salesforce CLI(sf)が必要です。その他はすべてnpxが取得します。
MCP サーバーを登録する
すべてのホストで同じコマンドを起動します。各ホストは異なる形式の別々の設定ファイルを読み込みます。ご利用のホストを選んでください。ホストとプラットフォームごとの詳細(macOS と Windows の正確なパス、ログの場所、接続できない場合の対処方法)は docs/guides/mcp-hosts.md に記載されています。エラーメッセージとその対処方法については docs/guides/troubleshooting.md をご覧ください。以前のリリースからの移行については docs/guides/upgrading.md をご覧ください。
| ホスト | 設定ファイル | 最上位のキー |
|---|---|---|
| Claude Code | .mcp.json(プロジェクト)または ~/.claude.json | mcpServers |
| Claude Desktop | claude_desktop_config.json | mcpServers |
| Cursor | .cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json | mcpServers |
| Codex | ~/.codex/config.toml | [mcp_servers.*](TOML) |
| VS Code + GitHub Copilot | .vscode/mcp.json | servers |
| Cline(VS Code 拡張機能) | cline_mcp_settings.json(Cline → MCP Servers → Configure から) | mcpServers |
Claude Code — Salesforce DX リポジトリで、プロジェクト単位の設定として追加します(リポジトリのルートに .mcp.json が作成されます。このファイルには絶対パスのボルトが埋め込まれるため、ファイルをコミットせずに、各チームメンバーが同じコマンドを一度実行すれば済みます)。
claude mcp add --scope project sf-intelligence -- \
npx -y sf-intelligence mcp --vault "$PWD/org-kb"
Claude Desktop — 次のブロックをクライアントの MCP 設定(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json)に追加し、アプリを終了して再度開きます。
{
"mcpServers": {
"sf-intelligence": {
"command": "npx",
"args": ["-y", "sf-intelligence", "mcp", "--vault", "/abs/path/to/org-kb"]
}
}
}
Cursor — 同じブロックを、プロジェクトルートの .cursor/mcp.json(またはすべてのプロジェクトで使用する場合は ~/.cursor/mcp.json)に記述します。Cursor はファイルを自動で再読み込みしません。Settings → MCP でサーバーをいったんオフにしてからオンにするか、Cursor を再起動してください。
VS Code + GitHub Copilot — プロジェクトに .vscode/mcp.json を作成します。最上位のキーは mcpServers ではなく servers である点に注意してください。ここに Claude のブロックを貼り付けても、構文エラーにはなりませんが、何も登録されません。
{
"servers": {
"sf-intelligence": {
"type": "stdio",
"command": "npx",
"args": ["-y", "sf-intelligence", "mcp"],
"cwd": "${workspaceFolder}",
"env": { "SFI_VAULT": "${workspaceFolder}/org-kb" }
}
}
}
Codex — codex mcp add sf-intelligence -- npx -y sf-intelligence mcp --vault /abs/path/to/org-kb を実行するか、~/.codex/config.toml に同等の TOML を記述します。
Cline(VS Code 拡張機能)— Cline → MCP Servers → Configure MCP Servers を開くと、cline_mcp_settings.json が開きます。上記の Claude Desktop のブロックを貼り付けてください(同じ mcpServers キーと、絶対パスの --vault パスを使用します)。Cline は保存時にファイルを再読み込みします。
クライアントを再起動します。これで sfi.* ツールを利用できます。「何ができますか?」と尋ねると、最新のツール一覧が表示されます。
--vaultには必ず絶対パスを指定してください。 サーバーは自身の作業ディレクトリを基準に./org-kbを探しますが、ほとんどのホストでは作業ディレクトリが自動的に選択されます。Claude Desktop とユーザースコープの VS Code サーバーは、Salesforce プロジェクト内で実行されることはありません。どこでも設定を機能させるには--vaultが必要です。最初の
sfi refreshを実行する前は、サーバーはセットアップモードで起動します。接続時に提供されるツールはsfi.setup_statusだけで、次に実行するコマンドをチャットに伝えます。これは想定どおりの動作です。アシスタントにセットアップを依頼してください。
ヒント:
npm install -g sf-intelligenceを実行すると、sfiコマンドが PATH に追加されます。そのため初回セットアップでは、長いnpx -y sf-intelligence …形式の代わりにsfi init/sfi refreshを使えます。
オプション:全ツール一覧とコンパクトなコア
デフォルトは16個のツールからなるコア構成(sfi.live_consent を含む)です。その tools/list は約21 KB(テストでは40 KB未満に維持されています)です。全ツール構成は約525 KB で、最初の質問の前にホストがこのサイズを読み込みます。コア以外のツールも sfi.run_analysis 経由で利用できます(バイト単位で同一)。コア構成では、それらを直接呼び出すことはできません。SFI_TOOL_PROFILE=full を設定するか(または上記の設定ブロックに "env": { "SFI_TOOL_PROFILE": "full" } を追加すると)、全ツールを公開して直接呼び出せるようになります。詳細についてはdocs/configuration.mdを参照してください。すべての sfi コマンドについてはdocs/cli.mdで説明しています。
Claude Code プラグインとしてインストールする
上記の MCP 登録で利用できるのは sfi.* ツールです。sf-intelligence を Claude Code プラグインとしてインストールすると、Salesforce に関する用語が出てくると自動的に有効になる 26 個のスキル(ツール名を覚える必要はありません)と、sfi CLI を実行する 5 つのスラッシュコマンド(/sfi-onboard、/sfi-init、/sfi-refresh、/sfi-status、/sfi-field-audit)も利用できます。このリポジトリのマーケットプレイスからインストールしてください。
/plugin marketplace add PranavNagrecha/Salesforce-Intelligence
/plugin install sf-intelligence@sf-intelligence
現在のセッションで反映するには、/reload-plugins を実行するか、Claude Code を再起動してください。/plugin list でインストール済みかつ有効になっていることを確認できます。このプラグインのマニフェストには、上記と同じ MCP サーバーが登録されているため、別途 claude mcp add を実行する必要はありません。ただし、プラグインはボルトの場所を特定できません。--vault を渡さないため、SFI_VAULT に org-kb フォルダーの絶対パスを設定する(シェルのプロファイルまたはホストの env ブロック内)か、org-kb を含むフォルダーから Claude Code を起動してください。回答が空の場合は、「サーバーは設定されていますか?」と尋ねてください。どこを確認したかが表示されます。
プラグインに含まれるのはスキルとスラッシュコマンドです。.claude/agents/ 内のエージェントファイルは含まれません。/sfi-field-audit はエージェントファイルがなくても動作し、監査をインラインで実行します。このリポジトリをクローンし、2 つの salesforce-field-*.md ファイルをプロジェクトの .claude/agents/ にコピーすると、並列処理パスが有効になります。
初回実行
組織ごとのリポジトリ、つまりボルト化する Salesforce DX プロジェクト(sfdx-project.json があるディレクトリ)で作業してください。初回の更新は読み取り専用です。メタデータを取得してローカルのナレッジベースを構築しますが、Salesforce へのデプロイやデータの変更は行いません。sfi init は org-kb/meta/manifest.json、config.json、version.txt を残してコミット対象にし、ボルトの残りの部分(ソース、グラフ、スナップショット、その他の meta/ ファイル)は組織データとして無視します。
# 0. New here? The guided path walks install → auth → init → refresh → ask,
# with real starter questions at the end.
sfi quickstart
# 1. Create the local org-kb/ vault layout and record which sf org alias to use.
sfi init
# 2. Retrieve metadata and build the vault.
sfi refresh --target-org my-org-alias
# 3. Confirm vault freshness, source-tree hash, and component counts any time.
sfi status
# sfi doctor checks the sf CLI, the vault, target-org auth, freshness, and the
# graph file, and prints an actionable fix for each problem.
sfi doctor
更新にはどれくらい時間がかかりますか? 小規模なサンドボックスなら数分で構築できます。本番規模の組織では、通常、デフォルト設定で 約 10〜12 分かかります。時間の大半は取得処理にかかります。また、デフォルトのビルドでは、パーサー品質の Apex 処理(数百クラスあたり数秒)も実行し、実際の使用状況に基づく上位 500 件のレポート/ダッシュボードも取得します(レポートの多い組織では 1〜2 分かかります。--no-reports でスキップできます)。大規模な組織で急いでいますか?sfi refresh --staged を実行すると、数秒で骨組みだけのボルトを利用できるようになり、数分以内に優先度の高い 10 種類のメタデータが揃います。その後、完全なビルドがバックグラウンドで完了します。詳しくは初回更新ガイドを参照してください。デフォルトでは、更新のたびに再抽出し、グラフ全体を再構築します(結果は常に初回ビルドと一致します)。--incremental は同じ結果を得るためにファイルごとの解析キャッシュを再利用し、処理を高速化します。さらに --incremental-graph を指定すると、グラフを再構築する代わりに、変更されたノード/エッジのみを再インポートします。両方を組み合わせると、最大の効果が得られます。--types <list> を使うと、どちらのフラグも特定のメタデータタイプに限定できます(例:sfi refresh --types Flow --incremental-graph)。範囲を指定した更新では、指定したタイプのみが対象となり、ボルト内の他のタイプはすべてそのまま保持されます。
グローバルインストールをしていない場合は、各コマンドの先頭に npx -y sf-intelligence を付けてください。例:npx -y sf-intelligence init。
登録した MCP クライアントで、ボルトが回答できることなら何でも尋ねてください。
Account オブジェクトにはどのような項目がありますか?
CustomField:Account.Industry__cを削除すると、どのような影響がありますか?Standard User プロファイルで Opportunity が表示されないのはなぜですか?
この組織の概要を教えてください。
sf-intelligence を Claude Code プラグインとして実行していますか? 同じ操作をスラッシュコマンドで実行できます。/sfi-onboard(初回実行ガイド)、/sfi-init、/sfi-refresh、/sfi-status が利用でき、Salesforce 関連の用語が出てくると、コーチングスキルが自動的に有効になります。まだプラグインとしてインストールしていない場合は、上記のClaude Code プラグインとしてインストールするを参照してください。
HTTP 経由で提供する(読み取り専用)
sfi mcp は、MCP クライアントが起動する stdio サーバーです。ほかのマシンやクライアントと 1 つのボルトを共有するには、同じサーバーがストリーム可能な HTTP にも対応しています。
# From the vault directory: prints a bearer token once, listens on 127.0.0.1:8787.
sfi serve --http --generate-token
# Team path: JSON token→identity map (annotation writes attribute to the caller).
# sfi serve --http --tokens-file ./tokens.json
リモートでの運用は意図的に厳格にしています。すべてのリクエストでベアラートークンが必要です(単一の --token / --generate-token、または呼び出し元ごとの ID を指定する --tokens-file)。--host を渡さない限り、バインド先はループバックです(ループバック以外のホストを指定すると警告が表示され、トークンなしでの実行は拒否されます)。また、ライブプレーンは HTTP 経由では完全に無効化されます。ホストが継続的なライブの同意を得ていても、リモートの呼び出し元が Salesforce API の利用枠を消費することはありません。実行中のサーバーの背後で更新しても安全です。新しいグラフに切り替わるまで、読み取り側は古いグラフからの応答を続けます。
ボルトに記憶を持たせる
# One-time, from the vault directory: inits a git repo INSIDE org-kb/
# (rebuildable surfaces like graph/ and snapshots/ are gitignored).
sfi vault git enable
以降、更新のたびにボルトのソースとレンダリング済み Markdown がコミットされるため、「このコンポーネントはいつ変更されたのか?」や「以前はどのような状態だったのか?」という問いに、ボルト自身の履歴から答えられるようになります(sfi.run_analysis 経由の sfi.component_history と sfi.component_as_of)。Git のないボルトでも、エラーではなく、正直に available: false とこの有効化のヒントを返します。
プライバシー
この製品の処理はすべて、お使いのマシン上で完結します。ボルト(org-kb/)はローカルフォルダーです。MCP サーバーはデフォルトで SFI_NETWORK_MODE=off となり、ボルトに関する質問に答える際にネットワーク通信を行いません。外部への通信が発生するのは、ユーザーが要求した場合のみです。具体的には、sfi refresh 中の Salesforce からの取得、同意を与えた後の読み取り専用ライブクエリ、および SFI_UPDATE_CHECK=1 の場合のみ行われる npm の更新確認です。
制御できないことが 1 つあります。AI アシスタントには、ほかの入力内容と同様に、すべての質問と回答が表示されます。回答に含まれるオブジェクト名、項目名、クラス名、判定結果は、そのアシスタントのプロバイダー(Claude、Cursor、GitHub Copilot、Codex)に、それぞれの利用規約に従って送信されます。sf-intelligence 自体がデータをアップロードすることはありません。メタデータには、会社が承認したアシスタントを使用してください。
この公開リポジトリには、組織データは一切含まれていません。リリースごとに公開対象セットをプライバシーガードでスキャンし、実際の組織識別子が漏れている場合はビルドを失敗させます。ボルトに保存したデータは、ユーザーのものです。
アンインストール
- ホストからサーバーを削除します。
claude mcp remove sf-intelligenceを実行してください (Claude Code の場合。プロジェクトスコープで登録した場合は--scope projectを追加します)。または、インストールに記載されているホストの設定ファイルからsf-intelligenceのエントリを削除してください。デモを追加している場合は、同じ方法でsf-intelligence-demoも削除します。 - Claude Code プラグインをインストールしましたか?
/plugin uninstall sf-intelligence@sf-intelligenceを実行します。 - ドリフトウォッチャーを実行していますか? ボルトを保存したプロジェクトで
sfi watch stopを実行します。 - CLI をグローバルにインストールしましたか?
npm uninstall -g sf-intelligenceを実行します。(npxは永続的なインストールを行いません。) - データを削除します。ボルトに保存した各 Salesforce プロジェクトの
org-kb/、~/.sf-intelligence/(デモ用ボルト、ライブ同意の許可、フィードバック、ルートギャップのログ)、および組織をまたいだ比較のためにボルトを登録した場合は~/sf-intelligence-vaults/を削除してください。
Salesforce 組織には何も残りません。この製品が書き込みを行うことはありません。
ロードマップ
この製品は設計上、現在は読み取り専用です。これが今後の開発における主要な方向性です。
- コード解決の深化。 現在、解析された Apex の呼び出しエッジには呼び出されたメソッド名が含まれています。残りの複合ツールは、まだクラス単位で推論しています。これらのツール全体でメソッドレベルの到達可能性を扱うことが、次の段階です。
- 慎重な書き込み機能。 読み取り側が成熟した段階で、人によるレビューを前提とした、オプトイン方式の少数の提案ツール(権限セットの差分案や入力規則の編集案の作成など)を追加します。デフォルトは常に読み取り専用です。
(以前のロードマップ項目は提供済みです。Tooling API による古いボルトの検出は、sfi watch デーモンとドリフトバッジになりました。リモートでの読み取り専用サービスは sfi serve --http です。)
フィードバック
回答が不十分または誤っている場合、あるいは適切なルートに振り分けられなかった質問があれば、ぜひお知らせください。最も役立つ情報です。ローカルに記録され、外部には送信されません。
sfi feedback mark "where is the SSN field used" --wrong # or --weak
sfi feedback export # → sfi-feedback.json (scrubbed)
sfi feedback export を実行すると、ローカルのルート不足ログと評価がまとめられ、組織の個人情報(メールアドレス、URL、レコード ID)が削除されたファイルが作成されます。コンポーネント名と API 名は重要な手がかりとなるため、そのまま保持されます。エクスポートの対象は、デフォルトで現在のボールトに限定されます。ログファイルはマシン全体で共通する場所(~/.sf-intelligence/)にありますが、それぞれの不足記録には質問対象のボールトが記録され、現在のボールトの不足記録だけがエクスポートされます(除外された件数はファイルに記載されます)。--all を指定すると、マシン全体のログがすべてエクスポートされます。複数の組織で作業している場合は、共有する前に内容を確認してください。ファイルを共有するか、不足している内容を記述して、https://github.com/PranavNagrecha/Salesforce-Intelligence/issues までお知らせください。
貢献
バグ報告、機能リクエスト、抽出機能の不足には、それぞれ専用の Issue テンプレートがあります。プルリクエストには簡単なチェックリストがあります。開発環境のセットアップ、テストコマンド、ツール追加のルールについてはCONTRIBUTING.mdを、リポジトリの構成についてはREPO-STRUCTURE.mdをご覧ください。セキュリティに関する報告は、公開 Issue ではなく、非公開のアドバイザリを通じてお寄せください(SECURITY.md)。
ライセンス
sf-intelligence は**MIT License**のもとでライセンスされています(NOTICEもご覧ください)。0.5.0 より前のリリースには Commons Clause 条項が付いていましたが、0.5.0 で削除されました。簡単に説明すると、次のとおりです。
- ✅ 商用利用を含む、あらゆる目的で無料で利用できます: 使用、複製、変更、結合、公開、配布、サブライセンス、販売が可能です。著作権表示とライセンス表示をそのまま付けてください。 (これは平易な言葉による要約です。適用されるのはLICENSEの内容です。法的助言ではありません。)
ドキュメント
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。