Skip to main content
Glama

Opus Growth, Ad Platforms MCP Connector

Meta Change History

meta_change_history
Read-onlyIdempotent

Meta ACTIVITY / CHANGE HISTORY (audit trail) — WHO changed WHAT and WHEN in a Meta ad account, the equivalent of Ads Manager's "Activity history" and of get_change_history on Google Ads. Returns, per event: time (converted to the ACCOUNT's own timezone — Meta serves this endpoint in UTC, and time_utc keeps the raw value), actor (the person's name), the event in plain language, level (campaign | adset | ad | account), the object id/name, and field-level old→new values where Meta provides them (status, budget, bid, targeting, schedule, creative updates). since/until are YYYY-MM-DD — pass the same day in both for an hour-by-hour report of that day. level filters to one entity type. NOTE: Meta keeps roughly 90 days of history and its events are coarser than Google's — a creative edit shows up as an event, but the before/after text of a headline or primary text is not always included.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
levelNo
limitNo
sinceNo
untilNo
account_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added
  4. Removed
  5. Added
  6. Removed
  7. Added
  8. Removed
  9. Added
  10. Removed
  11. Added
  12. Removed
  13. Added
  14. Removed
  15. Added
  16. Removed
  17. Added
  18. Removed
  19. Added
  20. Removed
  21. Added
  22. Removed
  23. Added
  24. Removed
  25. Added
  26. Removed
  27. Added
  28. Removed
  29. Added
  30. Removed
  31. Added
  32. Removed
  33. Added
  34. Removed
  35. Added
  36. Removed
  37. Added
  38. Removed
  39. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish a safe read-only, idempotent, non-destructive profile, yet the description adds substantial value beyond them: it discloses the ~90-day retention window, that timestamps are converted to the account timezone (with time_utc raw), and that Meta's events are coarser than Google's so creative before/after text is sometimes absent. These are exactly the behavioral caveats an agent needs.

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

Conciseness4/5

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

Dense and front-loaded, leading with the core purpose and audit-trail framing before parameters and caveats. It is long, but nearly every clause carries a distinct fact; only the enumeration of return fields is slightly verbose given an output schema exists.

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 read-only history tool with a rich output schema and non-obvious data limitations, the description covers purpose, filtering semantics, timezone behavior, retention horizon, and known data-coarseness caveats. An agent has everything required to call it correctly and interpret the results.

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 0%, so the description carries the burden and does well for the parameters that matter: since/until format and same-day semantics, and level's entity-type filtering, plus the returned fields (time, actor, event, level, object id/name, old→new values). It does not explain limit (default 100, any max?) or the account_id requirement, leaving minor gaps.

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+resource (audit trail of Meta ad account changes, who changed what and when) and anchors it against named relatives — Ads Manager's 'Activity history' and get_change_history on Google Ads. An agent can immediately distinguish it from tiktok_change_history, account_audit, and the many list_meta_* siblings.

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 usage cues: since/until are YYYY-MM-DD and passing the same day in both yields an hour-by-hour report, and level filters to one entity type. It also frames the tool as the Meta counterpart to Google's get_change_history. It stops short of explicitly stating when NOT to use it or naming a preferred alternative for other scenarios.

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.