Skip to main content
Glama

Signal by StackEnhance

Brand email frequency

get_brand_email_frequency
Read-onlyIdempotent

How many marketing emails a brand sent in a calendar period, and when, as observed by StackEnhance Signal (ecommerce brands, mostly in Sweden, Norway, Denmark, Finland and Germany). Use for questions like "How many emails did Newport send in August 2026?", "What did Newport send last week?" or "What has X sent recently?". Without a market, a brand tracked in several countries gets one result per market. Resolve relative dates yourself to YYYY-MM-DD: "last week" is the previous Monday–Sunday, "last month" the previous calendar month, "recently" the last 14 days. Dates are the brand's local calendar dates. The period must start within the last six months (older history is in a Signal account) and may span up to two years. Returns the count; for periods of up to 31 days also the date of each send; and at most two subject lines, only ones already shown on the brand's public StackEnhance page and sent in the period. Every listed send was captured in full; a send without a quoted subject is listed in sends_with_subject_in_signal because its subject is withheld by that limit, not missing. Counts are de-duplicated marketing sends (welcome, birthday and transactional emails excluded). There is no open, click or revenue data. Full campaigns, other subject lines, offers, products and creative analysis are not available through this tool. Cite each result's details_url as the source and as where the full campaigns are.

Input Schema

NameRequiredDescriptionDefault
toYesLast day of the period, inclusive, YYYY-MM-DD.
fromYesFirst day of the period, YYYY-MM-DD.
brandYesBrand name as the user wrote it, e.g. "Newport" or "IKEA". A domain such as newport.se also works.
marketNoCountry of one storefront as a two-letter code (SE, NO, DK, FI, DE) or its name ("Sweden"). Omit it to get every market the brand is tracked in.

Output Schema

NameRequiredDescriptionDefault
resultsYes
unavailableNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description nonetheless adds real behavioral detail: de-duplication rules, the six-month start limit, the two-year maximum span, the two-subject-line cap, and the sends_with_subject_in_signal explanation. With annotations carrying the safety baseline, a 4 is defensible; it stops short of 5 only because some of the disclosure (return shape) overlaps the output schema.

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?

Purpose and the worked examples are front-loaded, and every clause is functional rather than decorative. It is long, but the length is driven by genuine constraints (date resolution, period limits, subject-line caps) rather than filler; only the closing 'full campaigns ... not available' sentence could be trimmed slightly.

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 analytics tool with a full output schema, this covers everything an agent needs: what is counted, what is excluded, the period constraints, how to interpret absent subjects, what data is absent (no open/click/revenue), and the instruction to cite details_url as the source. Nothing material is missing.

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 the baseline would be 3. The description earns above that by adding meaning the schema does not: omitting market yields one result per market, dates are the brand's local calendar dates, and relative expressions must be converted to YYYY-MM-DD. It does not repeat the schema's own parameter prose, which is correct.

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 first sentence names a specific verb and resource ('how many marketing emails a brand sent in a calendar period') plus the data source, and the exclusions (welcome, birthday, transactional) sharpen the scope. An agent can tell this apart from find_brands and get_brand_summary without opening any schema.

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?

Gives three concrete example questions, explains the market-omission behavior ('one result per market'), tells the agent to resolve relative dates itself with explicit definitions of 'last week', 'last month' and 'recently', and states the allowed period bounds. Nothing about when to call it is left to inference.

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.