Skip to main content
Glama

Ecomwith Commerce Desk

Build a campaign UTM link

build_campaign_utm
Read-onlyIdempotent

Format one HTTP(S) campaign URL with source, medium and campaign, plus optional content and term. Trims and lowercases UTM values and replaces whitespace with underscores. Returns naming warnings. Never visits the URL, sends a message, saves a campaign or changes tracking settings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesDestination URL. This tool formats it locally and never fetches it.
termNo
mediumYes
sourceYes
contentNo
campaignYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
fetchedYes
normalizationYes
namingWarningsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. Beyond that, the description adds real behavioral detail: values are trimmed, lowercased, and whitespace is replaced with underscores, and naming warnings are returned. The scope exclusions partially restate the annotations but are still useful specificity.

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 the core action, then normalization behavior, then scope exclusions. No filler or redundancy; every clause carries information.

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?

An output schema exists, so return structure needn't be explained, and annotations cover the safety profile. The description fills in the normalization and scope details that the low-coverage schema lacks, leaving only minor items (length bounds, warning format) to the structured fields.

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 description coverage is only 17% (just the url field), so the description has to carry the load, and it does: it names source, medium, campaign and the optional content and term, plus the normalization rules applied to those values. It doesn't mention the length limits, but transformation semantics are the more important gap and they are covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb+resource: 'Format one HTTP(S) campaign URL with source, medium and campaign.' It also enumerates the optional fields, so an agent knows exactly what the tool produces. It doesn't explicitly contrast itself with the sibling calculators/reports, but the domain is distinct enough that confusion is unlikely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (use this to assemble a UTM-tagged campaign link) but there is no explicit 'use when / don't use when' framing and no alternative tool is named. The closing negative clauses ('Never visits the URL, sends a message, saves a campaign or changes tracking settings') act as scope boundaries rather than selection guidance.

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