meta-ads-mcp
Integrates with Facebook Ads API to manage campaigns, ad sets, ads, and get insights for Facebook advertising.
Integrates with Instagram Ads API to manage campaigns, ad sets, ads, and get insights for Instagram advertising.
Allows management of Meta Ads campaigns, ad sets, ads, creatives, audiences, and insights via the Meta Marketing API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@meta-ads-mcplist my ad accounts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
meta-ads-mcp
Meta Ads API (Facebook/Instagram広告) を Claude Code から操作するための MCP サーバーと Skills。
キャンペーン管理・広告セット作成・インサイト取得・オーディエンス管理など、Meta Ads の各種 API を Claude Code の会話から直接利用できます。
Note: このプロジェクトは Meta Platforms, Inc. の公式ツールではありません。Meta Marketing API の公開仕様をもとに作成した非公式の連携ツールです。
構成
meta-ads-mcp/
├── MCP サーバー (src/, bin/) ... APIを実際に叩く「手足」
└── Skills (skills/) ... APIの使い方を知る「知識」MCP サーバー: 8つの汎用ツール(GET/POST/DELETE + 管理系)を提供
Skills: API リファレンス 7 ファイル + 操作ガイド 6 ファイル
Related MCP server: Meta Ads MCP Server
セットアップ
前提条件
Node.js 18 以上
Claude Code インストール済み
Step 1: Meta アプリの作成
developers.facebook.com にアクセス
「マイアプリ」→「アプリを作成」
アプリタイプは必ず「ビジネス」を選択(「生活者」だと広告系の権限が使えません)
アプリ名を入力(
meta,facebook,insta等の商標は使用不可)ビジネスポートフォリオを選択(任意)
「アプリを作成」をクリック
Step 2: Marketing API の追加
アプリのダッシュボード → 「アプリに製品を追加」
「マーケティングAPI」の「設定」をクリック
左メニューに「マーケティングAPI」が追加されることを確認
Step 3: App ID / App Secret の確認
左メニュー → 「アプリの設定」→「ベーシック」
アプリID と app secret(「表示」をクリック)を控える
Step 4: アクセストークンの取得
Graph API Explorer を使ってトークンを取得します。
Graph API Explorer にアクセス
右上の「Metaアプリ」で作成したアプリを選択
「許可を追加」欄に以下を1つずつ入力して追加:
ads_managementads_readread_insightsbusiness_management
「Generate Access Token」をクリック
Facebook ログイン画面で権限を許可
生成されたアクセストークンをコピー(後で使います)
Step 5: Skills のインストール
npx graph-ads-mcp setup-skills~/.claude/skills/meta-ads-api-skill/ に API リファレンスと操作ガイドがインストールされます。
Step 6: MCP サーバーの登録
~/.claude/settings.json の mcpServers に追加:
{
"mcpServers": {
"meta-ads": {
"command": "npx",
"args": ["graph-ads-mcp"]
}
}
}Step 7: Claude Code を再起動
Step 8: MCP の設定
Claude Code の会話で認証情報を設定します:
meta_ads_configure({
ad_account_id: "act_XXXXX",
app_id: "あなたのアプリID",
app_secret: "あなたのApp Secret"
})広告アカウント ID がわからない場合
設定後に以下で確認できます:
meta_ads_api_get({ path: "/me/adaccounts", query: { fields: "id,name" } })Step 9: トークンの保存
方法 A: OAuth 認証(ブラウザ)
Meta広告の認証をしてブラウザが開き Facebook ログイン画面が表示されます。認証完了後、long-lived トークン(60日有効)が自動保存されます。
Note: ビジネスタイプのアプリでは OAuth フローが動作しない場合があります。その場合は方法 B を使ってください。
方法 B: Graph API Explorer のトークンを保存(推奨)
Step 4 で取得したトークンを Claude Code の会話で貼り付けるだけです:
meta_ads_save_token({ access_token: "Step4で取得したトークン" })自動的に long-lived トークン(60日有効)に交換して保存されます。
Step 10: 動作確認
Meta広告のキャンペーン一覧を取得してMCP ツール一覧
ツール | 説明 |
| GET リクエスト(データ取得) |
| POST リクエスト(データ作成・更新) |
| DELETE リクエスト(データ削除) |
| 利用可能なエンドポイント一覧 |
| 認証情報設定 |
| OAuth認証(ブラウザ) |
| トークン保存(Graph API Explorer用、long-lived自動交換) |
| 認証状態確認 |
| サーバー情報表示 |
Skills 構成
skills/meta-ads-api-skill/
├── SKILL.md # スキル定義・全体目次
├── references/ (7 ファイル) # API エンドポイント仕様書
│ ├── campaigns.md # キャンペーン
│ ├── adsets.md # 広告セット
│ ├── ads.md # 広告
│ ├── creatives.md # クリエイティブ
│ ├── audiences.md # オーディエンス
│ ├── insights.md # インサイト
│ └── common-authentication.md # 認証
└── recipes/ (6 ファイル) # 操作手順ガイド
├── campaign-management.md # キャンペーン管理
├── adset-management.md # 広告セット管理
├── ad-management.md # 広告管理
├── insights-reporting.md # インサイト・レポート
├── audience-management.md # オーディエンス管理
└── troubleshooting.md # トラブルシューティングトラブルシューティング
アプリタイプを間違えた
アプリタイプは作成後に変更できません。「生活者」で作成してしまった場合は、新しく「ビジネス」タイプでアプリを作り直してください。
「Invalid Scopes」エラーが出る
アプリタイプが「生活者」の場合、ads_management 等の広告系権限は使えません。「ビジネス」タイプでアプリを作り直してください。
OAuth 認証で「機能をご利用いただけません」
ビジネスタイプのアプリでは通常の Facebook ログインではなく「ビジネス向け Facebook ログイン」が使われます。Graph API Explorer でトークンを取得する方法(Step 4 + Step 9 方法 B)を使ってください。
MCP サーバーが認識されない
settings.jsonのパスが正しいか確認Claude Code を再起動したか確認
npx graph-ads-mcpを直接実行してエラーが出ないか確認
認証エラー (OAuthException)
トークンの有効期限を確認:
meta_ads_auth_statusツールトークン期限切れの場合は Step 4 → Step 9 でトークンを再取得
トークンキャッシュを削除:
rm ~/.config/meta-ads-mcp/tokens.json
権限不足
Graph API Explorer で必要な権限を追加してトークンを再生成
開発モードでは自分のアカウントのみアクセス可能
他ユーザーのアカウントにアクセスするにはアプリレビューが必要
トークンの有効期限
Graph API Explorer で取得したトークン: 約1-2時間
long-lived トークン(交換後): 約60日
期限切れ後は Step 4 → Step 9 でトークンを再取得
レート制限
Meta Ads API のレート制限は広告アカウント単位。制限に達した場合は数分待ってから再試行してください。
ソースからビルドする場合
git clone https://github.com/fujioka0729/graph-ads-mcp.git
cd meta-ads-mcp
npm install
npm run buildライセンス
MIT
Available Tools
9 toolsmeta_ads_api_deleteC
Meta Ads APIにDELETEリクエストを送信します
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | APIパス(例: /{campaign_id}) | |
| query | No | クエリパラメータ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only says 'sends DELETE request,' adding nothing beyond the name. No mention of authentication, idempotency, side effects, error handling, or return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence with no extra words, but it is too brief to be informative. It is concise but under-specified, missing critical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and annotations, and the description does not explain return values, side effects, or what the delete operation entails. It is completely inadequate for a deletion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both path and query. The description adds no further meaning beyond what the schema provides, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sends DELETE requests to the Meta Ads API, which is a specific verb+resource. However, it does not differentiate from sibling HTTP method tools beyond the HTTP verb, but the tool name already indicates DELETE.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get, post). There is no mention of prerequisites, when not to use, or typical use cases. The agent must infer from the HTTP method semantics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_ads_api_getC
Meta Ads APIにGETリクエストを送信します
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | APIパス(例: /act_XXXXX/campaigns) | |
| query | No | クエリパラメータ(例: fields, limit) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full responsibility but only states it sends a GET request. It does not disclose authentication needs, rate limits, error behavior, or side effects. This is insufficient for an API tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, but it sacrifices essential detail for brevity. While concise, it lacks content that would be valuable for an agent, making it less effective than a slightly longer but more informative description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, no output schema, and multiple sibling tools, the description is too sparse. It does not explain response format, required permissions, or how to construct paths/parameters effectively, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters (path and query) in Japanese. The tool description adds no additional meaning beyond what the schema states, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sends a GET request to the Meta Ads API, which distinguishes it from sibling tools like meta_ads_api_post or meta_ads_api_delete. However, it could be more specific about the scope (e.g., any endpoint) but the verb and resource are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context for invocation. The description is too minimal to help an agent decide when to choose this over other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_ads_api_list_pathsA
Meta Ads APIの既知エンドポイント一覧を表示します
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the function without disclosing behavioral traits like idempotency, safety, or prerequisites (e.g., prior authentication). The agent cannot infer side effects or requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. It is front-loaded and appropriately sized for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with no parameters and no output schema, the description is minimally adequate but lacks details about the return format or prerequisites. It could mention that the list contains endpoint strings and whether it requires prior authentication, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema coverage is 100%. Per calibration, the baseline is 4. The description adds no parameter information, which is acceptable as there are none to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool displays a list of known endpoints of the Meta Ads API, using a specific verb and resource. It distinguishes from sibling tools that perform mutations (delete, get, post) or handle authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as whether it should be called before other operations or if authentication is required first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_ads_api_postB
Meta Ads APIにPOSTリクエストを送信します(作成・更新兼用)
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | APIパス(例: /act_XXXXX/campaigns) | |
| body | Yes | リクエストボディ | |
| query | No | クエリパラメータ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says it sends POST requests for create/update, but lacks disclosure of rate limits, error handling, side effects, or authentication requirements. The mutation nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence in Japanese that is front-loaded with the core purpose. Every word earns its place with no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description is too minimal. It does not explain how to construct the path, expected response format, or error handling. For a general-purpose POST tool, more behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters (path, body, query). The description adds no additional meaning beyond confirming that the tool is for POST requests, which is expected from the name and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sends POST requests to the Meta Ads API for both creation and update operations. The verb '送信' (send) and resource 'POSTリクエスト' (POST request) are specific, and it distinguishes from siblings like GET and DELETE.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating and updating resources but does not explicitly state when to use this tool versus alternatives like meta_ads_api_get or meta_ads_api_delete. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_ads_authenticateB
Meta Ads APIのOAuth認証を開始します。ブラウザでFacebookログインを行います。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions starting authentication and Facebook login but does not disclose that it opens a browser window, requires user interaction, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that directly state the tool's function with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters or output schema, the description covers the basic purpose. However, it lacks operational context like needing user interaction or how the result is handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the schema coverage is 100%. Baseline for zero parameters is 4; description adds nothing extra but that's acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it starts OAuth authentication for Meta Ads API and performs Facebook login. It distinguishes from siblings like meta_ads_auth_status (check status) but could be more specific about the process.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. It does not mention prerequisites or ordering with sibling tools like meta_ads_save_token.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_ads_auth_statusA
Meta Ads APIの認証状態を確認します
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description must fully disclose behavior. It only states the action without details on return value, side effects (likely none), or how status is reported. Lacks transparency for a mutation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence directly stating purpose. No redundant information; front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description covers the basic purpose but lacks details on return format or behavior. Adequate for a simple status check but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters with 100% coverage. Description adds no parameter details, but with no parameters, baseline is 4. No additional meaning needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks authentication status of Meta Ads API. It uses a specific verb-resource combination and distinguishes from siblings like meta_ads_authenticate (which performs authentication) and meta_ads_save_token (which saves tokens).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the purpose is clear, the description does not specify prerequisites or scenarios (e.g., check before API calls), leaving usage implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_ads_configureB
Meta Ads APIの接続設定を保存します
| Name | Required | Description | Default |
|---|---|---|---|
| ad_account_id | Yes | 広告アカウントID(act_XXXXX形式) | |
| app_id | Yes | MetaアプリID | |
| app_secret | Yes | Metaアプリシークレット |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It indicates a write operation ('save') but does not detail side effects, idempotency, overwrite behavior, or authentication requirements. The agent cannot anticipate what happens if settings already exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the core purpose without filler. However, it is extremely brief and could be expanded without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the sensitivity of a configuration tool, the description lacks important context: what happens after saving (success/failure), whether previous settings are overwritten, and any required setup steps. The agent may not know if the tool is intended for initial setup or updates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes all three parameters adequately. The description adds no additional parameter semantics beyond the schema, earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Save the connection settings for the Meta Ads API' uses a specific verb (save) and clearly identifies the resource (connection settings). It distinguishes from sibling tools like meta_ads_api_get or meta_ads_authenticate, which are API calls or authentication flows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., meta_ads_authenticate or meta_ads_save_token). It does not mention prerequisites, setup order, or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_ads_save_tokenA
Graph API Explorerで取得したアクセストークンを保存します。short-livedトークンは自動的にlong-lived(60日有効)に交換されます。
| Name | Required | Description | Default |
|---|---|---|---|
| access_token | Yes | Graph API Explorerで取得したアクセストークン |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the automatic token exchange to long-lived (60 days), but omits other effects like overwriting existing tokens or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no extraneous words. It front-loads the primary action and efficiently conveys the key behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple save tool with one parameter and no output schema, the description adequately covers purpose and key behavior. However, it lacks information on return values or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description. The tool description adds the automatic exchange behavior, but this is about the tool's action rather than parameter semantics, so minimal added value above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it saves an access token from Graph API Explorer. It distinguishes itself from siblings like meta_ads_authenticate by specifying the source and automatic long-lived exchange.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after obtaining a token from Graph API Explorer but does not explicitly contrast with alternatives like meta_ads_authenticate or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meta_ads_server_infoA
MCPサーバーのバージョンと接続先情報を表示します
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'displays,' implying a read-only operation, but does not elaborate on return format, potential errors, or prerequisites (e.g., authentication). Minimal but adequate for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the key information. Every word is efficient, with no redundancy or waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (no parameters, no output schema), the description is largely complete. It could mention whether authentication is required or what the output looks like, but this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema description coverage is 100% (trivial). Per guidelines, baseline is 4. The description adds no parameter info, which is acceptable given the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: displaying MCP server version and connection info. It uses a specific verb-resource pair ('表示します') and distinguishes itself from sibling tools that handle API operations, authentication, and configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implicitly clear as a simple informational tool with no parameters. While no explicit when-to-use or alternatives are given, the context (server info) is straightforward, and no exclusions are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v0.1.0- First observed
meta_ads_api_delete - First observed
meta_ads_api_get - First observed
meta_ads_api_list_paths - First observed
meta_ads_api_post - First observed
meta_ads_auth_status - First observed
meta_ads_authenticate - First observed
meta_ads_configure - First observed
meta_ads_save_token - First observed
meta_ads_server_info
TDQS
Scored across 9 tools
Each tool has a distinct purpose: generic HTTP methods (GET, POST, DELETE), endpoint listing, authentication, configuration, and server info. No overlap between them.
All tools follow a consistent pattern with 'meta_ads_' prefix and underscore-separated names, e.g., meta_ads_api_get, meta_ads_authenticate.
With 9 tools, the set is well-scoped for an API wrapper: authentication, configuration, and basic CRUD via HTTP methods. Neither too few nor too many.
Covers essential operations: auth, config, and raw API calls (GET, POST, DELETE). However, it lacks higher-level abstractions for common ad operations, relying on users knowing endpoints.
Maintenance
Related MCP Connectors
Google Ads MCP server — manage campaigns, keywords, and metrics.
Google Ads, Meta Ads & GA4 MCP server - 250+ tools for campaigns, creatives, audiences & reports.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for managing and analyzing Meta Ads (Facebook/Instagram) with over 80 natural-language tools for AI agents like Claude Desktop.-
- AlicenseNot gradedqualityDmaintenancePython MCP server that exposes Meta Marketing API data, providing tools to manage ad accounts, campaigns, and analytics through natural language interfaces.MIT
- AlicenseAqualityDmaintenanceMCP Server for the Meta Marketing API. Gives Claude Desktop direct access to your ad account data — campaign performance, creative analysis, audience breakdowns, and budget pacing.101331MIT
- FlicenseNot gradedqualityCmaintenanceMCP server that enables AI agents (Claude Code) to manage Criteo campaigns, ad sets, creatives, audiences, and reports via natural language.-