Skip to main content
Glama

Score a video

score_video

Use when you need whether one video is an outlier for its creator: outlier multiple (views over the creator's median), velocity (views per hour since posting) and percentile. Not for the video's metadata or analysis: use get_video. Not for the creator's baseline: use get_creator. Price: 9 credits. By URL or platform + id. Fetches the creator's recent videos when no baseline exists yet.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "score_video"
  }
}

Input Schema

NameRequiredDescriptionDefault
idNoThe platform's own video id
urlNoTikTok, Instagram, YouTube or Facebook video URL. Pass this or platform + id
estimateNoQuote the price in Credits: no Run, no charge
platformNo
max_creditsNo
idempotency_keyNoReuse on a retry: replays the original Run, not charged again

Output Schema

NameRequiredDescriptionDefault
runNo
cachedNo
resultNoScoring forces the creator fetch, so both come back.
poll_urlNo
estimate_creditsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / estimate / description
      Previous value: -"Return the price, in Credits, without running the operation or creating a Run"New value: +"Quote the price in Credits: no Run, no charge"
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Reuse the same key when retrying: a repeat returns the original Run and is not charged again"New value: +"Reuse on a retry: replays the original Run, not charged again"
    • changedOutput schema / properties / run / additionalProperties
      Previous value: -trueNew value: +{}
    • removedOutput schema / properties / run / properties
      Removed value: -{}
  2. Changed1 schema field changed
    • addedInput schema / properties / max_credits
      Added value: +{
      +  "minimum": 0,
      +  "type": "integer"
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / poll_url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "cached": {
      +      "type": "boolean"
      +    },
      +    "estimate_credits": {
      +      "type": "integer"
      +    },
      +    "result": {
      +      "$ref": "#/properties/run",
      +      "description": "Scoring forces the creator fetch, so both come back."
      +    },
      +    "run": {
      +      "additionalProperties": true,
      +      "properties": {},
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true) the description discloses pricing (9 credits), the estimate/"no Run, no charge" behavior, and that an idempotency key replays the original Run without recharging. It also warns that the tool fetches the creator's recent videos when no baseline exists, an unannotated side effect and latency cost. Only minor gaps remain, such as the credit cap behavior.

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?

Three short sentences: purpose and outputs first, then the sibling exclusions, then cost. No filler. The cost/idempotency sentence is slightly compressed ("Price: 9 credits" telegraphic), but nothing wasteful.

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?

An output schema exists, so return-value explanation is unnecessary, and the description covers purpose, alternatives, and billing. For a paid, open-world fetch tool that can trigger extra baseline collection, the only real omission is guidance on max_credits and credit-cap failure behavior.

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 67%, so the baseline is 3. "By URL or platform + id" usefully reinforces the either/or input mode even though the schema marks nothing required, and the cost/estimate sentence maps to the estimate flag. However, max_credits, the parameter that governs spend on a 9-credit call, is never explained in the description.

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?

"Score a video" is made concrete by naming the three outputs: outlier multiple (views over the creator's median), velocity (views per hour since posting) and percentile. It also explicitly separates itself from the two nearest siblings, get_video and get_creator, so an agent can choose without opening schemas.

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?

The description gives an explicit when-to-use condition (whether one video is an outlier for its creator) and two explicit when-not-to-use routes: metadata/analysis goes to get_video, creator baseline goes to get_creator. Usage is fully routed.

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