Microsoft Advertising (Bing Ads) について
Microsoft Advertising MCP サーバーは、Bing Ads API を通じてローカル MCP クライアントにアカウント、キャンペーン、ターゲティング、レポートのデータを提供し、変更のプレビューにも対応します。書き込みは既定で無効で、アカウント許可リストと顧客所有者の検証によりアクセスを制限します。
主な機能
- 01キャンペーン、広告グループ、広告、キーワードの読み取り
- 02ターゲティング、オーディエンス、UET、コンバージョン目標の確認
- 03メディア、動画、アセットグループの読み取り
- 04非同期レポートの送信と取得
- 05書き込みのプレビューと一時停止状態での作成
- 06アカウント許可リストと所有者の検証
活用シーン
- 01アカウント内の広告とターゲティング設定の確認
- 02コンバージョン目標と UET タグの確認
- 03非同期レポートから実績データを取得
- 04広告設定の変更をプレビュー
MCP 対応
MCP サーバーとして、stdio 経由で 20 個の読み取りツール、23 個の任意の書き込みツール、ガイドリソースを提供します。クライアントは環境変数で Microsoft Advertising の認証情報とアカウント許可リストを設定し、書き込みには明示的な有効化と確認が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @getmcpads/bing-ads-mcp-serverBING_ADS_DEVELOPER_TOKENシークレットYour developer token. Required in production; the sandbox uses the universal token.BING_ADS_CLIENT_IDApplication (client) ID of your OAuth app registration.BING_ADS_CLIENT_SECRETシークレットClient secret, only for a web app registration or Google identity.BING_ADS_REFRESH_TOKENシークレットRefresh token with the msads.manage and offline_access scopes. Kept in memory only.BING_ADS_CUSTOMER_IDCustomer ID that owns the accounts, unless every account entry carries its own.BING_ADS_ACCOUNT_IDSComma-separated allowed account IDs, optionally accountId:customerId. Required even for reads.BING_ADS_ENVIRONMENTproduction (default) or sandbox.BING_ADS_IDENTITY_PROVIDERMicrosoft (default) or Google, for users who sign in with Google.BING_ADS_OAUTH_TENANTシークレットMicrosoft Entra tenant for the token endpoint. Defaults to common.BING_ADS_ENABLE_WRITEStrue exposes 23 write tools. Defaults to false. Writes preview until confirm:true.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Microsoft Advertising MCP サーバー
Microsoft Advertising アカウントを MCP クライアントに接続します。
Bing Ads API を通じてキャンペーン、ターゲティング、レポートを読み取り、明示的に選択したアカウントに対する変更を準備できます。
動画を見る · 新着情報 · インストール · ツールリファレンス · ホスト版 getmcpads を試す
この動画では、サンプルデータを使ったホスト版 getmcpads を紹介しています。クリエイティブギャラリーやアラートから Google Sheets へのエクスポート、一括配信まで、MCP Apps はホスト版製品に含まれます。このリポジトリが提供するのは、スタンドアロンのネイティブ API ツールです。
読み取りツール 20 個 · 書き込みツール 23 個(デフォルトでは無効)。
独自の Microsoft Advertising 認証情報と、Claude Desktop、Claude Code、Cursor など stdio MCP に対応したクライアントを使ってローカルで実行できます。リクエストは Bing Ads API に直接送信されます。対応する ChatGPT の構成を含む、管理された接続にはホスト版をご利用ください。
新着情報
v1.0.0:初のスタンドアロンリリース · 2026 年 10 月 23 日
- getmcpads ゲートウェイのネイティブ Microsoft Advertising ツールをリビジョン 3e1c2c8 から移植した、初のスタンドアロンリリースです。
- 読み取りツール 20 個:アカウントの検出、キャンペーン、広告グループ、広告、キーワード、ターゲティング、オーディエンス、UET タグ、コンバージョン目標、メディア、動画、Performance Max アセットグループ、画像インベントリ、書き込みおよびレポートのスキーマ、非同期レポート。
- 書き込みツール 23 個(デフォルトでは無効):キャンペーン、広告グループ、広告、キーワード、オーディエンス、ターゲティング条件、アセットグループ、UET タグ、コンバージョン目標の作成と更新、名前変更、画像のアップロード、動画のインポート。すべての書き込み操作は
confirm: trueを指定しない限りプレビューを表示します。新しいエンティティは一時停止状態で作成されます。 - 認証情報は
BING_ADS_*環境変数から取得します。アクセストークンは、リフレッシュトークンを使ってメモリ内でのみ更新されます。 - 明示的なアカウント許可リストと所有顧客のチェック、固定の API およびトークンホスト、リダイレクトなし、タイムアウト、応答サイズ制限、認証情報の秘匿化を備えています。
- Node.js 22.23.4、24.22.1、26.12.1、またはこれらの系列のより新しいリリースが必要です。それ以外のバージョンでは stderr に警告が出力されます。
ソースの同期:SOURCE_SYNC.md。
アップグレードに関する注意
Node.js 22.23.4、24.22.1、26.12.1、またはこれらの系列のより新しいリリースが必要です。これらのリリースには 2026 年 10 月のセキュリティ修正が含まれています。それより古いバージョンでサーバーを起動すると、stderr に警告が出力されます。CI では Node 22、24、26 を対象としています。書き込み機能は引き続き任意であり、明示的な確認が必要です。ホスト版のクリエイティブ連携と MCP Apps UI は今回のリリースには含まれません。
このリリースをインストールする
これはGitHubのソースリリースです。npm版とMCP Registry版は別途公開されています。以下のコマンドではこの特定のバージョンを指定します。このドキュメントの後半にある、バージョンを固定していないnpxの例では、npmで現在利用可能なバージョンが選択されます。
git clone --branch v1.0.0 --depth 1 https://github.com/get-mcp-ads/bing-ads-mcp-server.git
cd bing-ads-mcp-server
npm ci
npm run build
以下に記載されている認証情報を使い、絶対パスのdist/cli.jsを指定してnodeを実行するように、MCPクライアントを設定してください。パッケージがnpmに公開された後は、クライアントからnpxで実行できます。
{
"mcpServers": {
"microsoft-advertising": {
"command": "npx",
"args": ["-y", "@getmcpads/bing-ads-mcp-server"],
"env": {
"BING_ADS_DEVELOPER_TOKEN": "your-developer-token",
"BING_ADS_CLIENT_ID": "your-app-client-id",
"BING_ADS_REFRESH_TOKEN": "your-refresh-token",
"BING_ADS_CUSTOMER_ID": "1234567",
"BING_ADS_ACCOUNT_IDS": "7654321"
}
}
}
}
npm run doctorは値を表示せずに、どの変数が設定されているかを報告し、Node.jsのリリースも確認します。
マネージド接続: ホスト型のgetmcpadsでMicrosoft Advertisingを利用する。アカウントを接続し、アシスタントがアクセスできるデータを選択して、ホスト型のMCP接続を利用してください。最新の機能とプランについては、サイトをご覧ください。
設定
クライアントのシークレット設定を通じて、以下の環境変数を指定してください。
| 変数 | 用途 |
|---|---|
BING_ADS_DEVELOPER_TOKEN | 開発者トークンです。本番環境では必須です。サンドボックスでは常にMicrosoft共通のサンドボックストークンが使用されます。 |
BING_ADS_CLIENT_ID | Microsoft Entraアプリ登録、またはGoogle OAuthクライアントのアプリケーション(クライアント)IDです。 |
BING_ADS_CLIENT_SECRET | クライアントシークレットです。ウェブアプリ登録またはGoogle IDの場合にのみ使用します。パブリックアプリの場合は設定しないでください。 |
BING_ADS_REFRESH_TOKEN | https://ads.microsoft.com/msads.manageおよびoffline_accessスコープで付与されたリフレッシュトークンです。 |
BING_ADS_CUSTOMER_ID | アカウントを所有する顧客の顧客IDです(ウェブアプリのURL内のcid)。すべてのアカウントエントリに独自の値が含まれている場合を除き、必須です。 |
BING_ADS_ACCOUNT_IDS | 必須のアカウントID許可リストです(ウェブアプリのURL内のaid)。カンマ区切りで指定します。別の顧客が所有するアカウントには、accountId:customerIdと記述してください。最大200件です。 |
BING_ADS_ENVIRONMENT | production(デフォルト)またはsandboxです。環境ごとに専用の認証情報が必要です。 |
BING_ADS_IDENTITY_PROVIDER | Microsoft(デフォルト)またはGoogleです。GoogleアカウントでMicrosoft Advertisingにサインインするユーザー向けです。 |
BING_ADS_OAUTH_TENANT | トークンエンドポイントのMicrosoft Entraテナントです。デフォルトはcommonです。 |
BING_ADS_ENABLE_WRITES | デフォルトはfalseです。値がtrueと完全に一致する場合にのみ、書き込みツールが公開されます。 |
Microsoftの各手順については、開発者トークンを取得する、アプリケーションを登録する、ユーザーの同意を求める、アクセストークンとリフレッシュトークンを取得するをご覧ください。Google IDを使用する場合の手順も含まれています。ウェブアプリに表示される8文字のアカウント番号ではなく、数値のアカウントIDを使用してください。
このパッケージはリフレッシュトークンを受け取りますが、ブラウザーでのOAuthフローは実行しません。アクセストークンの有効期限が切れる1分前に更新し、アクセストークンとローテーションされたリフレッシュトークンがある場合は、それもメモリ内にのみ保持します。Microsoftは、たとえばパスワード変更後など、いつでもリフレッシュトークンを無効化できます。パブリックアプリに発行されたリフレッシュトークンは、それを取得したデバイスでのみ更新できることが保証されています。リフレッシュに失敗した場合は、新しいトークンを取得してサーバーを再起動してください。
安全性と対象範囲
書き込みはデフォルトでプレビューされます。confirm: true を指定して再度呼び出す前に、アカウント、対象、パラメーターが正確であることを確認してください。
キャンペーン、広告グループ、広告、キーワード、アセットグループは一時停止状態で作成されます。コンバージョン目標は一時停止状態で作成され、入札対象から除外されます。Status を Active に設定すると費用が発生し始める可能性があり、プレビューでは activationMaySpend によって警告されます。
結果が不確かな場合は、書き込みを自動的に再試行しないでください。まずアカウントを読み取り、内容を照合してください。確認済みの呼び出しで applied: "partial" が返された場合、一部の項目は適用され、残りは拒否されています。
アクセスできるのは BING_ADS_ACCOUNT_IDS に含まれるアカウントのみです。アカウントの検出結果には、それらのアカウントのみが返されます。データの返却または変更の前に、サーバーはアカウントを読み取り、Microsoft が設定済みの顧客を所有者として報告しない場合は処理を停止します。不明な引数は拒否されます。
ネイティブの REST フィールド、レポート列、単位は保持されます。レポートの値は、Microsoft が記録したとおり文字列のままで、アカウントの通貨単位を使用します。64 ビット ID は正確に保持されます。
レポートは非同期です。bing_get_insights は、bing_get_report がポーリングするレシートを返します。レシートは、発行したサーバープロセス内で 1 時間有効です。レポートが返す行数は最大 2,000 件です。
Microsoft はユーザー単位およびアカウント単位で呼び出し制限を適用します。エラー 117 は呼び出し頻度が上限を超えたことを示します。制限期間がリセットされるまでお待ちください。
このサーバーは、Campaign Management、Customer Management、Reporting サービスのうち、レビュー済みの一部を公開します。請求、一括アップロード、Ad Insight 操作、顧客間でのアカウント共有、変更履歴は含まれません。
ネイティブのメディア読み取りと書き込みが含まれます。ホスト型クリエイティブギャラリー、ビジュアルエディター、MCP Apps UI は対象外です。
正確なスキーマについては tools/list または server-card.json を、プロバイダーの詳細については Microsoft Advertising API のリファレンス をご覧ください。
Microsoft 独自の MCP サーバー
Microsoft は Microsoft Advertising MCP サーバーを公開しており、Microsoft Learn にドキュメントがあります:セットアップガイド、ツール、ユースケース。2026 年 6 月、Microsoft は発表の中で、このサーバーを読み取り専用アクセスのオープンパイロットへ拡大すると発表しました。
以下の相違点は、2026 年 10 月 23 日時点でこれらのページに記載されている内容に基づきます。
| Microsoft の MCP サーバー | このサーバー | |
|---|---|---|
| 実行場所 | https://partner.api.bingads.microsoft.com/ext/mcp/vnext のリモートエンドポイント | stdio 経由でローカル実行 |
| 認証 | クライアントでの Microsoft Entra ID OAuth。ChatGPT、Claude、Copilot Studio では独自のアプリ登録が必要 | 環境変数に設定する開発者トークンとリフレッシュトークン |
| ドキュメントに記載されたツール | 9 個のツール。Microsoft によると、アカウントデータを変更することはありません | 読み取りツール 20 個と、オプトイン方式の書き込みツール 23 個 |
| エンティティの読み取り | アカウント、キャンペーン、広告グループ、広告、キーワード、アセットグループ、アセット、オーディエンス関連付け。フィルタリング、並べ替え、ページネーション、任意のパフォーマンス指標に対応 | アカウント、キャンペーン、広告グループ、広告、キーワード、ターゲティング条件、オーディエンス、UET タグ、コンバージョン目標、メディア、動画、アセットグループを、ネイティブの REST オブジェクトとして取得 |
| レポート | エンティティツールでのパフォーマンス指標、アセットのパフォーマンス、アカウントの変更履歴 | 非同期の Reporting API。8 種類のレポートと、それぞれのネイティブ列に対応 |
| 書き込み | なし | プレビューと確認を伴う作成および更新。作成される項目は一時停止状態 |
ホスト型オプション
getmcpads for Microsoft Advertising では、ホスト型の接続とアカウント選択を管理できます。 ホスト型リリースとソースリリースでは、内容が異なる場合があります。お問い合わせ先:[email protected]。
開発
npm run typecheck
npm run lint
npm run build
npm test
npm run catalog
すべてのテストは合成レスポンスを使用してオフラインで実行されます。実際のアカウントは変更されません。
ツール
すべてのツールを以下に示します。パラメーターと出力スキーマの詳細については、server-card.json を参照してください。bing-ads://guide リソースは、bing_get_setup_guide と同じ対象範囲、安全性、制限に関する注意事項を返します。
20 個の読み取りツール
| ツール | 目的 |
|---|---|
bing_list_accounts | このユーザーがアクセスできる、設定済みアカウントを名前、番号、通貨、ステータス、所有顧客とともに一覧表示します。 |
bing_health_check | 選択したアカウントを読み取り、環境、所有顧客、通貨を確認します。 |
bing_get_campaigns | 1 種類のキャンペーンについて、ネイティブのキャンペーン設定、予算、設定項目、ステータスを読み取ります。 |
bing_get_ad_groups | 所有するキャンペーン内の広告グループと、そのネイティブ設定を読み取ります。 |
bing_get_ads | 指定した広告フォーマットの広告について、ネイティブのクリエイティブアセット、URL、ステータスを読み取ります。 |
bing_get_keywords | 所有する広告グループのキーワード、マッチタイプ、入札額、ステータスを読み取ります。 |
bing_get_targeting | 1 種類の条件について、設定済みのキャンペーンまたは広告グループのターゲティングを読み取ります。 |
bing_get_audiences | 1 種類のオーディエンスの設定を読み取ります。 |
bing_get_uet_tags | UET トラッキングタグの設定を読み取ります。 |
bing_get_conversion_goals | コンバージョン目標の設定を読み取ります。 |
bing_get_media | ID を指定してアップロード済みメディアのメタデータを読み取り、画像の表現形式も含めて返します。 |
bing_get_videos | アカウントの動画アセットと処理ステータスを読み取ります。 |
bing_get_asset_groups | Performance Max のアセットグループと、そのクリエイティブ設定およびステータスを読み取ります。 |
bing_get_geo_file | Microsoft の最新の地域ターゲティングファイルへのリンクを取得します。 |
bing_list_ad_creatives | アカウント所有の広告および Performance Max のアセットグループに関連付けられた画像アセットを、上限を設けてスキャンし一覧表示します。 |
bing_get_reporting_schema | 固定されたレポートタイプと、それぞれがサポートするネイティブ列を読み取ります。 |
bing_get_write_schema | 作成または更新の前に、エンティティの固定されたネイティブフィールドを読み取ります。 |
bing_get_setup_guide | このサーバーの対象範囲、安全規則、既知の制限を読み取ります。 |
bing_get_insights | 選択したアカウントの非同期レポートを送信し、受付情報を返します。 |
bing_get_report | 送信済みレポートをポーリングしてダウンロードします(最大 2,000 行)。 |
23 個の書き込みツール
デフォルトでは無効です。明示的に確認しない限り、呼び出しはプレビューを返します。使用前に設定と正確なスキーマを確認してください。
| ツール | 目的 |
|---|---|
bing_create_campaign | ネイティブフィールドを使ってキャンペーンを作成します。ステータスは一時停止です。 |
bing_update_campaign | ネイティブフィールドを使ってキャンペーンを更新します。 |
bing_create_ad_group | 所有するキャンペーンに広告グループを作成します。ステータスは一時停止です。 |
bing_update_ad_group | ネイティブフィールドを使って広告グループを更新します。 |
bing_create_ad | 所有する広告グループに広告を作成します。ステータスは一時停止です。 |
bing_update_ad | ネイティブフィールドを使って広告を更新します。 |
bing_create_keyword | 所有する広告グループにキーワードを作成します。ステータスは一時停止です。 |
bing_update_keyword | ネイティブフィールドを使ってキーワードを更新します。 |
bing_create_audience | アカウントに紐づくオーディエンスを作成します。 |
bing_update_audience | アカウントが所有するオーディエンスを更新します。 |
bing_rename_campaign | キャンペーンの名前を変更します。変更されるフィールドは名前のみです。 |
bing_rename_ad_group | 広告グループの名前を変更します。変更されるフィールドは名前のみです。 |
bing_rename_account | その他のすべてのフィールドを保持したまま、アカウント全体を更新して選択したアカウントの名前を変更します。 |
bing_import_video | Microsoft が取得する公開 HTTPS ファイルから動画をインポートします。 |
bing_update_video | アカウントが所有する動画の説明を更新します。 |
bing_upload_image | 画像データをアカウントのメディアライブラリにアップロードします。 |
bing_create_asset_group | Performance Max のアセットグループを作成します。ステータスは一時停止です。 |
bing_create_uet_tag | UET タグの設定を作成します。 |
bing_create_conversion_goal | コンバージョン目標を作成します。一時停止され、入札の対象から除外されます。 |
bing_add_campaign_targeting | キャンペーンのターゲティング条件を 1 つ追加します。 |
bing_update_campaign_targeting | キャンペーンのターゲティング条件を 1 つ更新します。 |
bing_add_ad_group_targeting | 広告グループのターゲティング条件を 1 つ追加します。 |
bing_update_ad_group_targeting | 広告グループのターゲティング条件を 1 つ更新します。 |
1 リソース
| リソース | 目的 |
|---|---|
bing-ads://guide | 対応範囲、アカウントのルール、安全ルール、レポートの動作、既知の制限事項を JSON 形式で提供します。 |
ライセンス
Apache License 2.0。NOTICE をご覧ください。
getmcpads の他のプロジェクト
Meta Ads · Google Ads · Google Analytics 4 · Google Search Console · TikTok Ads · Pinterest Ads · X Ads
getmcpads の Emmanuel がメンテナンスしています。お問い合わせ:[email protected]。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
