Skip to main content
Glama

mureo_state_set_conversion_events

Fix zero-conversion reporting by setting the exact Meta action_types that count as conversions for an account, replacing generic defaults to handle custom pixel events.

Instructions

Declare which Meta Insights action_type rows count as THIS account's conversions, overriding mureo's built-in deduped generic set (lead / purchase / complete_registration). Use this when an advertiser's real conversion is a CUSTOM pixel event (offsite_conversion.custom.<id>) — otherwise it reports 0 conversions — or when their account only emits a component row (e.g. offsite_conversion.fb_pixel_lead) with no generic aggregate. Replacement semantics: the listed action_types are the COMPLETE conversion set (never summed on top of the defaults), so overlapping alias rows can't double-count. Tip: to avoid typos, first call meta_ads_insights_report / _breakdown to see the account's real action_type labels, confirm with the operator, then set the exact string(s) here. Pass an empty list (or omit conversion_action_types) to CLEAR the override and restore the default. Stored on platforms[platform] and preserved across syncs. Returns the updated state document.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoOptional path to the file. Defaults to STRATEGY.md / STATE.json in the MCP server's current working directory. Paths outside cwd are refused.
platformYesPlatform key — normally ``meta_ads`` (the override only affects the Meta conversion counters). Use the SAME key the account is already stored under — one ad account has exactly one platform key, and a second key for an account another key already holds is REJECTED (the reporting view sums the entries, so it would double-count).
account_idYesThe Meta ad account id (``act_*``). Always written onto the platform entry, and used to detect a second entry for the same account. The override applies ONLY to this account.
conversion_action_typesNoExact Meta ``action_type`` strings to count as conversions (e.g. ["offsite_conversion.custom.123"]). Empty / omitted clears the override.
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 of behavioral disclosure. It thoroughly explains replacement semantics (complete set, not additive), how overlapping aliases can't double-count, that passing an empty list clears the override, that it's stored persistently, and that it returns the updated state document. No contradictions.

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?

The description is dense and each sentence adds substantive information, but it is longer than necessary. It front-loads the core purpose and then logically flows through usage, semantics, tips, and return values. No fluff, but not as tightly concise as the two-sentence gold standard.

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?

Given the tool's complexity and lack of output schema, the description covers all necessary aspects: purpose, when to use, replacement semantics, clearing, storage location, persistence, and return value. It also provides a practical tip to avoid typos, making it fully actionable.

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. The description adds value by explaining the higher-level semantics of conversion_action_types (complete set overriding defaults, preventing double-counting) and reinforces the platform key uniqueness. This goes beyond the schema's parameter descriptions, which already are detailed, but the description enriches the mental model.

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 clearly states its purpose: declaring which Meta Insights action_type rows count as this account's conversions, overriding mureo's built-in generic set. It uses a specific verb ('Declare') and resource ('Meta Insights action_type rows') and distinguishes itself from sibling state tools by focusing on conversion override logic.

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 states when to use this tool: when an advertiser uses custom pixel events or when the account emits only component rows. It also provides practical guidance (call meta_ads_insights_report first to verify exact strings, confirm with operator) and explains clearing behavior, giving clear usage context.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly/mureo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server