mcpField
M
mcp-server-mcdev

mcp-server-mcdev

ローカル
github.com/JoernBerkefeld開発ツール04 日前に更新

mcp-server-mcdev について

mcp-server-mcdevは、AIクライアントからAccenture SFMC DevTools(`mcdev`)のネイティブなメタデータワークフロー、コマンド検索、診断、オフライン文書検索を利用できるようにします。MCP stdioでローカル実行され、認証情報はmcdevが管理します。

主な機能

  1. 01対応するネイティブmcdevコマンドの実行
  2. 02コマンド構文と実行可否の確認
  3. 03同梱Wiki文書のオフライン検索
  4. 04プロジェクト設定とGitメタデータの確認
  5. 05プロジェクト成果物の一覧表示と読み取り

活用シーン

  1. 01SFMCメタデータの取得またはデプロイ
  2. 02BU間でのメタデータのビルドや複製
  3. 03mcdevコマンドの説明や文書の検索
  4. 04プロジェクト成果物と取得ログの確認

MCP 対応

ローカルのMCPサーバーとしてstdio経由で動作し、mcdevの実行、調査、診断、ガイダンス用の20ツールを公開します。mcdevのネイティブな認証情報ストレージを使用します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"joernberkefeld-mcp-server-mcdev": {
"command": "npx",
"args": [
"-y",
"mcp-server-mcdev"
]
}
}
}
起動コマンドnpx -y mcp-server-mcdev

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

パッケージ
npmmcp-server-mcdev2.0.0

ツール

5

掲載時のツール一覧 · 4 日前に更新

パラメーター型必須説明
limitintegerいいえ結果の最大数(デフォルトは 8)。
querystringはい検索クエリ(キーワード)。

詳細

mcp-server-mcdev

AI を通じて Accenture SFMC DevTools(mcdev)を利用できます。ネイティブのメタデータワークフローを実行し、コマンド構文を確認し、失敗の原因を特定して、同梱されたプロジェクト Wiki をオフラインで検索できます。サーバーは MCP stdio 経由でローカル実行されます。ネイティブの認証情報は mcdev のストレージに保持されます。

AMPscript/SSJS 言語の検証と検索には、mcp-server-sfmc を組み合わせてください。

要件

Node.js ^22.22.2 || >=24.15.0 が必要です。このサーバーは npm の mcdev 10.1.1 リリース系列を使用します。mcdev を別途グローバルにインストールする必要はありません。

MCP Registry

io.github.JoernBerkefeld/mcp-server-mcdev として登録されています(クイックスタート)。Registry がホストするのはメタデータのみです。サーバーは stdio 経由でローカル実行されます。

公開後に確認するには、次を実行します。

curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.JoernBerkefeld/mcp-server-mcdev"

CI は GitHub OIDC を使用して npm アーティファクトと Registry メタデータを公開します(Actions のドキュメント)。.github/workflows/npm-publish.yml を参照してください。npm への公開が成功すると、CI は npm Registry での反映を待つために 5 分間待機してから、MCP Registry のメタデータを公開します。

ツール

サーバーは、以下に示す 20 個のツールを公開します。run_mcdev_command は、サポート対象の非対話型コマンドを実行するネイティブな方法です。reconcile_mcdev_operation は、オペレーターによる照合後に限り、不確実な操作を示すラッチを解除します。残りの 18 個のツールは、調査、診断、ガイダンスを提供します。プレビューはドライランでも、実行の承認でもありません。カタログ項目では、実行可能な非対話型ケースと、サポート対象外またはプロンプトへの応答が必要なケースを区別しています。

ツール目的
run_mcdev_command明示的に要求された、サポート対象のネイティブ mcdev コマンドを、正確な argv トークンと明示的な対象/選択肢を指定して実行します。長時間実行される操作、キャンセル、範囲を限定した診断に対応します。ネイティブなローカル/リモートへの影響が発生します。完了しても、リモートで独立した検証が行われるわけではありません。
reconcile_mcdev_operation関連プロセスが停止し、部分的な影響が調整されたことをオペレーターが確認した後、不確実なネイティブ操作のラッチを解除します。調整の実施や検証、コマンドの再試行、別の操作の許可は行いません。
mcdev_search_docsバンドルされた sfmc-devtools wiki の Markdown をキーワードで検索します。結果数の上限は任意で指定できます。
mcdev_get_doc_section検索 Source ID と UTF-16 オフセットを使用して、未レビューのバンドル済み wiki セクションをページ単位で取得します。取得した記述は推奨を意味するものではありません。
mcdev_explain_config_key設定トピック(markets、marketList、createDeltaPkg、…)について、概要と wiki のヒントを示して説明します。
mcdev_component_checklistコンポーネントに関する質問と、一般的な依存メタデータタイプ(journey、automation、…)を返します。
mcdev_list_metadata_typesMcdev.explainTypes() のタイプをサイレント JSON モードで一覧表示します。名前または API 名による絞り込みも可能です。
mcdev_list_commandsレビュー済みのコマンド宣言とエイリアスを、実行可能なコマンドや argv 許可リストではなく、参考情報として一覧表示します。
mcdev_get_command大文字と小文字を区別して、完全一致するコマンド名またはエイリアスを検索します。実行や承認ではなく、参考情報を提供します。
read_mcdev_project_config正規の絶対プロジェクトルートから、認証情報やカスタムフィールドを含む、完全な未編集の元の .mcdevrc.json テキストを返します。.mcdev-auth.json は読み取りません。
diagnose_mcdev_project_config設定に関する部分的な静的所見を提示し、まずビジュアル MCDev Pipeline Builder を推奨します。書き込み、ネイティブな検証、実行準備状況の評価は行いません。
preview_mcdev_project_config現在の設定を、パッチではなく完全な提案 JSON ドキュメントと比較します。適用は行わず、全体の結果サイズ上限内で、未編集の変更内容と部分的な静的診断を返します。
inspect_mcdev_git_policyローカルの Git ステータス/参照メタデータと、リモート追跡ブランチの系譜を調べます。ブランチ規約、リモートの最新状態、BU の同期状況は未検証のままです。認証情報の保護確認とは別に行います。
inspect_mcdev_git_rangeローカルの Git メタデータを使って、明示的に指定された 2 つの参照を比較します。呼び出し元が宣言した昇格/逆昇格の関係を 1 つ注釈として付与することもできます。ポリシー、ブランチの役割、リモートの最新状態/BU の同期状況を推測・検証することはありません。
inspect_mcdev_project完全な未編集の設定を返し、認証情報の内容や履歴を読み取ることなく、Git の ignore/index メタデータから認証情報の保護を個別に確認します。修復、ステージング、追跡解除は行いません。
inventory_mcdev_project_artifacts設定済みの取得/デプロイパスを、範囲を限定したメタデータのみの走査で一覧化します。成果物の内容の読み取りや依存関係の確認は行いません。
resolve_mcdev_project_artifact明示的に指定された 1 つのルート/認証情報/BU/タイプ/キーの識別情報を、ローカルのクエリ、スクリプト、または範囲を限定したアセットメールのパスと編集可能な関連ファイルに解決します。依存関係の確認やリモートの最新状態の保証は行いません。
read_mcdev_artifact_source条件を満たすクエリ、スクリプト、または範囲を限定したアセットメールの識別情報について、完全な元の UTF-8 編集可能ソースと、元のバイト列の SHA-256 を引き渡します。必要に応じて、メールの明示的な sourceRole で HTML/プレヘッダー/テキストを選択します。レンダリング、検証、実行は行いません。ホストが関連するバリデーターを調整しますが、テキスト/SQL の検証は確立されていません。
preview_mcdev_project_command明示的な設定マッピング、レビュー済みのタイプ、リテラルキー、サポート対象のオプションに基づき、取得/デプロイのガイダンスのみのプレビューを提示します。パスと実行準備状況は不明のままです。サブプロセスの起動やドライランは行いません。
diagnose_mcdev_retrieve_logs正確に指定された 1 件のクエリ/Script 取得と、明示的な UTC 時間範囲について、範囲を限定した過去の通常ログを読み取ります。有限の所見と、ベース名/時刻のみの出所情報を返します。生ログやリモート側の完全性は返しません。再実行は行いません。
設定の検査では、読み取り範囲を制限し、パスを確認し、失敗時の応答をサニタイズします。これらは秘匿化ではありません。呼び出し側は、ファイルシステムが同時に変更されないようにする必要があります。これらのチェックは、アトミックなファイルシステムサンドボックスではありません。.mcdev-auth.json はコンテンツの読み取り対象から除外されます。

ネイティブ実行

mcdev_list_commands/mcdev_get_command を呼び出して、ネイティブのシグネチャと実行可否を確認します。次に、絶対パスの workspaceRoot、正規の command、およびコマンドの後に続く正確な argv トークンを含む args を指定して、run_mcdev_command を呼び出します。シェルのメタ文字はリテラルな引数として扱われ、シェルは起動されません。セレクター、タイプ/サブタイプのサポート、検証、フォーマット、テンプレート処理、デプロイは、インストール済みの npm mcdev が担います。

たとえば、クエリを取得するには、次のようにします。

{
  "workspaceRoot": "F:\\Projects\\marketing",
  "command": "retrieve",
  "args": ["development/Main", "query", "welcome-query"]
}

その他のネイティブワークフローでも、同じ形式を使用します。

  • アセット/メールの取得:コマンドは retrieve、引数は ["development/Main", "asset-email", "welcome-email"] です。
  • 取得したソースからのオートメーションのデプロイ:コマンドは deploy、引数は ["development/Main", "automation", "nightly-import", "--fromRetrieve"] です。
  • マーケットベースのビルド:build を使い、引数は ["--buFrom", "development/Main", "--buTo", "production/Main", "--marketFrom", "development", "--marketTo", "production", "--metadata", "query:welcome-query", "--no-purge"] とします。生成された出力を確認してから、別の deploy コマンドを明示的に要求してください。
  • テンプレートと定義のワークフロー:ネイティブの位置引数とマーケット/リスト引数を指定して、buildTemplate、buildDefinition、または buildDefinitionBulk を使用します。ネイティブ設定により、すべての templateBuilds の出力先が制御されます。これはクエリ SQL や単一のデプロイディレクトリに限定されません。
  • BU 間のクローン:clone を使用し、--buFrom、--buTo、--metadata と、真偽値の --purge または --no-purge を明示的に指定します。ネイティブのクローン用マーケットとビルド動作が適用されます。
  • その他のネイティブコマンド:badKeys と document は、ネイティブ形式のローカルレポートを書き出します。explainTypes --json は範囲を制限した構造化タイプカタログを返します。resolveId BU asset ID --json は確認済みのアセット解決フィールドを返し、リモートメタデータの認証や読み取りを行う場合があります。これらの出力専用コマンドでは、JSON モードとサポート対象のログオプションが必要です。デバッグ/詳細表示オプションや、サポートされていない結果形式は起動前に拒否されます。
  • getFilesToCommit は引き続き検出できますが、実行はブロックされます。インストール済み CLI がその結果を破棄するためです。代わりに mcdev のローカルプログラマティック API を使用してください。宣言済みの一覧は、実行可能範囲を示すものではありません。

起動前に、不足している選択肢を指定してください。ターミナルのエミュレーション、自動的な --yes、カスタムの同意トークン、繰り返しの上書き確認は追加されません。実際の操作には、通常の MCP ホスト承認が適用されます。明示的な選択肢を必要とするプロンプト依存の組み合わせは、推測せずブロックされます。deploy で共有 Data Extension を修復するには、--fixShared=ChildA,ChildB(または別個の明示的な値)、あるいは設定済みのすべての子を対象とする --fixShared=* を指定してください。サーバーは起動前に、選択した各認証情報についてすべての名前を検証し、親 BU を除外して、空または競合する選択肢を拒否します。インストール済みの mcdev 10.1.1 CLI は、明示的な選択をそのまま処理します。ブリッジ、未公開の依存関係、実行時パッチは不要です。修復を無効にするには --no-fixShared を使用してください。値を指定しない --fixShared では、必要な選択肢を指定できません。

ネイティブの retrieve は、--no-purge を指定しても既存の生成済み出力を削除することがあります。ビルドでは、一時テンプレートや出力がパージされる場合があります。deploy はリモートメタデータを変更し、オプションでそれを実行、スケジュール、公開、または更新することがあります。ネイティブの認証情報の更新/永続化、プロジェクトフック、設定済みの出力パスも、引き続きネイティブの副作用を伴います。開発者が管理する信頼できるプロジェクトのみを使用してください。このアダプターはサンドボックスではありません。ビルド/retrieve のリクエストは、deploy やオートメーション実行の許可を意味するものではありません。 結果では、プロセスの成否/終了コードを、範囲を限定して確認した診断メッセージや検証上の制限から分けて示します。不明または機微なネイティブ出力は、未加工のログ/API 本文として返さず、抑制します。抑制や切り詰めは明示します。秘匿化のために認証ファイルを読み取ることはありません。終了コード 0、生成ファイル、ネイティブログだけでは、リモートとの同期が独立して検証されたことにはなりません。失敗または中断されたコマンドでは、一部の処理が実行済みの場合があります。ロールバックや自動再試行は行いません。

汎用ランナーでは、timeoutMs を任意に指定して最大 24 時間の長時間処理を実行できます。AI クライアント側のタイムアウトも、それに応じて設定してください。進捗通知によって、クライアント側のハードタイムアウトが延長されることはありません。同じプロジェクトに対する処理はこのサーバープロセス内で直列化されますが、外部ツールとのロックは行いません。明示的なターゲットと、設定済みのマーケットリストの送信先は、起動前に範囲を限定したプロジェクト設定と照合されます。不明なターゲットは拒否し、ネイティブの選択プロンプトには渡しません。起動後にキャンセルまたはタイムアウトが発生した場合、直接の子プロセスが終了していても、子孫プロセスの終了が確認されない限り、プロジェクトはブロックされた状態に保たれます。すべてのプロセスと部分的な処理結果を照合してから、operatorReconciled: true を指定して reconcile_mcdev_operation を呼び出してください。この確認応答自体が照合を検証したり、実行したりするわけではありません。

ホストの機能ルーティング

plan_mcdev_change プロンプトは、ネイティブのメタデータ処理を run_mcdev_command にルーティングし、オプションの補完機能向けに有限の 8 インテントディレクトリを維持します。言語検証はオプションの言語機能にルーティングされ、プラットフォームの検出、識別子の検索、ドキュメント全体のチェックが行われます。SQL テキストの検証、Data Extension の行操作、トランザクション定義の管理は、オプションのベンダー MCE 機能の候補です。DE メタデータは行へのアクセスではなく、定義の管理はメッセージの送信ではありません。実際の送信は引き続き手動/未サポートです。ただし、ホストが適切な機能を独自に検出し、その前提条件と認可を確認した場合は除きます。

これはプロバイダーに依存しない静的なガイダンスであり、実行時の検出、接続済みツールの一覧、サーバー間 RPC ではありません。ホストは実際の完全なスキーマをその都度検出し、説明を信頼できない参考情報として扱い、認証情報/セッションの内容を読み取らずに、適切なアカウント/BU コンテキストを安全に確立する必要があります。機能がない場合、またはコンテキストを利用できない、不適切、未検証の場合は、その機能に依存するルートのみをブロックします。要求された操作に適した方法で、アカウントデータへのアクセスとその利用について認可を得てください。診断やメタデータの要求によって、実行時の処理、送信、連絡先の変更、行の書き込みが認可されることはありません。通常のホスト承認は引き続きホストが管理し、新たな独自の同意手順は追加しません。

補完機能がなくても、既存の制限の範囲内でネイティブのメタデータとオフラインドキュメントは利用できます。利用できない検索、SQL/言語検証、ベンダー操作は、未実行として明示してください。ガイダンスによって、検証の完了やローカル/リモート間の同期が確認されることはありません。ローカル成果物/ソースの確認手順はメタデータソースの作業向けであり、行のみ、または送信のみを目的とする場合の前提条件ではありません。このディレクトリでは、セットアップ/取得手順も、リモート書き込みの照合自動化も追加しません。ツール数は 20、コマンド/エイリアス宣言のカバレッジは 31/26 です。宣言が存在するだけでは実行可能なサポートが確立されるわけではありません。各コマンドの実行可否を確認してください。

ベンダーへの書き込みに関する調整ガイダンス

ベンダーのメタデータを直接編集する場合と同じ目的を達成できる場合は、ローカルの mcdev ソース編集とビルド/デプロイのガイダンスを優先してください。個別に許可されたベンダーへの作成/更新を行う場合、次のステップに進む前に、実際に検出された契約に基づき、同じアカウント/BU のコンテキストでリモート処理の完了を確認してください。その後、ローカルとの同期状態を正確に評価し、サポートされている対象を絞った取得を行います。完了状態が受理済み/実行中/失敗/不明の場合、取得、自動再試行、独自に考案したポーリングは行わず、同期は保留のままにします。サポートされている検査を通じて、正規のプロジェクト、認証情報、BU、タイプ、リテラルな外部キー、正確な JSON/付随ファイルの保存先を特定してください。ID、保存先、成果物の存在が不確かな場合は、存在しないと推測せず、保留のままにします。

クリーン、変更あり、付随ファイルのみの各成果物、編集内容/不確実性、ネイティブな上書き/削除の可能性/認証情報の永続化への影響を評価し、開示してください。既存の許可は明示された範囲内で尊重してください。成果物が存在するだけで、ネイティブな影響や上書きについて改めて確認する必要はありません。通常のホスト承認はホスト側の管理下にあります。実際に拒否された場合は、成果物に手を加えず、同期を保留のままにします。確認を求めるのは、未解決の選択事項、または既存の許可範囲外の権限に限ってください。明示的に要求された、サポート対象の取得を絞って実行する場合は、汎用ネイティブランナーを使用してください。要求された範囲で明示的に指定されていない限り、選択範囲を全タイプ/BU のフォールバックに拡大しないでください。行、ランタイム、送信、連絡先には、推測でメタデータ上の同等物を当てはめないでください。取得の失敗、部分取得、変更なし、未検証、または終了状態が不明の場合は、保留のままにします。ローカルへの反映はリモート側の完全性を証明するものではなく、古い内容を黙ってデプロイする根拠にもなりません。これはホスト向けのガイダンスであり、同期の自動化、新しいツール、ロック、ポーリング、サーバー間呼び出しではありません。

Git のプロモーションに関する明示的な評価

inspect_mcdev_git_range に必要な引数は引き続き workspaceRoot、sourceRef、targetRef のみです。declaredEdge を省略すると、元の比較のみの JSON レスポンスが維持されます。任意で declaredEdge: "promotion" または "back-promotion" を渡すと、direction: "source-to-target"、basis: "exact-source-commit-ancestry"、policySource: "caller-declared" を含む promotionAssessment が追加されます。どちらの種類でも、指定された source と target をそのまま使用します。back-promotion で順序を逆にしたり、ブランチの役割を推測したりすることはありません。

評価の status は、エンドポイントが同一または target が進んでいる場合は contained、source が進んでいる場合、または shallow ではない状態で分岐が検証された場合は not-contained、エンドポイントまたは祖先関係が未検証の場合(shallow な状態で否定的な結果が不確定な場合を含む)は unknown です。評価対象は、指定された正確な source コミットが target のローカルな祖先に含まれるかどうかのみです。cherry-pick されたメタデータや、それ以外の同等なメタデータは評価しません。not-contained は、メタデータの変更が欠けていることや、必要な back-promotion が省略されたことを意味しません。プロジェクト全体のポリシー/検出、リモートの最新性、デプロイの準備状況、リモート BU との同期は確認されません。検査中は、プロジェクト/Git の同時変更を防止してください。これはアトミックスナップショットではありません。

AI クライアントの接続

他の stdio MCP サーバーと同じパターン(args にパッケージ名を指定)で mcp-server-mcdev を登録します。

VS Code (1.99+) — .vscode/mcp.json
{
  "servers": {
    "mcdev": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-server-mcdev@latest"]
    }
  }
}
Cursor — ~/.cursor/mcp.json またはプロジェクトの .cursor/mcp.json
{
  "mcpServers": {
    "mcdev": {
      "command": "npx",
      "args": ["-y", "mcp-server-mcdev@latest"]
    }
  }
}
Claude Desktop

macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json を使用します。Cursor と同じ mcpServers オブジェクトの形式を使用してください。

Windsurf

~/.codeium/windsurf/mcp_config.json を使用します。Cursor と同じ mcpServers の形式です。

グローバルインストール(起動が高速)
npm install -g mcp-server-mcdev

その後、"command": "mcp-server-mcdev", "args": [](またはこのパッケージの bin フィールドに記載されたバイナリ名)を使用します。

過去の retrieve ログ診断

diagnose_mcdev_retrieve_logs は、一般的なログ内容リーダーを禁止するルールの例外として用意された、読み取り専用の専用ツールです。必須フィールドを正確に7つ受け付けます。workspaceRoot、credential、businessUnit、metadataType(query または script)、key、startedAfter、startedBefore です。設定済みの正確なエイリアスと、リテラルキーを1つ指定してください。両方の時刻には、実在するミリ秒付きUTC ISOタイムスタンプ(例:2026-10-22T11:00:00.000Z)を指定する必要があります。時刻の範囲は両端を含み、間隔は24時間以内でなければなりません。呼び出し元からパス、フラグ、予算の上書きを指定することはできません。

過去ログの相関分析は、mcdev 10.1.0 および 10.1.1 に対応しており、正規の結合コマンド表記は retrieve credential/BU query key または retrieve credential/BU script key です。credential、BU、key はそれぞれ [A-Za-z0-9_][A-Za-z0-9_.-]{0,127} に一致する必要があります。オプション、コマンドエイリアス、引用符、空白・リスト・ワイルドカードによるセレクター、複数BUを指定する呼び出しには対応していません。これは、エスケープされずに結合された引数が元々どのように入力されたかを推測しないため、文法を意図的に厳しく限定したものです。バージョンとコマンド、retrieve、修飾されたBU、正確なtype/keyの各記録は、タイムスタンプ付きのファイル名と一致する必要があります。更新日時だけを根拠にログを選ぶことはできません。

プロジェクトの logs ディレクトリ直下にある、タイムスタンプ名の通常の .log ファイルのみを非公開で読み取ります。-errors.log の関連ファイルは対象外です。検出対象はディレクトリエントリ256件、候補16件までに制限され、ファイルごとの上限は1 MiB、合計の上限は4 MiBです。上限超過、リンク、ハードリンク、通常ファイル以外のファイル、または検出された変更がある場合は、安全側に倒して処理を中止します。呼び出し中は、プロジェクトとログに変更が加わらない状態を保ってください。これらのチェックでは、外部からの排他制御は強制されず、アトミックなファイルシステムサンドボックスも提供されません。

結果には、status(matched、no-match、ambiguous、unsupported、blocked または unavailable)、remoteCompletenessVerified: false、および logs が含まれます。失敗時にログは含まれません。一致時に含まれるのは、最新の相関対象となる通常ログのベース名、呼び出しのUTCタイムスタンプ、有限個の検出コードと件数、抑制されたレコード数までです。検出内容は retrieve-start-observed、type-key-observed、download-zero-observed、download-nonzero-observed のみです。開始やダウンロードが観測されても、リモート側での成功や完全性が証明されるわけではありません。不明なレコード、パーサーの断片、API本文は抑制され、秘匿化後も返されません。生ログ、絶対パス、ネイティブエラー、セレクター、シークレットは公開されず、認証情報やセッションの内容も一切調べません。

--noLogFile を指定して行われたネイティブ呼び出しについては、このリーダーで利用できる過去ログはありません。ログが見つからない場合や、証拠が不明なものだけの場合は、正直な制約として扱い、retrieveを繰り返す理由にはしないでください。検出内容が不十分な場合は、生ログを共有せず、安全なローカルワークフローを通じて手動で調査してください。このツールは、サブプロセスの起動、ネットワークリクエスト、ネイティブ実行、情報提供要求、再試行、APIログの再実行を一切行わず、それらを許可することもできません。

SFMC DevTools VS Code 拡張機能

SFMC DevTools 拡張機能では、AIを活用したmcdevワークフロー向けの任意のMCPセットアップについて説明しています(そのリポジトリのREADMEを参照してください)。

同梱 Wiki の更新

通常の npm run bundle-wiki、ビルド、フック、公開前処理では、コミット済みの bundled/wiki を再利用し、隣接するチェックアウトは読み込みません。隣接する ../sfmc-devtools.wiki チェックアウトから明示的に更新するには、次のコマンドを実行します。

npm run bundle-wiki -- --refresh

クリーンな公開済みソースディレクトリ、またはレビュー済みのソースディレクトリを使う場合は、SFMC_DEVTOOLS_WIKI を設定し、更新を明示的に要求します。

export SFMC_DEVTOOLS_WIKI=/absolute/path/to/reviewed-wiki
npm run bundle-wiki -- --refresh

PowerShell では、$env:SFMC_DEVTOOLS_WIKI = 'F:\path\to\reviewed-wiki' を使用します。通常のビルド、フック、公開前処理では、この変数が設定されていてもソースを読み込みません。更新元が存在しないか空の場合、別のチェックアウトに暗黙的にフォールバックせず、失敗します。更新時にローカル注釈との競合が発生した場合は、エクスポートされた bundleWiki API を使って、以前の SHA-256 と提案された SHA-256 を正確に照合する必要があります。強制更新用の CLI フラグはありません。

公開済み Wiki のベースラインは、クリーンなリモートコミット 6a87898ba811ba9f5ad3553e72cce97f128a8601(Wiki タグではなくコミット)であり、mcdev 10.1.1 向けに更新されています。bundled/wiki-provenance.json には、公開ページのハッシュ、正確な更新照合の内容、およびローカルで注釈を付けた6ページそれぞれの最終バイト列のハッシュが記録されています。ソースには引き続き not-reviewed のマークが付いています。公開済みのクリーンなスナップショットを取り込んでも、上流の主張すべてを支持することにはなりません。

Getting Started、Updating mcdev、Admin Commands、Git-based deployments and CI/CD には、拡張機能に同梱予定の CLI に関するガイダンスと、任意の Git に関するガイダンスが、明示的に保留中/未リリースのまま残されています。Templating Commands と Advanced Configuration には、ローカルでの動作や安全性に関する修正が残されています。これらの注釈は、保留中の VS Code 拡張機能がリリースされたことを示すものではありません。共通の Data Extension 選択に関するドキュメントは公開済み Wiki から取り込まれています。初回プッシュの修正と、ブール値の --purge/--no-purge 修正は、mcdev 10.1.1 のリリースノートに基づいてリリース済みとマークされています。公開済み Wiki では purge の修正が引き続き保留中と記載されているため、バンドルではその古いラベルをローカルで修正しています。今後の更新では、残りの注釈をすべて保持するか、明示的に照合してください。

ライセンス

MIT © Jörn Berkefeld

コメント

MCP は初めてですか?

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

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