Skip to main content
Glama

Film

film
Read-onlyIdempotent

Single film by id.

Input Schema

NameRequiredDescriptionDefault
idYes

Output Schema

NameRequiredDescriptionDefault
idNoFilm unique identifier
urlNoAPI URL for this film
titleNoFilm title
peopleNoArray of people IDs
speciesNoArray of species IDs
directorNoFilm director name
producerNoFilm producer name
rt_scoreNoRotten Tomatoes score
vehiclesNoArray of vehicle IDs
locationsNoArray of location IDs
descriptionNoFilm description
release_dateNoRelease date
running_timeNoRunning time in minutes
original_titleNoOriginal Japanese title
original_title_romanisedNoRomanized original title

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "id": "2baf70d1-42bb-4437-b413-cebf4994c1d6"
      -  }
      -]New value: +[
      +  {
      +    "id": "2baf70d1-42bb-4437-b551-e5fed5a87abe"
      +  }
      +]
  2. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "id": "2baf70d1-42bb-4437-b413-cebf4994c1d6"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "description": {
      +      "description": "Film description",
      +      "type": "string"
      +    },
      +    "director": {
      +      "description": "Film director name",
      +      "type": "string"
      +    },
      +    "id": {
      +      "description": "Film unique identifier",
      +      "type": "string"
      +    },
      +    "locations": {
      +      "description": "Array of location IDs",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "original_title": {
      +      "description": "Original Japanese title",
      +      "type": "string"
      +    },
      +    "original_title_romanised": {
      +      "description": "Romanized original title",
      +      "type": "string"
      +    },
      +    "people": {
      +      "description": "Array of people IDs",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "producer": {
      +      "description": "Film producer name",
      +      "type": "string"
      +    },
      +    "release_date": {
      +      "description": "Release date",
      +      "type": "string"
      +    },
      +    "rt_score": {
      +      "description": "Rotten Tomatoes score",
      +      "type": "string"
      +    },
      +    "running_time": {
      +      "description": "Running time in minutes",
      +      "type": "string"
      +    },
      +    "species": {
      +      "description": "Array of species IDs",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "title": {
      +      "description": "Film title",
      +      "type": "string"
      +    },
      +    "url": {
      +      "description": "API URL for this film",
      +      "type": "string"
      +    },
      +    "vehicles": {
      +      "description": "Array of vehicle IDs",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds only the cardinality notion of 'single film', which is mildly useful but does not convey much beyond the annotations and schema.

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?

The description is a four-word, front-loaded fragment with no fluff. Every word earns its place, and the essential lookup concept is communicated immediately.

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?

For a simple fetch-by-id tool with one required parameter, an output schema, and safety annotations, the description is nearly sufficient. It does not mention error or not-found behavior, but the output schema and idempotent/read-only annotations cover most of what an agent needs to invoke it correctly.

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?

The schema has a single required 'id' string parameter with an example but no description. The description's 'by id' clarifies that the id is the lookup key, yet it adds little beyond the parameter name itself and the example in the schema.

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?

The description identifies the resource (film) and the lookup mechanism (by id), clearly indicating a single-item fetch rather than a list operation. It distinguishes itself from the sibling 'films' tool through the singular 'single film' and the keyed lookup, though it does not name that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by id' implies the appropriate use case: the agent should call this tool when it has a specific film id and needs that single film. However, there is no explicit statement of when to use an alternative tool such as 'films' for listing or searching films.

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.