Skip to main content
Glama
aria-mcp-tvguide-dk

aria-mcp-tvguide-dk

by kimhjort

aria-mcp-tvguide-dk

A Model Context Protocol (MCP) server that exposes the Danish TV guide (EPG) to AI assistants. Built for ARIA and shareable with the community.

Fully keyless — no API key required.

What it does

Lets your AI assistant answer questions like:

  • "Hvad går der i fjernsynet i aften?"

  • "Hvad sender DR1 kl. 20?"

  • "Hvornår sender TV 2 Klovn?"

  • "Hvor kan jeg se VM-kampen i aften?"

Related MCP server: MCP Remote Control

Data Source

EPG data is provided by Allente Denmark via their internal EPG API (https://cs-vcb.allente.dk/epg/events). The data is best-effort for personal/hobby use. Check Allente's Terms of Service before any redistribution or commercial use.

Covers all major Danish channels: DR1, DR2, DR Ramasjang, TV 2, TV 2 News, TV 2 Charlie, TV 2 Sport, TV3, TV3+, Kanal 4, Kanal 5, 6'eren, CANAL9, dk4, Eurosport, Discovery, National Geographic, BBC Nordic, and more.

Install & Run

npx aria-mcp-tvguide-dk

Or install globally:

npm install -g aria-mcp-tvguide-dk
aria-mcp-tvguide-dk

Requires Node.js 20 or later.

Tools

list_channels

List available channels with id and name. Supports an optional name filter.

Parameters:

Name

Type

Required

Description

filter

string

No

Case-insensitive substring to filter channel names (e.g. "dr", "tv 2", "sport")

Returns: { count, channels[{ id, name }] }


whats_on

Return the programme airing on a channel now (or at a specified time).

Parameters:

Name

Type

Required

Description

channel

string

Yes

Channel name (e.g. "DR1", "TV 2", "Kanal 5") or numeric id

when

string

No

ISO 8601 datetime or "HH:MM" (today Copenhagen). Omit for current time.

Returns: A single Programme object:

{
  "channelId": "452",
  "channelName": "DR1",
  "title": "Fodbold: VM",
  "start": "2026-06-12T21:00:00+02:00",
  "stop": "2026-06-12T22:05:00+02:00",
  "durationMinutes": 65,
  "description": "Der er store VM-drømme i Canada...",
  "categories": ["sport"],
  "live": false
}

tonight

Return prime-time (19:00–23:00 Copenhagen) TV listings for today, grouped by channel.

Parameters:

Name

Type

Required

Description

channels

string[]

No

Channel names or ids to include. Defaults to the default channel set.

Returns: { date, primetime, channels: { [channelName]: Programme[] } }


search_program

Find programmes by title across channels for a date.

Parameters:

Name

Type

Required

Description

title

string

Yes

Substring to search in programme titles (case-insensitive)

channels

string[]

No

Channels to search (defaults to default channel set)

date

string

No

YYYY-MM-DD date to search (defaults to today Copenhagen)

Returns: { query, date, matchCount, programmes: Programme[] }

Environment Variables

Variable

Description

DEFAULT_CHANNELS

Comma-separated channel names or ids for the default set used by tonight and search_program. Example: "DR1,TV 2,TV3,Kanal 5"

When unset, the default is: DR1, DR2, TV 2, TV 2 News, TV3, TV3+, Kanal 4, Kanal 5, TV 2 Charlie, 6'eren.

ARIA MCP Config

Add to your ARIA credentials / MCP config:

{
  "command": "npx",
  "args": ["-y", "aria-mcp-tvguide-dk"],
  "env": {}
}

With a custom default channel set:

{
  "command": "npx",
  "args": ["-y", "aria-mcp-tvguide-dk"],
  "env": {
    "DEFAULT_CHANNELS": "DR1,TV 2,TV3,Kanal 5"
  }
}

Development

git clone https://github.com/kimhjort/aria-mcp-tvguide-dk
cd aria-mcp-tvguide-dk
npm install
npm run build
npm test

Attribution & Terms

EPG data is sourced from Allente Denmark (allente.dk). This server is a personal/hobby project. The Allente EPG API is not a documented public API — use it in good faith and at your own risk. Check Allente's terms before any redistribution or commercial use.

License

MIT — see LICENSE.

Available Tools

4 tools
list_channelsA

List available Danish TV channels from the EPG with their id and canonical name. Supports an optional case-insensitive name filter. Use this to discover channel names before calling whats_on, tonight, or search_program.

Inputs: filter.

search_programA

Search for Danish TV programmes by title across one or more channels for a given date. The search is case-insensitive and matches any substring of the programme title. Use this to find 'Klovn', 'Nyhederne', a sports event, or any specific show.

Inputs: title (required), channels, date.

tonightA

Return prime-time (19:00–23:00 Copenhagen) TV listings for today for the default channel set (DR1, DR2, TV 2, TV 2 News, TV3, TV3+, Kanal 4, Kanal 5, TV 2 Charlie, 6'eren — or as configured by DEFAULT_CHANNELS env). Accepts an optional channel list to override the default. Use this when asked 'hvad går der i fjernsynet i aften?' or 'hvad er på programmet i aften?'.

Inputs: channels.

whats_onA

Return the programme currently airing on a Danish TV channel (or at a specified time). Includes title, start/stop times in Europe/Copenhagen, duration, description, and categories. Use this when asked 'hvad går der på DR1 nu?' or 'hvad sender TV 2 kl. 20:30?'. Channel can be a name (e.g. 'DR1', 'TV 2', 'Kanal 5') or a numeric id.

Inputs: channel (required), when.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: list_channels discovers channels, search_program searches by title, tonight returns prime-time listings, and whats_on gets current or scheduled program for a channel. No overlap.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (list_channels, search_program) but 'tonight' is a single word and 'whats_on' uses a contraction. Still readable and predictable.

    Tool Count5/5

    With 4 tools, the set covers essential TV guide operations without bloat. Each tool serves a necessary function, and the count feels well-scoped for the domain.

    Completeness4/5

    The set covers channel discovery, search, prime-time, and current viewing. A minor gap is the lack of a full daily schedule beyond prime-time, but common queries are addressed.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      A MCP server for The Movie Database API that enables AI assistants to search and retrieve movie, TV show, and person information.
      23
      13 npm
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A comprehensive MCP server with 36 tools for tracking TV shows and movies, managing watchlists, and syncing ratings with Trakt.tv. It enables users to search extensive databases, check into current viewings, and receive personalized recommendations through natural language commands.
      29 npm
      5
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      An MCP server that wraps The Movie Database (TMDB) API, enabling search for movies and TV shows, retrieval of movie details, recommendations, similar movies, trending content, streaming providers, and movie discovery.
      8
      -