get_watch_providers
Find streaming services for movies and TV shows in specific regions. Input media type and region code to get available providers.
Instructions
Retrieves watch providers (streaming services) for movies or TV in a specific region. Input: type (required: movie|tv), language (optional ISO 639-1, default en), watch_region (required ISO 3166-1 code). Output: JSON with provider list. Purpose: Discover streaming availability for content recommendations by AI agents.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | ISO 639-1 language (e.g., en) | |
| type | Yes | Media type for providers endpoint | |
| watch_region | Yes | ISO 3166-1 region code (e.g., IT) |
Implementation Reference
- mcp-tmdb-server.js:402-405 (handler)The core handler function that implements the tool logic: fetches watch providers data from TMDB API using tmdbFetch with the specified type (movie/tv), language, and region, then returns it as a JSON-formatted text content block.handler: async ({type = "tv", language = "en", watch_region}) => { const data = await tmdbFetch(`/watch/providers/${type}`, {language, watch_region}); return {content: [{type: "text", text: JSON.stringify(data, null, 2)}]}; }
- mcp-tmdb-server.js:392-401 (schema)Input schema for validating tool parameters: requires 'type' ("movie" or "tv") and 'watch_region' (ISO 3166-1 code), optional 'language' (ISO 639-1).inputSchema: { type: "object", properties: { type: {type: "string", enum: ["movie", "tv"], description: "Media type for providers endpoint"}, language: {type: "string", description: "ISO 639-1 language (e.g., en)"}, watch_region: {type: "string", description: "ISO 3166-1 region code (e.g., IT)"} }, required: ["watch_region", "type"], additionalProperties: false },
- mcp-tmdb-server.js:389-406 (registration)Full tool definition object registered in the 'tools' array, which is used by MCP server handlers for listing (ListToolsRequestSchema) and calling (CallToolRequestSchema) the tool.{ name: "get_watch_providers", description: "Retrieves watch providers (streaming services) for movies or TV in a specific region. Input: type (required: movie|tv), language (optional ISO 639-1, default en), watch_region (required ISO 3166-1 code). Output: JSON with provider list. Purpose: Discover streaming availability for content recommendations by AI agents.", inputSchema: { type: "object", properties: { type: {type: "string", enum: ["movie", "tv"], description: "Media type for providers endpoint"}, language: {type: "string", description: "ISO 639-1 language (e.g., en)"}, watch_region: {type: "string", description: "ISO 3166-1 region code (e.g., IT)"} }, required: ["watch_region", "type"], additionalProperties: false }, handler: async ({type = "tv", language = "en", watch_region}) => { const data = await tmdbFetch(`/watch/providers/${type}`, {language, watch_region}); return {content: [{type: "text", text: JSON.stringify(data, null, 2)}]}; } },