_ registry / mcp http-sse · checked 11m ago

tvmaze-mcp-server

https://tvmaze.caseyjhand.com

Registry code: 9910807303e85d26

api record

Television data from TVmaze (https://www.tvmaze.com), a community-maintained

database of series, episodes, schedules, and credits.

endpoint
https://tvmaze.caseyjhand.com/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is tvmaze-mcp-server live?
Yes — it answered the hub's last check (checked 11m ago). It answered 100% of checks over the last 30 days.
Is tvmaze-mcp-server free to use?
Yes — the hub reached it with no key and no payment.
What tools does tvmaze-mcp-server have?
7 tools: tvmaze_get_episodes, tvmaze_get_next_episode, tvmaze_get_show, tvmaze_lookup_show, tvmaze_search_shows, tvmaze_get_cast, tvmaze_get_schedule.
Is tvmaze-mcp-server safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.6%

90 days 99.5%· all time 99.5%

latency
575ms

last good check

priced tools
0

of 7 tools

_ answered our checks, 90 days 650 checks · signed record
  • degraded → live
  • live → degraded· HTTP 530
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • search tv shows
  • list a show's episodes
  • find when the next episode airs
  • get the tv schedule for a date
  • get a show's cast
takes → gives
text → data
tools
7 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 7 tools
1 open 6 never probed 1 of 7 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • tvmaze_get_schedule reads open 11m ago

    List television episodes airing on a given date. Scope "linear" covers broadcast and cable networks in one country; "streaming" covers streaming services — global services such as Netflix and Prime Video when no country is given, or that country’s local streaming services when one is. Scope "all" merges both. The source caches schedule data for up to an hour, so a same-day listing can lag a late change.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Date to list, ISO 8601 (YYYY-MM-DD). Defaults to today in the requested timezone."
        },
        "limit": {
          "type": "integer",
          "default": 50,
          "maximum": 250,
          "minimum": 1,
          "description": "Maximum entries to return in this call. Applies to every page, including a call that passes cursor. A full day in one country runs to roughly 50 broadcast entries and over 120 global streaming entries."
        },
        "scope": {
          "enum": [
            "linear",
            "streaming",
            "all"
          ],
          "type": "string",
          "default": "linear",
          "description": "Which feed to read. \"linear\" is broadcast and cable networks; \"streaming\" is streaming services; \"all\" merges both and costs three upstream requests."
        },
        "cursor": {
          "type": "string",
          "description": "Continuation token from a previous call’s next_cursor. It carries only the position to resume from; the page size comes from limit. Omit for the first page."
        },
        "country": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$",
          "description": "ISO 3166-1 alpha-2 country code, e.g. \"US\", \"GB\", \"JP\". The United Kingdom is \"GB\". Required in effect for scopes \"linear\" and \"all\" — omitted, it falls back to the server-configured country. For scope \"streaming\", omitting it selects global streaming services rather than one country’s local ones."
        },
        "timezone": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_+-]+(\\/[A-Za-z0-9_+-]+){0,2}$",
          "description": "IANA timezone name for the air times, e.g. \"America/Los_Angeles\". Defaults to the server-configured timezone. Also decides what \"today\" means when date is omitted."
        }
      },
      "additionalProperties": false
    }
    arguments 43 lines
  • tvmaze_get_episodes reads unknown 11m ago

    List a show’s episodes with air times, runtimes, and synopses. Pass a season number to list one season, which is the cheaper path and the usual one; pass air_date to list the episodes dated to one day, the direct path to a single night of a daily show; omit both to walk the whole run, which is paged because a long-running series returns hundreds of episodes. Specials are excluded unless include_specials is set, and the number left out is reported.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "show_id"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 50,
          "maximum": 250,
          "minimum": 1,
          "description": "Maximum episodes to return in this call. Applies to every page, including a call that passes cursor. Raise it for a short series; the default keeps a long run inside a reasonable response size."
        },
        "cursor": {
          "type": "string",
          "description": "Continuation token from a previous call’s next_cursor. It carries only the position to resume from; the page size comes from limit. Omit for the first page."
        },
        "season": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Season number to list, as numbered in the season list from tvmaze_get_show. Omit, together with air_date, to list every episode of the series. Daily shows number seasons by calendar year.",
          "exclusiveMinimum": 0
        },
        "show_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "TVmaze show id, from tvmaze_search_shows, tvmaze_lookup_show, or tvmaze_get_schedule.",
          "exclusiveMinimum": 0
        },
        "air_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Date to list, ISO 8601 (YYYY-MM-DD): the episodes the source dates to that day. It matches the source’s airdate, the broadcaster’s own programming day, so on a late-night slot it can differ by a day from the local_date an episode reports. Cannot be combined with season."
        },
        "timezone": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_+-]+(\\/[A-Za-z0-9_+-]+){0,2}$",
          "description": "IANA timezone name for the air times, e.g. \"America/Los_Angeles\". Defaults to the server-configured timezone."
        },
        "include_specials": {
          "type": "boolean",
          "default": false,
          "description": "Include specials alongside regular episodes. Off by default because specials roughly double the result count on a series that has many; when off, notice reports how many were left out."
        }
      },
      "additionalProperties": false
    }
    arguments 48 lines
  • tvmaze_get_next_episode reads unknown 16h ago

    Report when a show’s next episode airs, converted to a viewer timezone. Accepts a TVmaze id or a show title — a title is resolved with a stricter single-match search than tvmaze_search_shows uses. A show with no scheduled next episode is reported as a miss carrying its most recent episode, which is the normal state for a series between seasons.

    mcp-tool

    {
      "type": "object",
      "oneOf": [
        {
          "type": "object",
          "required": [
            "by",
            "show_id"
          ],
          "properties": {
            "by": {
              "type": "string",
              "const": "id",
              "description": "Identify the show by its TVmaze id."
            },
            "show_id": {
              "type": "integer",
              "maximum": 9007199254740991,
              "description": "TVmaze show id, from tvmaze_search_shows, tvmaze_lookup_show, or tvmaze_get_schedule.",
              "exclusiveMinimum": 0
            },
            "timezone": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_+-]+(\\/[A-Za-z0-9_+-]+){0,2}$",
              "description": "IANA timezone name for the air time, e.g. \"America/Los_Angeles\". Defaults to the server-configured timezone."
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "by",
            "title"
          ],
          "properties": {
            "by": {
              "type": "string",
              "const": "title",
              "description": "Identify the show by title. Resolved to a single best match."
            },
            "title": {
              "type": "string",
              "minLength": 1,
              "description": "Show title. Matched to one best result; when several shows share a title, resolve the id with tvmaze_search_shows first and call again with by \"id\"."
            },
            "timezone": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_+-]+(\\/[A-Za-z0-9_+-]+){0,2}$",
              "description": "IANA timezone name for the air time, e.g. \"America/Los_Angeles\". Defaults to the server-configured timezone."
            }
          },
          "additionalProperties": false
        }
      ],
      "$schema": "https://json-schema.org/draft/2020-12/schema"
    }
    arguments 57 lines
  • tvmaze_get_show reads unknown 11m ago

    Fetch a television show by its TVmaze id: full profile, weekly broadcast slot, season list, and the previous and next episode when the source has them. This is the entry point for an id returned by tvmaze_search_shows or tvmaze_lookup_show. For the episode list itself use tvmaze_get_episodes, and for credits use tvmaze_get_cast.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "show_id"
      ],
      "properties": {
        "show_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "TVmaze show id, from tvmaze_search_shows, tvmaze_lookup_show, or tvmaze_get_schedule.",
          "exclusiveMinimum": 0
        },
        "timezone": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_+-]+(\\/[A-Za-z0-9_+-]+){0,2}$",
          "description": "IANA timezone name for rendering the previous and next episode air times, e.g. \"America/Los_Angeles\" or \"Europe/London\". Defaults to the server-configured timezone."
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
  • tvmaze_lookup_show reads unknown 16h ago

    Resolve a television show from its id in another catalog — IMDb, TheTVDB, or TVRage — and return the matching TVmaze profile. Use this to cross a show id from another source into TVmaze. A show absent from TVmaze is reported as a miss with guidance, not an error.

    mcp-tool

    {
      "type": "object",
      "oneOf": [
        {
          "type": "object",
          "required": [
            "source",
            "external_id"
          ],
          "properties": {
            "source": {
              "type": "string",
              "const": "imdb",
              "description": "Look up by IMDb title id."
            },
            "external_id": {
              "type": "string",
              "pattern": "^tt\\d{7,}$",
              "description": "IMDb title id including the \"tt\" prefix, e.g. \"tt0903747\"."
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "source",
            "external_id"
          ],
          "properties": {
            "source": {
              "type": "string",
              "const": "thetvdb",
              "description": "Look up by TheTVDB series id."
            },
            "external_id": {
              "type": "string",
              "pattern": "^\\d+$",
              "description": "TheTVDB series id as digits, e.g. \"81189\"."
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "source",
            "external_id"
          ],
          "properties": {
            "source": {
              "type": "string",
              "const": "tvrage",
              "description": "Look up by TVRage show id. TVRage is defunct; these ids appear only in older records."
            },
            "external_id": {
              "type": "string",
              "pattern": "^\\d+$",
              "description": "TVRage show id as digits."
            }
          },
          "additionalProperties": false
        }
      ],
      "$schema": "https://json-schema.org/draft/2020-12/schema"
    }
    arguments 66 lines
  • tvmaze_search_shows reads unknown 8h ago

    Search television shows by title and return up to 10 matches, each with its network or streaming service, production status, genres, rating, and ids in other catalogs. Matching is fuzzy, so small typos still resolve. The result set is hard-capped at 10 by the source and cannot be paged — narrow the title to reach an eleventh match. To go the other way, from an IMDb or TheTVDB id to a show, use tvmaze_lookup_show.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "minLength": 1,
          "description": "Show title or title fragment. Matched fuzzily against every show title in the database, so minor misspellings still resolve."
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • tvmaze_get_cast reads unknown 16h ago

    List the credited cast of a show with the characters they play, optionally with crew; or list the guest cast of one episode, optionally with its guest crew such as the director and writers. Results are paged: cast rows come first, then crew rows, and each page splits them back into cast and crew. The source records no recurring-versus-guest distinction on a show’s cast list, so a name’s absence from it does not mean the performer never appeared — check an episode’s guest cast for that.

    mcp-tool

    {
      "type": "object",
      "oneOf": [
        {
          "type": "object",
          "required": [
            "scope",
            "show_id"
          ],
          "properties": {
            "limit": {
              "type": "integer",
              "default": 50,
              "maximum": 250,
              "minimum": 1,
              "description": "Maximum credits to return in this call, cast and crew together. Applies to every page, including a call that passes cursor. A long-running series carries over a thousand cast credits."
            },
            "scope": {
              "type": "string",
              "const": "show",
              "description": "List the show’s main cast."
            },
            "cursor": {
              "type": "string",
              "description": "Continuation token from a previous call’s next_cursor. It carries only the position to resume from; the page size comes from limit. Omit for the first page."
            },
            "show_id": {
              "type": "integer",
              "maximum": 9007199254740991,
              "description": "TVmaze show id, from tvmaze_search_shows, tvmaze_lookup_show, or tvmaze_get_schedule.",
              "exclusiveMinimum": 0
            },
            "include_crew": {
              "type": "boolean",
              "default": false,
              "description": "Also list the show’s crew credits — producers, creators, and other series-level roles, with no episode attribution. Off by default; a long-running series carries hundreds and they are rarely what a cast question is asking for."
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "scope",
            "episode_id"
          ],
          "properties": {
            "limit": {
              "type": "integer",
              "default": 50,
              "maximum": 250,
              "minimum": 1,
              "description": "Maximum credits to return in this call, cast and crew together. Applies to every page, including a call that passes cursor. A long-running series carries over a thousand cast credits."
            },
            "scope": {
              "type": "string",
              "const": "episode",
              "description": "List one episode’s guest cast."
            },
            "cursor": {
              "type": "string",
              "description": "Continuation token from a previous call’s next_cursor. It carries only the position to resume from; the page size comes from limit. Omit for the first page."
            },
            "episode_id": {
              "type": "integer",
              "maximum": 9007199254740991,
              "description": "TVmaze episode id, from tvmaze_get_episodes, tvmaze_get_next_episode, tvmaze_get_schedule, or tvmaze_get_show.",
              "exclusiveMinimum": 0
            },
            "include_crew": {
              "type": "boolean",
              "default": false,
              "description": "Also list the episode’s guest crew — who directed and wrote it, as TVmaze credits them. Off by default."
            }
          },
          "additionalProperties": false
        }
      ],
      "$schema": "https://json-schema.org/draft/2020-12/schema"
    }
    arguments 80 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 9910807303e85d26.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/9910807303e85d26/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/9910807303e85d26/badge.svg)](https://brick.blue/agent/9910807303e85d26?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on caseyjhand.com 109 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

101 more sit on this domain. All of them.