Skip to main content
Glama

Ads Manager by AdKit: Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads

adkit_library

Destructive

Browse 1M+ ads from thousands of advertisers across Meta, Google, and LinkedIn. Keep a per-project watchlist of advertisers and save ads to shareable inspiration boards. For advertiser list/search, params.scope is library (default, all advertisers) or watchlist (the selected project's My Watchlist). Create and fill boards before setting shareEnabled: true through boards update, and only enable sharing when the user explicitly asks. The user's own campaigns live in adkit_manage.

Input Schema

NameRequiredDescriptionDefault
idNoEntity identifier. Required for get, ads analyze, track, untrack, boards get, boards update, and boards add-ads.
actionYeslist, search, get, and similar only read. For ads, analyze queues analysis of one ad by id, with no params. Saved results and active jobs are reused. New jobs use the shared daily analysis allowance (20 Base, 50 Pro). Use ads get to read analysisStatus and the saved creative analysis. Pending/processing means wait before checking again; failed includes analysisError and retry requires a new analyze call. add and track put an advertiser on the selected project's watchlist; untrack takes it off that list and leaves the advertiser and its ads in the library. Boards: create starts an empty board, update edits its name, description, color, or sharing, and add-ads adds library ads to it.
entityYesLibrary entity to query.
paramsNoFree-form request params. Sent as query for GET requests and as body fields for mutations.
projectIdNoRequired. Get from adkit_projects. Auto-resolves only for single-project users.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"list, search, get, and similar only read. add and track put an advertiser on the selected project's watchlist; untrack takes it off that list and leaves the advertiser and its ads in the library. Boards: create starts an empty board, update edits its name, description, color, or sharing, and add-ads adds library ads to it."New value: +"list, search, get, and similar only read. For ads, analyze queues analysis of one ad by id, with no params. Saved results and active jobs are reused. New jobs use the shared daily analysis allowance (20 Base, 50 Pro). Use ads get to read analysisStatus and the saved creative analysis. Pending/processing means wait before checking again; failed includes analysisError and retry requires a new analyze call. add and track put an advertiser on the selected project's watchlist; untrack takes it off that list and leaves the advertiser and its ads in the library. Boards: create starts an empty board, update edits its name, description, color, or sharing, and add-ads adds library ads to it."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "list",
      -  "search",
      -  "get",
      -  "similar",
      -  "add",
      -  "track",
      -  "untrack",
      -  "create",
      -  "update",
      -  "add-ads"
      -]New value: +[
      +  "list",
      +  "search",
      +  "get",
      +  "similar",
      +  "add",
      +  "track",
      +  "untrack",
      +  "create",
      +  "update",
      +  "add-ads",
      +  "analyze"
      +]
    • changedInput schema / properties / id / description
      Previous value: -"Entity identifier. Required for get, track, untrack, boards get, boards update, and boards add-ads."New value: +"Entity identifier. Required for get, ads analyze, track, untrack, boards get, boards update, and boards add-ads."
  2. Changed1 schema field changed
    • changedInput schema / properties / action / description
      Previous value: -"Library action to execute. For advertisers, track/untrack changes the selected project watchlist. For boards, list/get reads the selected project, create/update changes board metadata, and add-ads saves selected library ads."New value: +"list, search, get, and similar only read. add and track put an advertiser on the selected project's watchlist; untrack takes it off that list and leaves the advertiser and its ads in the library. Boards: create starts an empty board, update edits its name, description, color, or sharing, and add-ads adds library ads to it."
  3. Changed2 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Library action to execute. For advertisers, track/untrack changes the selected project watchlist. For boards, create/update changes board metadata and add-ads saves selected library ads."New value: +"Library action to execute. For advertisers, track/untrack changes the selected project watchlist. For boards, list/get reads the selected project, create/update changes board metadata, and add-ads saves selected library ads."
    • changedInput schema / properties / id / description
      Previous value: -"Entity identifier. Required for get, track, untrack, boards update, and boards add-ads."New value: +"Entity identifier. Required for get, track, untrack, boards get, boards update, and boards add-ads."
  4. Changed4 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Library action to execute. For advertisers, track/untrack adds/removes an existing advertiser from the selected project watchlist; add requires a website or ad library URL and tracks the advertiser. For a name, search first, then track its ID."New value: +"Library action to execute. For advertisers, track/untrack changes the selected project watchlist. For boards, create/update changes board metadata and add-ads saves selected library ads."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "list",
      -  "search",
      -  "get",
      -  "similar",
      -  "add",
      -  "track",
      -  "untrack"
      -]New value: +[
      +  "list",
      +  "search",
      +  "get",
      +  "similar",
      +  "add",
      +  "track",
      +  "untrack",
      +  "create",
      +  "update",
      +  "add-ads"
      +]
    • changedInput schema / properties / entity / enum
      Previous value: -[
      -  "advertisers",
      -  "ads"
      -]New value: +[
      +  "advertisers",
      +  "ads",
      +  "boards"
      +]
    • changedInput schema / properties / id / description
      Previous value: -"Entity identifier. Required for get, track, and untrack; track/untrack change watchlist membership for the selected project only."New value: +"Entity identifier. Required for get, track, untrack, boards update, and boards add-ads."
  5. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, and the description adds the important nuance that most browsing is read while mutations are limited to boards and watchlist changes. It adds genuinely new behavioral constraints not in annotations: fill boards before setting shareEnabled:true, and only enable sharing on explicit user request. It does not discuss allowance limits or failure modes, but those are already in the action parameter schema.

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?

Four sentences, front-loaded with what the library is, then scope semantics, then the sharing safety rule, then the sibling pointer. Each sentence carries distinct information with no restatement of the name or title.

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?

There is no output schema, so the description carries the burden, and it covers the three entities, the read-vs-write split, and the sharing precondition. Per-action detail (analyze flow, add-ads, untrack semantics) is delegated to the enum description, which is reasonable given the dispatcher shape, but the description alone would not be enough to drive every action.

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?

Schema coverage is 100%, so baseline is 3, but params is a free-form object with no documented keys and the description supplies the one key that matters: params.scope with values library (default) and watchlist (the selected project's My Watchlist). That is real meaning the schema cannot convey. It does not enumerate other params keys, keeping it at 4 rather than 5.

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

Purpose4/5

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

Opens with a specific verb+resource and scale ('Browse 1M+ ads from thousands of advertisers across Meta, Google, and LinkedIn') and names the two subsystems it manages: watchlists and inspiration boards. It distinguishes itself from adkit_manage by stating that the user's own campaigns live there, so an agent can route correctly without opening the schema.

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?

Gives concrete selection rules: params.scope=library vs watchlist for advertiser list/search, and an explicit exclusion ('The user's own campaigns live in adkit_manage'). It also sets an approval gate on sharing. It stops short of telling the agent when to prefer adkit_studio or other library-adjacent siblings, so not a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.