Skip to main content
Glama

Create a dynamic link collection

create_dynamic_collection

Add a shared link block that fills itself — e.g. footer SEO links to every area page, a "Browse by area" card grid, category navigation. source_type "internal_pages" builds links from the site's pages matching slug_pattern and/or page_types (links appear as matching pages are added); "manual" uses the manual_items you give. Its links are stored under content_key for the section that renders them. Try preview_dynamic_collection first. Lands in version history.

Input Schema

NameRequiredDescriptionDefault
nameYesA name for the collection, e.g. "Area links"
titleYesHeading shown above the links, e.g. "Areas we serve"
layoutNoDefault "footer_columns"
columnsNoColumns for grid/column layouts; default 3
site_idYesThe site, from list_sites
placementNoWhere it appears; default ["footer"]
user_goalNoOptional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details.
page_typesNointernal_pages: page types to include
content_keyYesWhere its links are stored, a code-style identifier unique on the site, e.g. "areaLinks"
source_typeYes"internal_pages" or "manual"
manual_itemsNomanual: the links
slug_patternNointernal_pages: page slug pattern, e.g. "/areas/*"
variation_idNovariation_id of the design whose pages to use (from list_variations). Omit for the site's chosen design.
show_descriptionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / user_goal
      Added value: +{
      +  "description": "Optional: the user's goal behind this call, in one short sentence of plain words (e.g. \"add a page so customers can book tables\"). No names, emails or other personal details.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare non-readOnly, non-destructive, non-idempotent, but the description adds real behavioral context: links auto-update as matching pages are added, links are stored under `content_key`, and the change lands in version history (reversibility). It doesn't call out auth/permission needs, but the added mutation semantics are valuable beyond the annotations.

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?

Front-loaded with the purpose and examples before drilling into `source_type` branching and the preview recommendation. It is dense (em dashes, inline enum references) but each clause carries information; no filler sentences.

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?

For a 14-param, 5-required mutation with no output schema and thin annotations, the description covers mode selection, storage key semantics, auto-update behavior, version history, and the preview-first workflow. Layout/placement/columns defaults are left to the schema, which documents them, so the description is nearly complete.

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?

With 93% schema coverage the baseline is 3, but the description goes further by explaining the branch semantics: `slug_pattern`/`page_types` only apply to `internal_pages` while `manual_items` apply to `manual`, and `content_key` is the render-time storage handle. That resolves the main ambiguity of a 14-param tool.

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 concrete verb+resource ('Add a shared link block that fills itself') and immediately grounds it with examples (footer SEO links, 'Browse by area' card grid, category nav). It also distinguishes the two modes of building links via `source_type`, so an agent can separate this from `create_collection` or `add_collection_item` siblings.

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?

Explicitly routes the agent to run `preview_dynamic_collection` first, which is a real usage constraint. It also explains when to pick `internal_pages` vs `manual`. It does not contrast this with the sibling `create_collection` (static) or `add_collection_items`, which slightly limits routing clarity.

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