Jellyfin Api
FreeNot checkedProvides interaction with Jellyfin media server via the Jellyfin REST API, enabling content management and server configuration through natural language.
About
Provides interaction with Jellyfin media server via the Jellyfin REST API, enabling content management and server configuration through natural language.
README
This project is an MCP (Model Context Protocol) Server for the given OpenAPI URL - https://api.apis.guru/v2/specs/jellyfin.local/v1/openapi.json, auto-generated using AG2's MCP builder.
Prerequisites
- Python 3.9+
- pip and uv
Installation
- Clone the repository:
git clone <repository-url> cd mcp-server - Install dependencies:
The .devcontainer/setup.sh script handles installing dependencies using
pip install -e ".[dev]". If you are not using the dev container, you can run this command manually.
Alternatively, you can usepip install -e ".[dev]"uv:uv pip install --editable ".[dev]"
Development
This project uses ruff for linting and formatting, mypy for static type checking, and pytest for testing.
Linting and Formatting
To check for linting issues:
ruff check
To format the code:
ruff format
These commands are also available via the scripts/lint.sh script.
Static Analysis
To run static analysis (mypy, bandit, semgrep):
./scripts/static-analysis.sh
This script is also configured as a pre-commit hook in .pre-commit-config.yaml.
Running Tests
To run tests with coverage:
./scripts/test.sh
This will run pytest and generate a coverage report. For a combined report and cleanup, you can use:
./scripts/test-cov.sh
Pre-commit Hooks
This project uses pre-commit hooks defined in .pre-commit-config.yaml. To install the hooks:
pre-commit install
The hooks will run automatically before each commit.
Running the Server
The MCP server can be started using the mcp_server/main.py script. It supports different transport modes (e.g., stdio, sse, streamable-http).
To start the server (e.g., in stdio mode):
python mcp_server/main.py stdio
The server can be configured using environment variables:
CONFIG_PATH: Path to a JSON configuration file (e.g., mcp_server/mcp_config.json).CONFIG: A JSON string containing the configuration.SECURITY: Environment variables for security parameters (e.g., API keys).
Refer to the if __name__ == "__main__": block in mcp_server/main.py for details on how these are loaded.
The tests/test_mcp_server.py file demonstrates how to start and interact with the server programmatically for testing.
Building and Publishing
This project uses Hatch for building and publishing. To build the project:
hatch build
To publish the project:
hatch publish
These commands are also available via the scripts/publish.sh script.
Install Jellyfin Api in Claude Desktop, Claude Code & Cursor
unyly install jellyfin-apiInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add jellyfin-api -- uvx mcp_serverFAQ
Is Jellyfin Api MCP free?
Yes, Jellyfin Api MCP is free — one-click install via Unyly at no cost.
Does Jellyfin Api need an API key?
No, Jellyfin Api runs without API keys or environment variables.
Is Jellyfin Api hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Jellyfin Api in Claude Desktop, Claude Code or Cursor?
Open Jellyfin Api on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Omni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaARA
Generate images, video and audio from any AI agent — one connector.
by ARAYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolCompare Jellyfin Api with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
