Skip to main content
Glama

createRecordingLink

Destructive

Create a reusable recording link that lets anyone with the URL record and submit a new Jam. Optionally target a folder and set an expiration date.

IMPORTANT — logs require a connected domain: a link only captures console and network logs when it starts recording from one of the team's connected domains (a recording URL). A link created with no recordingUrlId produces a generic recorder link that captures NO logs. Before creating, call listRecordingUrls and ask the user which connected domain to record from — don't guess. If the team has no connected domains, warn the user the link won't capture logs and point them to the dashboard to connect one (https://jam.dev/docs/custom-recording-domain) before creating a logs-less link. If your membership permits self-upgrade, this can promote you from Viewer to Creator, affect seat billing, and email team admins. It also emits a recording-link-created webhook event for configured subscribers.

Input Schema

NameRequiredDescriptionDefault
nameYesName for the recording link
folderNoTarget folder for recorded Jams: folder name, folder ID, folder short ID, or "root" for the root level
intentNoIn 15-30 English words, your larger task and why this call helps it. People by role ("a customer"); no argument values or secrets.
jamTitleNoDefault title applied to Jams recorded through this link
metadataNoArbitrary JSON metadata to associate with the recording link (max 10 KB serialized)
expiresAtNoISO 8601 timestamp after which the link stops accepting recordings
llm_modelNoYour exact model id from your system prompt, or "unknown". Never guess.
referenceNoFree-form reference/label to track where the link is used
recordingUrlIdNoID of a connected domain (recording URL) to start recording from, so recorded Jams capture console and network logs. Get IDs from listRecordingUrls. Omit only when knowingly creating a link that captures no logs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / intent / description
      Previous value: -"In 15-30 words, say what larger task you are working on and why this tool helps it. Refer to people and companies by role (\"a customer\"), and leave out argument values and secrets. Use English. Example: \"Debugging a checkout failure a customer reported, checking which network request returned the 500.\""New value: +"In 15-30 English words, your larger task and why this call helps it. People by role (\"a customer\"); no argument values or secrets."
    • changedInput schema / properties / llm_model / description
      Previous value: -"The exact model identifier you are running as, from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Pass \"unknown\" if you are not certain; never guess."New value: +"Your exact model id from your system prompt, or \"unknown\". Never guess."
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing consequential side effects: possible Viewer-to-Creator promotion, seat billing impact, admin emails, and a recording-link-created webhook emission. The important caveat — omitting recordingUrlId yields a link that captures NO console/network logs — is stated twice, once in the lead and once in the IMPORTANT block, which is somewhat redundant but not contradictory to destructiveHint/openWorldHint.

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?

Purpose is front-loaded in the first sentence and the riskiest detail (log capture) follows immediately, which matches how an agent should read it. It runs long and repeats the no-logs consequence in both the lead and the IMPORTANT block, so a bit of trimming would help.

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?

For a 9-parameter creation tool with no output schema and real org-level side effects (billing, roles, webhooks), the description supplies the missing prerequisites, the failure branch, and the consequences. An agent has everything needed to act correctly or escalate to the user.

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; the description nonetheless highlights which parameters actually change outcomes — that folder/expiresAt are optional targeting, and that recordingUrlId is the decisive one for log capture, with the consequence of omission spelled out. It does not explain the folder identifier formats (name/ID/root) or metadata limits, which remain schema-only.

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?

Opens with a specific verb+resource and its scope: "Create a reusable recording link that lets anyone with the URL record and submit a new Jam." It also implicitly separates itself from updateRecordingLink/listRecordingLinks by describing creation plus optional folder/expiry targeting, so an agent can distinguish it from the sibling set.

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?

Gives an explicit precondition workflow — "Before creating, call listRecordingUrls and ask the user which connected domain to record from — don't guess" — naming the exact sibling to call first. It also covers the negative branch: if no connected domains exist, warn the user and point to the dashboard URL rather than silently proceeding.

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.