媒体服务器控制工具

为Jellyfin媒体服务器提供搜索、浏览、流媒体URL生成和播放控制的MCP工具。

  • by eous
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 eous/mediamcp

使用说明

媒体

Jellyfin媒体服务器的MCP服务器。通过HTTP Streamable传输将搜索、浏览、流URL生成和播放控制作为MCP工具公开。

快速开始

pip install .

export MEDIAMCP_JELLYFIN_URL=http://jellyfin:8096
export MEDIAMCP_JELLYFIN_API_KEY=your-api-key

mediamcp
# or: python -m mediamcp

服务器启动于 http://0.0.0.0:8400/mcp 默认情况下。

配置

所有环境变量都以前缀 MEDIAMCP_:

变量 必填 默认 描述
MEDIAMCP_JELLYFIN_URL 是 Jellyfin服务器基本URL
MEDIAMCP_JELLYFIN_API_KEY 是 果冻API密钥
MEDIAMCP_JELLYFIN_USER_ID no 自动检测 用户范围查询的Jellyfin用户ID
MEDIAMCP_HOST 没有 0.0.0.0 收听地址
MEDIAMCP_PORT 没有 8400 监听端口
MEDIAMCP_AUTH_TOKEN 无需MCP客户端提供承载令牌

MCP工具

search_media

按标题搜索Jellyfin图书馆。按类型筛选:电影、系列、剧集、音乐。

get_media_details

获取特定项目的完整元数据:概述、流派、演员阵容、收视率、媒体来源。

get_stream_url

获取媒体项目的播放就绪URL。返回可以嵌入的直接流和HLS URL <video> 或 <audio> 元素。URL直接指向带有嵌入式API密钥的Jellyfin。

browse_library

列出库或通过排序和分页浏览库中的项目。

get_sessions

列出活动的Jellyfin播放会话,包括设备、播放状态和当前播放信息。

control_playback

控制活动会话上的播放:播放、暂停、停止、查找、下一个、上一个。

MCP客户端配置

[mcp.mediamcp]
transport = "streamable-http"
url = "http://mediamcp-host:8400/mcp"

发展

pip install -e ".[dev]"

# All tests (unit + in-process server tests with mocked Jellyfin)
pytest

# Linting and type checking
ruff check src/ tests/
mypy --strict src/mediamcp/