Skip to main content
Glama
XMLTV MCP Server

XMLTV MCP Server

by icyrainz

XMLTV MCP Server

MCP server for accessing Tunarr XMLTV feed data. Provides tools to query TV channels, programmes, schedules, and search content.

Features

  • get_channels - List all available TV channels

  • get_now_playing - See what's currently playing on all channels

  • get_schedule - Get upcoming schedule for a specific channel

  • search_programmes - Search for programmes by title or description

  • get_programme_details - Get detailed information about a specific programme

Related MCP server: MCP *arr Server

Installation

npm install
npm run build

Configuration

Set the XMLTV URL via environment variable (defaults to http://tunarr.lan/api/xmltv.xml):

export XMLTV_URL="http://your-tunarr-instance/api/xmltv.xml"

Usage with Claude Desktop

Add to your Claude Desktop configuration file:

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%/Claude/claude_desktop_config.json

Configuration:

{
  "mcpServers": {
    "xmltv": {
      "command": "node",
      "args": ["/absolute/path/to/xmltv-mcp/dist/index.js"],
      "env": {
        "XMLTV_URL": "http://tunarr.lan/api/xmltv.xml"
      }
    }
  }
}

After updating the configuration, restart Claude Desktop.

Tools

get_channels

Lists all available channels.

Example:

What channels are available?

Response:

[
  {
    "id": "C1.49.tunarr.com",
    "name": "Animation (Simpsons, South Park, Futurama, Rick & Morty, Courage)"
  },
  {
    "id": "C2.50.tunarr.com",
    "name": "Sitcom (Big Bang Theory, Friends, How I Met Your Mother)"
  }
]

get_now_playing

Shows what's currently playing on all channels.

Example:

What's on TV right now?

Response:

[
  {
    "channel": {
      "id": "C1.49.tunarr.com",
      "name": "Animation"
    },
    "programme": {
      "title": "The Simpsons",
      "subtitle": "Homer's Odyssey",
      "start": "20251221180000 +0000",
      "stop": "20251221183000 +0000"
    }
  }
]

get_schedule

Get upcoming programmes for a specific channel.

Parameters:

  • channel_id (required) - Channel ID (e.g., "C1.49.tunarr.com")

  • hours_ahead (optional) - Hours to look ahead (default: 24)

Example:

Show me the schedule for the Animation channel for the next 12 hours

search_programmes

Search for programmes by title, subtitle, or description.

Parameters:

  • query (required) - Search term

Example:

Search for Simpsons episodes

Response:

[
  {
    "channel": {
      "id": "C1.49.tunarr.com",
      "name": "Animation"
    },
    "title": "The Simpsons",
    "subtitle": "Bart the Genius",
    "start": "20251221190000 +0000",
    "stop": "20251221193000 +0000"
  }
]

get_programme_details

Get detailed information about a specific programme.

Parameters:

  • channel_id (required) - Channel ID

  • start_time (required) - Programme start time in XMLTV format (YYYYMMDDHHMMSS +0000)

Example:

Get details for the programme on C1.49.tunarr.com at 20251221180000 +0000

Development

# Build
npm run build

# Watch mode
npm run dev

Data Caching

The server caches XMLTV data for 5 minutes to reduce load on your Tunarr instance. The cache automatically refreshes when expired.

Channel Information

Based on your Tunarr setup, the following channels are available:

  1. C1.49.tunarr.com - Animation (Simpsons, South Park, Futurama, Rick & Morty, Courage)

  2. C2.50.tunarr.com - Sitcom (Big Bang Theory, Friends, How I Met Your Mother)

  3. C3.51.tunarr.com - Space (SEA, Anton Petrov, Cool Worlds, Astrum - YouTube science)

  4. C4.52.tunarr.com - Classic Sci-Fi (Twilight Zone, X-Files)

License

MIT

Available Tools

5 tools
get_channelsB

Get list of all available TV channels

Inputs: no named parameters.

get_now_playingB

Get currently playing programmes on all channels

Inputs: no named parameters.

get_programme_detailsC

Get detailed information about a specific programme

Inputs: channel_id (required), start_time (required).

get_scheduleC

Get upcoming schedule for a specific channel

Inputs: channel_id (required), hours_ahead.

search_programmesC

Search programmes by title, subtitle, or description

Inputs: query (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting different aspects of the XMLTV domain: channel listing, current programs, program details, channel schedules, and program search. There is no overlap in functionality, making tool selection straightforward for an agent.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern (get_channels, get_now_playing, get_programme_details, get_schedule, search_programmes) with clear, descriptive names. The pattern is uniform throughout the set, enhancing readability and predictability.

    Tool Count5/5

    With 5 tools, this server is well-scoped for its XMLTV purpose, covering key operations without bloat. Each tool serves a distinct and necessary function, making the count appropriate for the domain's typical use cases.

    Completeness4/5

    The tool set provides strong coverage for querying and browsing TV data, including channels, schedules, programs, and search. A minor gap exists in update or management operations (e.g., modifying channels or programs), but this is reasonable for a read-only server focused on data retrieval.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers