bing-ads について
bing-adsは、Microsoft Advertisingアカウントを管理し、広告の成果を分析するMCPサーバーです。キャンペーンやキーワードなどを扱い、書き込み操作は既定で無効です。
主な機能
- 01キャンペーンと広告グループの一覧
- 02キーワード指標と品質スコアの分析
- 03検索語句の成果レポート
- 04予算と入札の最適化
- 05共有除外キーワードの管理
- 06既定で読み取り専用、書き込みは制限
活用シーン
- 01キャンペーンのROIとコンバージョンの確認
- 02コンバージョンにつながる検索語句の特定
- 03キーワード品質スコアの診断
- 04制限付きの予算・キーワード変更
MCP 対応
MCPクライアントにMicrosoft Advertisingのアカウント情報、キャンペーン・キーワード操作、成果レポートを提供します。変更系ツールはBING_ADS_MCP_WRITEを明示的に有効にした場合のみ利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y mcp-bing-adsBING_ADS_DEVELOPER_TOKENシークレットMicrosoft Advertising developer tokenBING_ADS_CLIENT_IDAzure AD app client ID for OAuthBING_ADS_REFRESH_TOKENシークレットOAuth refresh token for Microsoft Advertising APIBING_ADS_CLIENT_SECRETシークレットAzure AD app client secret (optional for public clients)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Bing Ads MCP サーバー
Microsoft Advertising(Bing Ads)API 用の本番環境向け MCP サーバーです。Claude が、キャンペーン、広告グループ、キーワードの管理やパフォーマンスの詳細な分析を行えるようにします。
機能:
- 10 個のツール -- 本番環境でテスト済み
- キャンペーン、広告グループ、キーワードの管理
- 品質スコアを含むキーワードのパフォーマンス分析
- 検索語句のレポートと入札額の自動化
- 予算と入札戦略の最適化
- キャンペーン単位の予算更新
- 除外キーワードの管理(共有およびキャンペーン単位)
注記: ⚠️ 包括的なツールを備えた初のオープンソース Bing Ads MCP
- エコシステムに有力な代替手段はありません
- 複数のアカウントで実運用に耐えることを確認済み
インストール
npm install mcp-bing-ads
設定
セキュリティ: .mcp.json ファイルを共有したり、Git にコミットしたりしないでください。API 認証情報が含まれている可能性があります。.mcp.json を .gitignore に追加してください。
-
OAuth 認証情報を取得します:
- Microsoft Azure Portal にアクセスします
- Azure AD アプリの登録を作成します
- API 権限を付与します:
Microsoft Advertising API - スコープ:
https://ads.microsoft.com/msads.manage offline_access
-
config.jsonを作成します:cp config.example.json config.json -
認証情報を入力します:
{ "oauth": { "client_id": "YOUR_AZURE_CLIENT_ID", "client_secret": "YOUR_AZURE_CLIENT_SECRET" }, "clients": { "default": { "customer_id": "YOUR_CUSTOMER_ID", "account_id": "YOUR_ACCOUNT_ID", "name": "My Account" } } } -
環境変数を設定します(推奨):
export BING_ADS_DEVELOPER_TOKEN="your_developer_token" export BING_ADS_CLIENT_ID="your_client_id" export BING_ADS_REFRESH_TOKEN="your_refresh_token" # Optional: export BING_ADS_CLIENT_SECRET="your_client_secret" # Optional: opt into mutating tools (read-only by default) export BING_ADS_MCP_WRITE="true"
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
BING_ADS_DEVELOPER_TOKEN | はい | -- | Microsoft Advertising の開発者トークン |
BING_ADS_CLIENT_ID | はい | -- | Azure AD アプリのクライアント ID |
BING_ADS_REFRESH_TOKEN | はい | -- | OAuth リフレッシュトークン |
BING_ADS_CLIENT_SECRET | いいえ | -- | Azure AD アプリのクライアントシークレット(機密クライアントの場合) |
BING_ADS_MCP_WRITE | いいえ | false | 変更を伴うツール(停止/更新/追加)を公開するには、true、1、または yes を設定します。それ以外の値、または未設定の場合、サーバーは読み取り専用のままです。 |
デフォルトは読み取り専用
変更を伴うツール(bing_ads_pause_keywords、bing_ads_update_campaign_budget、bing_ads_add_shared_negatives)は、サーバー環境で BING_ADS_MCP_WRITE=true が設定されていない限り、ツール一覧に表示されず、呼び出しも拒否されます。これは、何気ないチャットメッセージを受けてキーワードを停止したり、予算を編集したりするような、意図しない書き込み操作を防ぐための安全策です。変更を書き込むには、必要なセッションの .mcp.json またはシェルプロファイルで環境変数を明示的に設定し、使用後に設定を解除してください。読み取りツール(一覧/レポート/パフォーマンス)は常に利用できます。
使用方法
サーバーを起動する
npm start
Claude Code で使用する
~/.claude.json に追加します:
{
"mcpServers": {
"bing-ads": {
"type": "http",
"url": "http://localhost:3002"
}
}
}
Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。
API 呼び出しの例
// Get client context
bing_ads_get_client_context({ working_directory: "/path/to/project" })
// List campaigns
bing_ads_list_campaigns()
// Get campaign performance
bing_ads_get_campaign_performance({
start_date: "2026-01-01",
end_date: "2026-03-01"
})
// Get keyword performance
bing_ads_keyword_performance({
start_date: "2026-02-01",
end_date: "2026-03-01"
})
// Create negative keywords
bing_ads_add_shared_negatives({
shared_list_id: "list_123",
keywords: [
{ text: "cheap", match_type: "Phrase" },
{ text: "discount", match_type: "Exact" }
]
})
API リファレンス
コンテキスト
bing_ads_get_client_context(working_directory)-- 作業ディレクトリからアカウントを検出
キャンペーン
bing_ads_list_campaigns()-- すべてのキャンペーンを一覧表示bing_ads_get_campaign_performance(start_date, end_date)-- キャンペーン指標bing_ads_update_campaign_budget(campaign_id, daily_budget)-- 1 日あたりの予算を更新
広告グループ
bing_ads_list_ad_groups(campaign_id)-- キャンペーン内の広告グループを一覧表示
キーワード
bing_ads_keyword_performance(start_date, end_date, [campaign_ids])-- キーワード指標と QSbing_ads_search_term_report(start_date, end_date)-- 広告の表示につながった検索語句bing_ads_pause_keywords(ad_group_id, keyword_ids)-- キーワードを停止
除外キーワード
bing_ads_list_shared_entities([type])-- 共有の除外リストを一覧表示しますbing_ads_add_shared_negatives(list_id, keywords)-- 共有リストに追加します
パフォーマンスレポート
- キャンペーンのパフォーマンス(ROI、コンバージョン、CTR、CPC)
- キーワードのパフォーマンス(QS、予想CTR、広告の関連性、ランディングページの利便性)
- 検索語句の分析情報(コンバージョンにつながっている検索クエリ)
主な指標と定義
品質スコア(QS): キーワードの品質を1~10で評価します
- 1~3:低い
- 4~6:平均
- 7~10:優れている
予想CTR: 予想クリック率を1~9で評価します 広告の関連性: 検索クエリとの関連性を1~9で評価します ランディングページの利便性: ランディングページの品質を1~9で評価します
CLI ツール
npm run dev # Run in dev mode (tsx)
npm run build # Compile TypeScript
npm test # Run contract tests
アーキテクチャ
ファイル:
src/index.ts— MCP サーバー、OAuth フロー、ツールハンドラーsrc/tools.ts— ツールのスキーマ定義src/errors.ts— エラー処理と分類config.json— 認証情報とクライアントのマッピング
エラー分類:
- 認証エラー(トークンの期限切れ)
- レート制限エラー(バックオフして再試行)
- サービスエラー(API が一時的に利用できない)
- 検証エラー(不正な入力)
開発
新しいツールの追加
src/tools.tsにスキーマを定義しますsrc/index.tsのツールディスパッチにハンドラーを追加します.contract.test.tsにコントラクトテストを追加しますnpm testでテストします
テスト
npm test -- --run # Single run
npm test -- --watch # Watch mode
トラブルシューティング
Config file not found
cp config.example.json config.json
# Fill in your Azure credentials and Bing Ads IDs
Missing required credentials
以下を確認してください:
BING_ADS_DEVELOPER_TOKEN、BING_ADS_CLIENT_ID、BING_ADS_REFRESH_TOKENが設定されているBING_ADS_CLIENT_SECRETが設定されている(機密アプリを使用する場合)- OAuth トークンが有効である(有効期限が切れている場合は、更新が必要なことがあります)
Rate limit exceeded
Bing Ads にはレート制限があります。サーバーは一般的な再試行を自動的に処理します。頻繁に制限に達する場合:
- 可能な場合は操作をまとめて実行します
- クエリの頻度を減らします
- 再試行する前に待ちます
Quality Score is 0
QS = 0 は、キーワードがまだ十分な回数表示されていないことを意味します。インプレッション数を増やすか、さらにデータが蓄積されるまで待ってください。
ライセンス
MIT
コントリビューション
コントリビューションを歓迎します。以下をお願いします:
- 新機能のテストを追加する
- README を更新する
- 既存のコードスタイルに従う
- リリースにタグを付ける
サポート
- 課題: バグや機能リクエストは GitHub の課題をご利用ください
- ドキュメント: 詳細な API リファレンスについては
docs/フォルダーを参照してください - コミュニティ: GitHub Discussions
開発者
Mark Harnett — AI を活用した広告管理ツールを開発する、デマンドジェネレーションのリーダーであり、ペイドメディアの実務家です。これは、複数のアカウントで実際のキャンペーンを運用し、Claude に面倒な作業を任せたいという思いから生まれた、初の包括的なオープンソース Bing Ads MCP サーバーです。
本番環境でのワークロードを念頭に置いて構築しています。堅牢な API 呼び出し(サーキットブレーカー、バックオフを伴う再試行、レスポンスの切り詰め)、品質スコアの完全な診断、大規模な除外キーワード管理に対応しています。
Mark によるその他のプロジェクト: mcp-linkedin-ads -- 7 つのツールを備えた LinkedIn Ads MCP サーバー。
最終更新日: 2026-03-13
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。