Описание
Ersatztv — Model Context Protocol server
README
A Model Context Protocol (MCP) server for ErsatzTV — a homelab service that creates live TV channels from Jellyfin media libraries.
Query channel listings, check what's playing now, search the EPG, and get stream URLs — all from Claude Code or any MCP-compatible client.
Tools
| Tool | Description | Parameters |
|---|---|---|
get_status |
Health check + version info | — |
get_channels |
List channels with group info (merges API + M3U) | group? |
get_now_playing |
What's currently playing with progress bars | channel_number? |
get_channel_schedule |
Upcoming schedule for a channel | channel_number, hours? (default 6) |
search_epg |
Search shows/movies by title or description | query, hours? (default 24) |
get_guide_data |
Structured JSON programme data | channel_number, hours? (default 12) |
get_ffmpeg_profiles |
View transcoding settings | — |
get_stream_urls |
Get stream, playlist, and guide URLs | channel_number? |
All tools are read-only. No authentication required.
Setup
Clone and build:
git clone https://github.com/Selina744/ersatztv-mcp-server.git cd ersatztv-mcp-server npm install npm run buildAdd to
~/.mcp.json:{ "mcpServers": { "ersatztv": { "command": "node", "args": ["/path/to/ersatztv-mcp-server/build/index.js"], "env": { "ERSATZTV_URL": "http://your-ersatztv-host:8409" } } } }Restart Claude Code. The 8 tools will be available.
Configuration
| Environment Variable | Required | Description |
|---|---|---|
ERSATZTV_URL |
Yes | Base URL of your ErsatzTV instance (e.g., http://192.168.0.161:8409) |
API Surface
This server queries the following ErsatzTV endpoints:
| Endpoint | Purpose |
|---|---|
GET /api/version |
Version info |
GET /api/channels |
Channel list (JSON) |
GET /api/ffmpeg/profiles |
Transcoding profiles (JSON) |
GET /iptv/channels.m3u |
M3U playlist with groups and logos |
GET /iptv/xmltv.xml |
XMLTV EPG with full schedule data |
Development
npm run build # Compile TypeScript
npm test # Run vitest tests (35 tests)
npm run watch # Watch mode
npm run inspector # Test with MCP Inspector
Project Structure
src/
index.ts Entry point (server setup + wiring)
config.ts Env var validation
api-client.ts Typed axios wrapper
types.ts All interfaces
errors.ts Centralized error handling
xmltv-parser.ts XMLTV parsing + time utilities
m3u-parser.ts M3U text parsing
tools/
index.ts Tool registry + dispatch
get-status.ts Each tool: definition + handler
get-channels.ts
get-now-playing.ts
get-channel-schedule.ts
search-epg.ts
get-guide-data.ts
get-ffmpeg-profiles.ts
get-stream-urls.ts
tests/
xmltv-parser.test.ts Parser unit tests
m3u-parser.test.ts Parser unit tests
tools/ Tool handler tests (mocked client)
fixtures/ Captured live data for tests
Dependencies
@modelcontextprotocol/sdk— MCP protocolaxios— HTTP clientfast-xml-parser— XMLTV parsingvitest— test framework (dev)
Установка Ersatztv
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Selina744/ersatztv-mcp-serverFAQ
Ersatztv MCP бесплатный?
Да, Ersatztv MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Ersatztv?
Нет, Ersatztv работает без API-ключей и переменных окружения.
Ersatztv — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Ersatztv в Claude Desktop, Claude Code или Cursor?
Открой Ersatztv на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
автор: duxiaohuiSupabase
Database, auth and storage
автор: SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Ersatztv with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
