search_shows
Pack: tvmaze · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search_shows for the schema, then POST the same URL with its arguments for the data.
Search TV shows by name. Returns shows with id, name, premiere date, network, genres, rating, status, and TVMaze URL.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Show name (full or partial) |
Example call
Arguments
{
"query": "Breaking Bad"
}
curl
curl -X POST https://gateway.pipeworx.io/tvmaze/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_shows","arguments":{"query":"Breaking Bad"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search_shows', {
"query": "Breaking Bad"
});
More examples
{
"query": "The Office"
}
Response shape
Always returns: query, count, results
| Field | Type | Description |
|---|---|---|
query | string | Search query string |
count | number | Number of results returned |
results | array | Array of matching shows |
Full JSON Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query string"
},
"count": {
"type": "number",
"description": "Number of results returned"
},
"results": {
"type": "array",
"description": "Array of matching shows",
"items": {
"type": "object",
"properties": {
"score": {
"type": [
"number",
"null"
],
"description": "Match score from search"
},
"id": {
"type": [
"number",
"null"
],
"description": "TVMaze show ID"
},
"name": {
"type": [
"string",
"null"
],
"description": "Show name"
},
"type": {
"type": [
"string",
"null"
],
"description": "Show type (e.g., Scripted, Reality)"
},
"language": {
"type": [
"string",
"null"
],
"description": "Primary language"
},
"genres": {
"type": "array",
"description": "Genre tags",
"items": {
"type": "string"
}
},
"status": {
"type": [
"string",
"null"
],
"description": "Show status (Running, Ended)"
},
"runtime_min": {
"type": [
"number",
"null"
],
"description": "Episode runtime in minutes"
},
"premiered": {
"type": [
"string",
"null"
],
"description": "Premiere date (YYYY-MM-DD)"
},
"ended": {
"type": [
"string",
"null"
],
"description": "End date (YYYY-MM-DD) or null"
},
"official_site": {
"type": [
"string",
"null"
],
"description": "Official website URL"
},
"rating": {
"type": [
"number",
"null"
],
"description": "Average rating (0-10)"
},
"network": {
"type": [
"string",
"null"
],
"description": "Network or web channel name"
},
"network_country": {
"type": [
"string",
"null"
],
"description": "2-letter country code"
},
"imdb_id": {
"type": [
"string",
"null"
],
"description": "IMDb ID"
},
"tvdb_id": {
"type": [
"number",
"null"
],
"description": "TheTVDB ID"
},
"image": {
"type": [
"string",
"null"
],
"description": "Show poster image URL"
},
"summary": {
"type": [
"string",
"null"
],
"description": "HTML-stripped show summary"
},
"tvmaze_url": {
"type": [
"string",
"null"
],
"description": "TVMaze show page URL"
}
}
}
}
},
"required": [
"query",
"count",
"results"
]
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the tvmaze pack
{
"mcpServers": {
"tvmaze": {
"url": "https://gateway.pipeworx.io/tvmaze/mcp"
}
}
}
See Getting Started for client-specific install steps.