Skip to main content
Glama

Create an ad account

ads_create_account

Create an ad account in a Business portfolio from ads_list_businesses. It is permanent: Meta has no API to close or delete an ad account, a portfolio may only hold a few, and its currency and time zone cannot be changed later — confirm every field with the user first. Reuse the same idempotencyKey when retrying: a repeated key returns the first result instead of creating a second account.

Input Schema

NameRequiredDescriptionDefault
nameYes
currencyNoUSD
timezoneYes
accountIdNoThe Facebook accountId from list_accounts. Without it, pass profileId to use that profile's Facebook connection.
profileIdNoA profileId from list_profiles. Optional when accountId is given, which names its profile; if both are given they must agree.
businessIdYes
idempotencyKeyYesA unique value per intended ad account, such as a UUID. Sent as the Idempotency-Key header.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / accountId / description
      Previous value: -"The Facebook accountId from list_accounts. Defaults to the profile's Facebook connection."New value: +"The Facebook accountId from list_accounts. Without it, pass profileId to use that profile's Facebook connection."
    • changedInput schema / properties / profileId / description
      Previous value: -"Defaults to the profile your API key is bound to."New value: +"A profileId from list_profiles. Optional when accountId is given, which names its profile; if both are given they must agree."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses irreversibility (Meta has no API to close or delete an ad account), a portfolio size constraint, that currency and time zone are immutable after creation, and the idempotency replay behavior. This is rich, decision-relevant behavioral context that the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false) do not convey.

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 tight sentences, front-loaded with purpose, then the permanence warning, then retry/idempotency guidance. Every sentence carries a distinct, actionable fact with no filler.

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 7-param, 4-required mutation with no output schema, it covers the critical unknowns (irreversibility, idempotency, businessId source, field immutability). It does not describe what the call returns, though 'a repeated key returns the first result' hints at a returned object.

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?

With only 43% schema description coverage, the description compensates by explaining the idempotencyKey replay semantics, that businessId comes from ads_list_businesses, and that currency/timezone are fixed at creation. It does not add meaning for name or the accountId/profileId relationship beyond what the schema already documents.

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?

States a specific verb (Create), resource (ad account), and scope (in a Business portfolio), and names the sibling ads_list_businesses as the source of businessId. This lets an agent distinguish it from ads_create_campaign, ads_update_account, and the get/list siblings without opening a 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 a precondition (obtain the businessId via ads_list_businesses) and a strong usage caution (confirm every field with the user first, since currency/timezone are locked in). It stops short of explicitly naming when-not-to-use or contrasting with ads_update_account, so it is clear context but not full alternative routing.

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.

Resources