Skip to main content
Glama
bobberrisford

affiliate-networks-mcp

affiliate_query_brand_data

Read-only

Run read-only analytical queries on 30-day brand data to compute commissions, pending splits, and top programmes, with results grouped by currency.

Instructions

Run a read-only analytical query (filters, group-bys, sums, top-N) over the persisted 30-day brand dataset and return a small, exact result. Use this to answer questions over a large account's full data — commission by programme and month, the pending split by network, top programmes by commission — without pulling every row through a tool result; build a snapshot first with affiliate_build_brand_snapshot, and note aggregate results always group by currency because sums never cross currencies. Returns grouped metrics (or matching rows with mode "rows") plus the persisted coverage window, an explicit coverageMismatch when the requested range extends beyond it, and an explicit unsupported result when the store fell back to aggregated mode; this is a paid brand-data tool gated by the local entitlement check.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
brandYes
limitNo
offsetNo
filtersNo
groupByNo
metricsNo
orderByNo
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses several non-obvious behaviors: aggregate results always group by currency because sums never cross currencies, a coverageMismatch signal when the requested range exceeds the persisted window, an unsupported result when falling back to aggregated mode, and gating by a local entitlement check. These details meaningfully reduce surprise and are not inferable from annotations alone.

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 efficient and front-loaded, opening with the core purpose and then expanding into usage and return behavior. It is packed with valuable details but the second sentence is long and multi-clause, which slightly reduces scannability. Overall, every clause 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?

Given there is no output schema, the description does a solid job explaining what the tool returns: grouped metrics, matching rows with mode 'rows', persisted coverage window, coverageMismatch, and unsupported result. It also covers the 30-day scope, the prerequisite to build a snapshot, and the entitlement check. Missing are concrete output field shapes and a precise definition of coverageMismatch, but the level of detail is adequate for a complex analytical tool.

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 0%, so the description must compensate. It maps high-level concepts to parameters: 'filters, group-bys, sums, top-N' correspond to the filters, groupBy, metrics, and orderBy/limit fields; 'mode "rows"' is mentioned. However, it is not a systematic parameter explanation, leaving the meaning of offset, specific filter fields, and orderBy.direction to be inferred from names and enums rather than described.

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 states a specific verb+resource combination: 'Run a read-only analytical query ... over the persisted 30-day brand dataset'. It enumerates concrete operations (filters, group-bys, sums, top-N) and provides examples (commission by programme and month) that clearly differentiate it from sibling tools like affiliate_get_brand_rows and affiliate_build_brand_snapshot.

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 answer questions over a large account's full data', providing a clear when-to-use context. It also gives a prerequisite by instructing to 'build a snapshot first with affiliate_build_brand_snapshot' and contrasts with 'without pulling every row through a tool result'. While it doesn't explicitly name an alternative for raw-row retrieval, the context strongly implies the division of labor.

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/bobberrisford/affiliatemcp'

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