Skip to main content
Glama

create_link

Create short links and URL shorteners. Use this when the user asks to shorten a URL, create a short link, or make a link shorter.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe destination URL for the link (required)
nameNoA nickname for the link to identify it later
noteNoA private note about this link
slugNoCustom slug/suffix for the link (must start with /). Only valid together with domain: setting slug without a workspace-owned domain is rejected by the API.
domainNoCustom domain for the short link (without trailing /). Must be a domain that already belongs to this workspace — call list_domains to get valid values. Required whenever slug is set.
gtm_idNoGoogle Tag Manager container ID
enabledNoWhether the link is active (default: true)
cloakingNoHide destination URL by opening in an iframe
og_imageNoOpen Graph image URL for social media previews
og_titleNoOpen Graph title for social media previews
utm_termNoUTM term parameter
block_botsNoBlock known bots and spiders from following the link
ga4_tag_idNoGoogle Analytics 4 tag ID
utm_mediumNoUTM medium parameter
utm_sourceNoUTM source parameter
fb_pixel_idNoMeta/Facebook Pixel ID for tracking
utm_contentNoUTM content parameter
utm_campaignNoUTM campaign parameter
hide_referrerNoHide referrer information when users click
forward_paramsNoForward URL parameters to the destination
og_descriptionNoOpen Graph description for social media previews
expiry_datetimeNoISO 8601 datetime when the link should expire
expiry_destinationNoFallback URL after expiry (404 if blank)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoLink ID
urlNoDestination URL
nameNo
noteNo
slugNo
rulesNo
domainNo
gtm_idNo
deletedNo
enabledNo
cloakingNo
full_urlNoFull short-link URL
og_imageNo
og_titleNo
passwordNo
utm_termNo
webhooksNo
body_tagsNo
head_tagsNo
qr_stylesNo
block_botsNo
ga4_tag_idNo
utm_mediumNo
utm_sourceNo
fb_pixel_idNo
utm_contentNo
notify_slackNo
replacementsNo
utm_campaignNo
workspace_idNo
expiry_clicksNo
hide_referrerNo
linkify_wordsNo
forward_paramsNo
og_descriptionNo
expiry_datetimeNo
notify_user_idsNo
reddit_pixel_idNo
tiktok_pixel_idNo
pinterest_tag_idNo
public_analyticsNo
twitter_pixel_idNo
snapchat_pixel_idNo
created_by_user_idNo
expiry_destinationNo
linkedin_partner_idNo
microsoft_uet_tag_idNo
skip_social_crawler_trackingNo

TDQS

B3.4/5.0
Behavior2/5

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

Annotations provide readOnlyHint=false and destructiveHint=false, and the description states 'Create' which is consistent. However, the description adds no additional behavioral details such as side effects, authentication requirements, rate limits, or response shape. With only minimal annotation coverage, the description should compensate but does not go beyond stating the basic action.

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?

Description is two sentences: first defines the tool's function, second gives usage guidance. It is front-loaded and contains no filler. Every sentence serves a purpose, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and 23 optional parameters, the description is minimal. It does not mention critical constraints like slug requiring a / prefix and domain requiring workspace ownership (present in schema but not highlighted). It also does not explain the return value or how to interpret results. Given the tool's complexity, the description is insufficient.

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 coverage is 100% with detailed descriptions for all 23 parameters. The tool description does not add any parameter-specific meaning beyond what the schema already provides. According to guidelines, when schema coverage is high (above 80%), baseline is 3, and the description does not improve upon this.

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?

Description clearly states the tool creates short links and URL shorteners. The second sentence provides specific user intents ('shorten a URL, create a short link, or make a link shorter') that map directly to the tool. While siblings like update_link and delete_link exist, the description implicitly differentiates by focusing on creation actions.

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?

Description explicitly says 'Use this when the user asks to shorten a URL, create a short link, or make a link shorter.' This gives clear context for when to invoke the tool. It does not mention when not to use it or alternatives like search_links for existing links, but for a creation tool the guidance is sufficient.

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.

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between `list_links` and `search_links`, and between the several analytics/click tools. However, descriptions clarify their differences, reducing ambiguity.

Naming Consistency3/5

Most tools follow snake_case verb_noun pattern, but `batchDeleteLinks` uses camelCase, breaking consistency. Additionally, `ping` and `test_authentication` deviate from the resource-based naming.

Tool Count4/5

25 tools is on the higher end but appropriate for the scope, covering links, domains, analytics, webhooks, and workspace management. Each tool has a clear role, though the count could be slightly reduced by merging some analytics tools.

Completeness5/5

The tool surface is comprehensive, covering CRUD for links and domains, analytics (raw and aggregated), webhook management, workspace settings, and authentication checks. No obvious gaps for a URL shortening service.