Skip to main content
Glama

Create a DexURL short link

create_link

Create a short link. Free: a destination, title, click cap, expiry (up to 24 hours) and fallback address. Pro: slugPrefix (readable link text), oneTime, password, and the rules families below; the API says so when it refuses. destinationUrl is always required. With a choice page or board visitors see the options instead of being sent to it, with routing it is where visitors go when no rule matches and routing.defaultUrl is empty, and it is the link's main address in the library. A slugPrefix address always ends in 6 generated characters (spring-sale becomes spring-sale-k7m2q9). There are no tags: to compare channels (newsletter, Instagram, flyer) create one link per channel and name the channel in the title; find_links searches titles. Time: availability and routing time windows are read in their own timeZone (0 = Sunday); routing rules of type weekday and hour use UTC. qrUrl is the address the link's QR code contains (scanning it opens the link); it is not an image; open manageUrl to see or download the QR code. Examples: schedule: {"destinationUrl":"https://example.com/menu","rules":{"availability":{"timeZone":"Europe/Paris","weekdays":[1,2,3,4,5],"startMinutes":540,"endMinutes":1020}}} notice: {"destinationUrl":"https://example.com/partner","rules":{"redirectNotice":{"title":"Leaving DexURL","message":"You are going to our partner."}}} routing rules: {"destinationUrl":"https://example.com/web","rules":{"routing":{"defaultUrl":"https://example.com/web","rules":[{"type":"device","match":"ios","destinationUrl":"https://example.com/ios"}]}}} routing windows: {"destinationUrl":"https://example.com/day","rules":{"routing":{"windows":[{"timeZone":"UTC","weekdays":[0,1,2,3,4,5,6],"startMinutes":0,"endMinutes":720,"destinationUrl":"https://example.com/morning"}]}}} choice page: {"destinationUrl":"https://example.com/pick","rules":{"choiceOptions":[{"label":"Shop","destinationUrl":"https://example.com/shop"},{"label":"Blog","destinationUrl":"https://example.com/blog"}]}} multi-link board: {"destinationUrl":"https://example.com/links","rules":{"boardTitle":"Find us","destinations":[{"label":"Site","destinationUrl":"https://example.com"},{"label":"Docs","destinationUrl":"https://example.com/docs"}]}}

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "destinationUrl": "<destinationUrl>"
    },
    "name": "create_link"
  }
}

Input Schema

NameRequiredDescriptionDefault
rulesNoLink rules.
titleNoA name for your library. Never shown to visitors.
oneTimeNoWorks once. Pro.
passwordNoVisitors must enter it. Pro.
maxClicksNoStops working after this many clicks.
slugPrefixNoReadable link text to start the address with. Readable link text is a Pro feature. The address always ends in 6 generated characters, e.g. spring-sale-k7m2q9.
fallbackUrlNoWhere visitors go when it is unavailable.
destinationUrlYesWhere the link goes (http or https). Required even for a choice page or board.
expiresInMinutesNoStops working after this many minutes. Free: up to 1440; Pro: up to 129600 (90 days).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true) the description discloses plan gating, expiry ceilings per tier, slug generation that appends 6 characters, the absence of a tags concept, which time zone each time construct is read in, and that qrUrl is a redirect address rather than an image. That is substantial behavioral context the annotations cannot carry.

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?

The core action is stated in the first sentence, then tier capabilities, then semantics, then examples — a sensible front-loaded order. It is dense and somewhat long, with a few restatements of schema text (the 6-character slug suffix, the time-zone weekday convention), but the length is defensible for a 9-parameter tool with nested rule families.

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?

There is no output schema, and the description compensates by explaining that qrUrl is the redirect target and manageUrl leads to QR display and download. Combined with the tier limits, time-zone semantics, and payload examples, an agent has everything needed to construct a valid call on the first attempt.

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 is 3, but the description adds real meaning: destinationUrl's differing role across choice page, routing fallback, and plain link, plus the slugPrefix suffix example. The six worked JSON payloads show how the nested rules families are actually assembled, which the flattened schema does not convey. It misses only a note that oneTime and maxClicks are accepted both top-level and inside rules.

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 gives a specific verb and resource ("Create a short link") and the body immediately distinguishes this tool's role from find_links ("find_links searches titles"). The Free/Pro feature split and the routing/choice-page/board variants make it unambiguous what this tool produces versus the other link tools.

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?

It gives concrete usage context: create one link per channel instead of using tags, name the channel in the title, and use find_links to search. It also states that Pro-only options are rejected by the API rather than silently ignored. It stops short of explicitly routing the agent to update_link or delete_link for follow-up operations, which is the only notable gap.

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.