Skip to main content
Glama

remix_hook

Make it mine: write up to n new opening lines (1 to 5, default 3) for your niche that keep a real hook's structure, the device that made it travel, with the subject swapped for yours. hook_id is one of your hooks (from get_run, get_hook or list_keeps); 404 hook_not_found otherwise. Leave mode out: "intro" (Write my intro) is remix_find on a long-form find, and is 422 here, before any charge.

Returns {"hook_id", "niche", "n", "written": [{"line", "kept_structure"}], "label",
"credits_charged": 1, "credits"}. label is always
"Written by Hook Detector from a real hook's structure":
these are written lines, never found hooks; show the label
with them, never present one as a real clip's hook. They are never added to a deck, a
keep or an export. Costs 1 credit per call, taken before the model is asked and
refunded when it does not answer (503 model_unavailable) or when nothing it wrote
keeps the rules or it declines the content (422 remix_not_possible, the reason in the
message; another try or another niche may work). 402 insufficient_credits at
a balance of 0; limited per account per hour (429 rate_limited). Needs the research
permission. The answer carries remix_id: list_remixes and get_remix read it back,
free. Same as POST /v1/hooks/{hook_id}/remix.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nNohow many lines to write, 1 to 5 (default 3)
modeNoleave out (or "openings"). Write my intro works from a long-form find (POST /v1/finds/{find_id}/remix), so "intro" is refused here with 422
nicheNoyour niche, product or audience, as you would say it (1 to 120 characters)
api_keyNo
hook_idNoone of your hooks (from get_run, get_hook or list_keeps)
idempotency_keyNo1 to 255 visible ASCII characters; the same key and request within 24 hours answer the saved remix and charge nothing; the same key with another request is 422 idempotency_key_reused

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / mode
      Added value: +{
      +  "default": null,
      +  "description": "leave out (or \"openings\"). Write my intro works from a long-form find (POST /v1/finds/{find_id}/remix), so \"intro\" is refused here with 422",
      +  "enum": [
      +    "openings",
      +    null
      +  ],
      +  "title": "Mode",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "1 to 255 visible ASCII characters; the same key and request within 24 hours answer the saved remix and charge nothing; the same key with another request is 422 idempotency_key_reused",
      +  "title": "Idempotency Key"
      +}
  3. Added

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: 1 credit charged before the model is asked and refunded on 503/422, 402 at zero balance, 429 hourly rate limit, research permission requirement, and the crucial disclosure that outputs are written lines never to be presented as real hooks or added to decks/keeps/exports. This is far beyond what structured fields provide.

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 main action is front-loaded and every sentence carries information (costs, refunds, error codes, labeling rules, read-back tools). It is dense and long, and the return-shape recitation overlaps with the output schema, but there is little pure padding.

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 credit-charging generative mutation with no annotations, the description covers permissions, charging, refund semantics, error codes, rate limits, labeling obligations, and read-back tools. An output schema exists, yet the description still names remix_id for list_remixes/get_remix, leaving no gap an agent needs to call this correctly.

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 83%, so the schema already documents n, mode, niche, hook_id, and idempotency_key. The description still adds meaning by tying hook_id to its provenance tools and its 404 failure mode, and by reinforcing the n default and the mode refusal. It stops short of adding new syntax beyond the schema, so a 4 rather than 5.

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 and resource: write up to n new opening lines that keep a real hook's structure with the subject swapped. It explicitly separates itself from remix_find by explaining that 'intro' mode belongs to a long-form find and is refused here. An agent can distinguish this from remix_find and get_hook 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?

Names the sources for hook_id (get_run, get_hook, list_keeps), states that mode should be left out, and routes the 'intro' case to remix_find. It also gives explicit when-not conditions via error codes (422 for intro, 404 for unknown hook). Nothing about selection is left to inference.

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