Skip to main content
Glama

Shopify SEO Expert: Digital Darts

Apply link titles

apply_link_titles
DestructiveIdempotent

Fill in the title attribute on internal links for up to 50 pages, using each target page's own title (the same job as the app's Link titles tab). Preview with preview_link_titles first and get the merchant's go-ahead. Runs in the background, so follow it with get_job_status.

Input Schema

NameRequiredDescriptionDefault
resourceIdsYesFrom preview_link_titles
allowDuplicateNoAllow a title that just repeats the link text (normally skipped)

Output Schema

NameRequiredDescriptionDefault
okYes
jobIdNoPass to get_job_status
totalNoPages queued
messageYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=true, openWorld=true and non-read-only, so the safety profile is covered. The description adds genuinely useful behavior beyond that: merchant approval is required, execution is asynchronous and must be followed by get_job_status, and it backfills rather than generates titles. It stops short of saying what happens to any existing title attribute values, which for a destructive tool is a real gap.

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 tightly packed sentences, front-loaded with the action, then prerequisites, then the async follow-up. No filler and no repetition of structured fields beyond a minor restatement of the 50-page cap.

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 values need no explanation, and the annotations cover the safety profile. The workflow (preview -> approval -> apply -> poll) is complete; the only missing piece is what happens to pre-existing title attributes on the links being modified, which matters given destructiveHint=true.

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 100%, so both parameters are already documented, and the description adds only a pointer that resourceIds comes from preview_link_titles. The batch cap of 50 is repeated from schema maxItems rather than extended. Baseline 3 is appropriate when the schema carries parameter meaning.

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 (fill in) and resource (title attribute on internal links), plus scope (up to 50 pages) and the source of values (each target page's own title). It also identifies itself against the sibling preview_link_titles and the app's Link titles tab, so an agent can distinguish it without opening a 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?

Explicitly names the prerequisite alternative ('Preview with preview_link_titles first') and the approval condition ('get the merchant's go-ahead'), then routes the follow-up to get_job_status. This is a clear when/when-not/next-step chain rather than implied usage.

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