Skip to main content
Glama
adsagents

AdsAgent Skill Pack (docs)

Official

AdsAgent トライチャネルプラグイン

Meta、Google Ads、TikTokに対応したAdsAgentのトライチャネルホストMCPのための公開Claudeプラグイン&スキルパック。

配信分割(重要):

表面

内容

このリポジトリ?

Claudeプラグイン(セルフホスト型マーケットプレイス)

スキル + ルート .mcp.json HTTP MCP URL(OAuth)

はい

Anthropic Connectors Directory

ホスト型MCPサーバーの一覧のみ

いいえ — adsagent.md サービスに個別提出

公式GitHubリポジトリ: github.com/adsagents/adsagent-ai-skills

ウェブサイト: adsagent.md
公式リンクハブ: adsagent.md/connect
スキルパックランディングページ: adsagent.md/skills
サポート: support@adsagent.md

現在のコントラクトバージョン:0.7.64。プラグインスラッグは adsagent(マーケットプレイスキー adsagent)。 新しいMeta接続はデフォルトでv2プロダクトプロファイルを使用します。3つのホスト型エンドポイントはすべて、サポート対象のレガシーinitializeクライアントを保持しつつ、最新のMCP 2026-07-28 ステートレスディスカバリをネゴシエートします。

バージョン履歴は CHANGELOG.md にあります。

ローカルヘルパー scripts/update_reminder.py は厳密なセマンティックバージョンを比較し、バージョン/タイムスタンプの有界状態のみを $XDG_CACHE_HOME/adsagent-ai-skills/update-reminder-v1.json(または ~/.cache/...)に保存します。キャッシュの失敗がMCPの作業をブロックすることはありません。

これは何か

  • 公開Claudeプラグインマーケットプレイスパッケージ:動作スキル と .mcp.json 経由の ホスト型MCP URL。

  • Claude Code、Cursor、Codex、その他のMCP対応クライアント向けの動作ガイド。

  • エージェントに再試行、待機、停止のタイミングを指示する信頼性・安全性レイヤー。

  • AdsAgentユーザーのオンボーディングとエージェントの動作ガイダンスのためのバージョン管理されたGitHub配布物。

  • AIエージェントがAdsAgentを生のデータベースのようにスキャンすべきでないというデータ最小化契約。

Related MCP server: synter-mcp-server

これは何ではないか

  • Anthropic Connectors DirectoryのMCPリストではありません(それはホスト型サーバーに個別登録されています)。

  • 完全なMCPツールリファレンスではありません。

  • SDKではありません。

  • ローカルトランスポートリレーではありません。

  • AdsAgentのバックエンドルート、スキーマ、データベーステーブル、内部診断情報の開示ではありません。

Claude Codeプラグインインストールの場合、OAuth MCPセットアップはこのリポジトリの .mcp.json から行われます。 プラグインをサポートしないクライアントの場合、AdsAgentダッシュボードのインストールプロンプトが手動フォールバックとして残ります。

AdsAgent dashboard -> Settings -> MCP Access -> Copy install prompt

そのコピーしたプロンプトは、Claudeプラグインバンドルをインストールしていない場合にのみ使用してください。 このリポジトリは、MCP接続が確立された後のエージェントの動作を教えます。

含まれるスキル

スキル

目的

adsagent-router

AdsAgentのリクエストをセットアップ、信頼性、インサイト、コピーワークフローにルーティングします。

adsagent-setup

AdsAgentダッシュボードのインストールプロンプトを通じて接続し、Meta、Google Ads、TikTokの準備状況を確認します。

adsagent-notifications

通知チャネルとMeta Ads Webhookを検査し、安全に設定します。

adsagent-reliability

再試行、バックオフ、セッションリフレッシュ、同時実行制限を尊重します。

agent-scheduled-tasks

エージェント所有のスケジュールタスクを設計、作成、確認、更新、一時停止、削除します。リマインダーと実行証明を混同しません。

meta-insights

サーバーに過負荷をかけずに、パフォーマンスやMMPに関する質問を行います。

meta-copy

確認とオペレーターレビューの安全策を備えて、Metaの広告をコピーまたは比較します。

google-ads-insights

Google Adsの顧客、MCC、検索、PMax、パフォーマンスに関する質問をGoogle Ads MCPを通じて行います。

tiktok-insights

TikTokのパフォーマンスを読み取り、ネイティブクリエイティブ、キャンペーン、広告グループの追加ワークフローを安全に準備します。

段階的開示

エージェントクライアントはすべてのスキル説明を読み込んで発見しますが、選択された SKILL.md の本文のみを読み込むべきです。各エントリポイントは意図的に小さく、選択されたワークフローがそれらの詳細を必要とする場合にのみ読み込まれるローカルリファレンスファイルへのリンクを提供します。

docs/ 以下のファイルは人間向けの製品およびオペレーター向けドキュメントです。これらは自動的なエージェントコンテキストではなく、スキルリファレンスのトラバースの一部でもありません。エージェントの動作契約は skills/ 以下にあり、選択された SKILL.md から到達します。

エージェント出力契約

AdsAgentを使用するエージェントは、デフォルトでMarkdownで回答する必要があります。

## Answer
One-sentence answer.

## Scope
- Date:
- Entity:
- Grouping:
- Attribution / channel:

## Results
| Metric | Value |
| --- | ---: |

## Notes
- Data freshness:
- Limits or missing fields:
- Next safe action:

JSON、CSV、非表示の診断情報、生の行、返されたすべてのフィールドをチャットにダンプしないでください。応答をオペレーター向けの表と短い箇条書きに整理してください。フォレンジックな生の検査が必要な場合は、生の行をエージェントの回答にする代わりに、オペレーターへの引き継ぎを作成してください。

準ブラックボックス方針

このリポジトリは、完全な内部インターフェースではなく、結果とエージェントの動作を意図的に文書化しています。エージェントは以下を行うべきです。

  • 接続後にライブのAdsAgent MCPガイドを読む。

  • 認証されたMCPセッションを通じて利用可能なツールを使用する。

  • 非表示のペイロードフィールドを推測しない。

  • 拒否されたリクエストを調査しない。

  • オペレーターレビューの応答で停止し、AdsAgentのオペレーターに内部診断の調査を依頼する。

  • 呼び出しを行う前に、最も安全な最小データプランを使用する。

  • 生の行よりもグループ化されたサマリーと整理された内訳を優先する。

外部エージェント契約は次のとおりです:明確な質問をし、制限を尊重し、書き込み前に確認し、ダッシュボード提供のオンボーディングを使用する。

公式ソースと権利

このリポジトリには、クライアントが読み取り可能な動作パックのみが含まれています。AdsAgentのサーバーソースコード、認証情報、スキーマ、ルーティングロジック、運用診断情報はここには配布されていません。

このパッケージはプロプライエタリであり、すべての権利はadsagents LLCに帰属します。GitHubでの公開ホスティングにより、ユーザーはGitHubの利用規約に基づいてリポジトリを表示しフォークできますが、フォークやローカルコピーは、LICENSE.md に記載された限定されたAnthropic Claudeプラグインディレクトリミラーリング権利以外の追加の知的財産ライセンスを付与するものではありません。変更バージョンの再配布、ミラーリング、販売、サブライセンス、公開、派生作品の作成、パックからの競合製品のトレーニング、フォークを公式として表現する権利は付与されません。LICENSE.md と NOTICE.md を参照してください。

プロンプト例

Use AdsAgent to list my connected Meta products, Google Ads customers, or TikTok advertisers, then ask which scope's today data I want to inspect.
For Google Ads, inspect agent_method_profile, pick an enabled non-manager customer, and use one cached insights_query_consistent request when the profile is advertised.
For TikTok, inspect agent_method_profile and use one insights_query_consistent scopes request when advertised; otherwise use the native batch overview fallback.
Prepare a copy of this winning Meta ad into the target account, but ask me for confirmation before creating anything.
Group these distinct Meta Ads by language into the requested Campaign and AdSet layout. Prepare one grouped_plan, show every settings_source_ad_id and geography override, and wait for my approval before confirming once.

その他の例は docs/examples.md にあります。

検証

ローカルリリース契約とテストを実行します。

python scripts/validate_tri_channel_pack.py
python -m pytest -q

リリース検証は、contracts/manifests/ にある3つのコミットされたスナップショットに対してフェイルクローズされます。各スナップショットは、コミットされたサービスアーティファクトからバイト単位でコピーされ、そのチャネル、ソースリビジョン、公開アーティファクトパス、メタデータ、SHA-256にロックされ、contracts/manifests/provenance.json に保存されます。CIはライブネットワークリクエストを行いません。

python scripts/validate_public_tool_manifests.py

オペレーターは、サービスマニフェストが変更された後、3つのスナップショットすべてを決定論的に更新できます。このコマンドは、未コミット、ダーティ、欠落、または契約に互換性のないソースを拒否し、ネットワークからフェッチすることはありません。

python scripts/sync_public_tool_manifests.py \
  --source meta=/path/to/meta-tools.json \
  --source google=/path/to/google-tools.json \
  --source tiktok=/path/to/tiktok-tools.json

3つのソースすべてが必須です。欠落した参照ツール、証明されていない必須機能やゲート、古い来歴ダイジェスト、存在しないチャネルはリリース検証を失敗させます。--allow-missing は明示的なローカル診断のためだけに存在し、リリースCIでは使用されません。

インストール

このリポジトリは adsagent Claudeプラグイン(スキル + .mcp.json MCP URL)として提供されます。 GitHubリポジトリ名は adsagent-ai-skills のままです。

Claude Code(推奨)

claude plugin marketplace add adsagents/adsagent-ai-skills
claude plugin install adsagent@adsagent

既存のユーザースコープインストールを更新する場合:

claude plugin update --scope user adsagent@adsagent

claude plugin list でローカルとユーザーの重複インストールが表示された場合は、ユーザースコープを保持します。

claude plugin uninstall --scope local adsagent@adsagent

インストールまたは更新後、新しいClaude Codeセッションを開始してください。

Cloud / Cowork プリインストール(設定スニペット)

{
  "extraKnownMarketplaces": {
    "adsagent": {
      "source": {
        "source": "github",
        "repo": "adsagents/adsagent-ai-skills"
      }
    }
  },
  "enabledPlugins": ["adsagent@adsagent"]
}

インストール後、/mcp に表示される各MCPサーバー(Meta、Google、TikTok)を認証してください。.mcp.json に headers.Authorization を追加しないでください。OAuthが認証パスである必要があります。

レガシープラグインスラッグからの移行

古いインストールでは adsagent-ai-skills@adsagent-ai-skills または adsagent-meta-ai-skills@adsagent-meta-ai-skills を使用していました。マーケットプレイスは adsagent@adsagent へのリネームを宣言しています。移行後、レガシーの重複を削除します。

claude plugin uninstall --scope user adsagent-ai-skills@adsagent-ai-skills
claude plugin uninstall --scope user adsagent-meta-ai-skills@adsagent-meta-ai-skills

Codex CLI

codex plugin marketplace add adsagents/adsagent-ai-skills
codex plugin add adsagent@adsagent

更新:

codex plugin marketplace upgrade adsagent

インストールまたはアップグレード後、新しいCodexセッションを開始してください。

Gitフォールバックとその他のAgent-Skills互換クライアント

skills/ のスキルは標準のAgent Skillsレイアウト(YAMLフロントマター付き skills/<name>/SKILL.md)を使用しています。スキルのみを消費するクライアント(プラグインMCPバンドルなし)は、手動でクローンできます。

git clone https://github.com/adsagents/adsagent-ai-skills.git ~/.codex/skills/adsagent-ai-skills

これらのクライアントは、別途MCP接続(ダッシュボードインストールプロンプトまたはConnectors Directory)が必要です。プラグインパスは、スキルとMCPのワンステップバンドルです。

その後、非プラグインクライアントのためにダッシュボードOAuth/トークンセットアップが必要な場合のみ、AdsAgentを開きます。

Settings -> MCP Access -> Copy install prompt

コピーしたプロンプトを新しいチャットに貼り付けます(プラグインバンドルを使用しない場合)。プロンプトは、以下のホスト型HTTP MCP URLを提供します。

Meta default: https://adsagent.md/mcp/v2
Meta legacy fallback: https://adsagent.md/mcp
Google Ads: https://google.adsagent.md/mcp
TikTok: https://tiktok.adsagent.md/mcp

重要なランタイムルール

  • Hosted HTTP MCPのみ。

  • 新しいMeta接続にはhttps://adsagent.md/mcp/v2を使用すること。/mcpはレガシー用フォールバック。

  • AdsAgent MCPコードをローカルで実行しないこと。

  • AdsAgentダッシュボードが明示的に指示しない限り、ローカルリレーを使用しないこと。

  • クライアントがサポートする場合は接続設定をキャッシュすること。

  • トークンごとのMCP同時実行数を制限すること。

  • Retry-Afterを尊重すること。

  • HTTPヘッダー、トップレベルのdata、またはJSON-RPCのerror.dataからRetry-Afterを解析すること。

  • mcp_concurrency_limitedを尊重し、待機とジッターを追加すること。

  • mcp_fanout_detectedを尊重し、ブロックされた単一スコープのリクエストを再試行する代わりに、プラットフォームのバッチ概要ツールに切り替えること。

  • agent_method_profile.profile_id=adsagent_agent_methods_v1が存在し、その一貫性読み取りがクライアントローカルカタログに存在する場合、3つのプラットフォームすべてに対してscopeまたは順序付けられたscopesを持つ1つのinsights_query_consistentリクエストを使用すること。

  • そのプロファイルがない場合、またはそのプロファイルが広告する一貫性読み取りがクライアントローカルカタログにのみ欠落している場合、プロファイルの名前付きネイティブフォールバック、または文書化されたサーバーサイドツール(Meta/TikTokはinsights_query_batch_overview、Googleはgoogle_ads_insights_overview_batch)を使用すること。ローカルセレクターのミスからサーバー登録失敗を報告しないこと。

  • 最初に集計データをクエリし、共有ツール名からクロスプラットフォームの機能パリティを推測しないこと。

  • レスポンスからサーバー計算の合計を報告すること。現在表示されている行を合計しないこと。

  • meta.complete=trueの場合のみ合計を信頼すること。欠落したスコープは不明であり、ゼロではない。

  • キューイングされたタスクをterminal=trueまでポーリングし、生のCSVではなくアーティファクトリンクを返すこと。

  • サーバーが直接タスク参照を広告する場合、tasks_get_status(task_ref=...)でキューイングされた作業を直接ポーリングすること。

  • QuickCreate確認トークンは使い捨てで、15分後に期限切れとなる。expires_atを確認し、confirm_token_invalid後は再準備し、新しい概要を表示し、新鮮な明示的な承認を得ること。

  • Meta作成タスクをtasks_get_status(task_ref=..., response_mode=compact)でポーリングすること。no_create_permissionの場合は、ユーザーを/dashboard/assets/fb-usersに誘導すること。顧客権限を変更したり、失敗した作成を自動的に再実行したりしないこと。

  • 通常のユーザー会話では生の行読み取りを避けること。

  • 数値にはMarkdownテーブルを使用すること。

  • 広告の作成または変更前に確認すること。

  • 複数の異なるソース広告にはgrouped_planを使用すること。クライアントサイドでの一連のコピー変更を通じてエミュレートしないこと。

  • オペレーターレビューエラーでは停止すること。

  • エラーにsupport_refが含まれる場合、それを保持し、サポート用にそのまま表示すること。これは認証ではない。トークン、リクエスト本文、ログで発明、変更、列挙、置き換えを決して行わないこと。

リンク

ライセンス

All rights reserved. LICENSE.md を参照。

Available Tools

4 tools
get_hosted_mcp_urlsA

Return AdsAgent hosted HTTP MCP URLs from this repo's mcp.json.

Use this when a client needs the real Meta, Google Ads, or TikTok ads MCP endpoints. Those services require AdsAgent OAuth on the hosted URLs.

This docs server does not implement ads tools, does not accept tokens, and does not proxy those endpoints. Copy the https URLs into an MCP client and authenticate against AdsAgent hosted services.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the source (mcp.json), the OAuth requirement for hosted URLs, and the server's limitations (no implementation, no token acceptance, no proxying). This sets accurate expectations for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, with the primary action front-loaded in the first sentence. Each sentence contributes either usage guidance or critical limitations with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema and no annotations, the description is complete: it explains what is returned, when to use it, and what it does not do. An agent can safely and correctly invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema already makes this clear with 100% coverage. The description adds no parameter details, which is fine; a baseline of 4 is appropriate for a no-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Return AdsAgent hosted HTTP MCP URLs from this repo's mcp.json.' This clearly states what the tool does and distinguishes it from sibling tools that operate on skills and readmes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Use this when a client needs the real Meta, Google Ads, or TikTok ads MCP endpoints,' and then clarifies what the docs server does not do (implement ads tools, accept tokens, proxy endpoints). This provides both a when-to-use and a when-not context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pack_readmeA

Return this skill-pack VERSION and a README.md identity excerpt.

Use this to confirm pack version and the public 'what this is / is not' wording, including that a Glama or Docker image of this repo is not the hosted AdsAgent ads backend.

The excerpt stops before the per-skill table. It does not include secrets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It usefully states what is returned (VERSION and README identity excerpt), what is excluded (per-skill table, secrets), and the identity nuance about the repo not being the hosted AdsAgent ads backend. It does not describe output format or error conditions, but for a zero-parameter read tool the disclosed boundaries are strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the main action is stated in the first sentence, usage guidance follows, and boundary conditions are summarized in two short sentences. Every sentence earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema and no annotations, the description fully covers what the agent needs: what the tool returns, its intended use, and its explicit exclusions. The nuance about the Glama/Docker image not being the hosted AdsAgent backend also prevents a plausible misunderstanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, so parameter explanation is unnecessary. The description instead focuses on the meaningful output semantics, which is the right trade-off for an argument-less tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb and resource: 'Return this skill-pack VERSION and a README.md identity excerpt.' This clearly distinguishes the tool from siblings like get_skill, get_hosted_mcp_urls, and list_skills by describing a unique output. The additional clarification about 'what this is / is not' wording further pins down its exact purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this to confirm pack version and the public wording,' giving a clear and direct usage context. It does not, however, name alternative sibling tools or state when not to use them, so it falls short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_skillA

Return one skill's SKILL.md and optional named reference files.

Use this after list_skills when you need the full public instructions for a single skill. Pass references only for Markdown files that live in that skill folder (progressive-disclosure contracts).

Rejects unknown skill ids and any path that leaves the skill directory. This is documentation retrieval, not a live ads API.

ParametersJSON Schema
NameRequiredDescriptionDefault
skill_idYesSkill folder name under skills/, for example meta-insights or adsagent-router.
referencesNoOptional skill-local .md filenames to include with SKILL.md, such as query-contract.md. Paths must stay inside that skill folder.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses validation behavior ('Rejects unknown skill ids and any path that leaves the skill directory'), the read-only nature ('documentation retrieval, not a live ads API'), and the progressive-disclosure contract for references. It doesn't cover errors for nonexistent reference files, auth, or rate limits, but for a simple retrieval tool these are not critical omissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with zero filler. The core purpose is front-loaded in the first sentence, usage guidance follows in the second, and the final sentence provides validation and identity context. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read-only tool with no output schema and no annotations, the description covers the key context: what is returned, when to use it, the progressive-disclosure reference convention, and validation rules. It does not specify the exact response structure or behavior when an in-folder reference file is missing, but the tool is simple enough that the description is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already thoroughly documents both skill_id and references, including examples and path constraints. The description reinforces these semantics with 'progressive-disclosure contracts' and the rejection of path escape, but it does not add substantial new parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: 'Return one skill's SKILL.md and optional named reference files.' It is clearly distinguished from list_skills (which lists skills) by saying to use it after list_skills for the full public instructions of a single skill, and from the live ads API identity statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this after list_skills when you need the full public instructions for a single skill,' giving a clear when. It also instructs when to pass references (only for Markdown files in that skill folder) and that invalid ids/paths are rejected. However, it does not explicitly compare to the sibling tools get_pack_readme or get_hosted_mcp_urls, so it falls short of a full when-not/alternatives roadmap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_skillsA

List public AdsAgent skills shipped in this repository.

Use this first when you need a catalog of documentation skills (router, setup, reliability, notifications, scheduled tasks, Meta, Google Ads, TikTok) before opening a specific SKILL.md.

Returns each skill id, YAML frontmatter description, and first Markdown heading. This tool only reads local files under skills/. It does not connect to Meta, Google Ads, or TikTok and does not run campaigns.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well. It discloses that the tool 'only reads local files under skills/, does not connect to Meta, Google Ads, or TikTok and does not run campaigns,' which prevents the agent from expecting external side effects. It also describes the return contents, giving useful behavioral expectations beyond a simple 'list' label.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, front-loading the main action and resource. Each sentence earns its place: what it returns, when to use it, and what it does not do. No redundant or vague language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only listing tool with no output schema, the description is complete. It names the domain of skills, gives the intended first-use pattern, describes return fields, and explicitly scopes its behavior. An agent has everything needed to invoke it and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to document. The description still usefully explains the output shape, which is more relevant for this tool. A baseline of 4 is appropriate since parameter documentation is not needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'List public AdsAgent skills shipped in this repository.' It clearly distinguishes this catalog-listing tool from siblings like get_skill, which opens a specific SKILL.md, and from get_hosted_mcp_urls/get_pack_readme. The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this first when you need a catalog of documentation skills... before opening a specific SKILL.md,' providing a clear when-to-use directive. It does not spell out when-not-to-use or name alternatives, but the context is strong enough for an agent to select it appropriately.

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.

  1. 4 tool updatesv0.7.67
    • First observedget_hosted_mcp_urls
    • First observedget_pack_readme
    • First observedget_skill
    • First observedlist_skills

TDQS

A4.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clear, distinct responsibility: list_skills catalogs available skills, get_skill retrieves a specific skill's documentation, get_pack_readme returns pack identity/version, and get_hosted_mcp_urls exposes hosted endpoint URLs. There is no meaningful overlap or ambiguity between them.

Naming Consistency5/5

Tool names follow a predictable verb_noun pattern: get_* for single-item retrieval and list_skills for collection retrieval. The naming is consistent, descriptive, and easy to infer.

Tool Count5/5

Four tools is well-scoped for a documentation/skill-pack server. Each tool earns its place and covers a necessary retrieval function without unnecessary bloat.

Completeness5/5

The tool surface covers the full documentation workflow: discover available skills, fetch individual skill details, confirm pack identity/version, and retrieve hosted MCP URLs. There are no obvious dead ends for the stated documentation-only purpose.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to Facebook's Ads API to enable natural language queries for campaign data, insights, and performance metrics. It allows users to manage ad accounts and retrieve detailed analytics like impressions, clicks, and spend through MCP-compatible interfaces.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to create, manage, and automate Meta (Facebook/Instagram) ads campaigns via the Marketing API, with safe defaults and AI-generated creative.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI clients to read Meta Ads performance with breakdowns and diagnostics and to create, update, or pause campaigns, ad sets, ads, creatives, audiences, and catalogs, with every write requiring explicit user approval. Runs as a hosted, OAuth-authenticated remote server with no local install.
    MIT