jellyfin-api
Allows interaction with a Jellyfin media server via its API, supporting operations like managing media, users, and playback.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jellyfin-apilist all movies in my library"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server
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
Related MCP server: Jellyseerr MCP Server
Installation
Clone the repository:
git clone <repository-url> cd mcp-serverInstall 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.pip install -e ".[dev]"Alternatively, you can use
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 checkTo format the code:
ruff formatThese commands are also available via the scripts/lint.sh script.
Static Analysis
To run static analysis (mypy, bandit, semgrep):
./scripts/static-analysis.shThis script is also configured as a pre-commit hook in .pre-commit-config.yaml.
Running Tests
To run tests with coverage:
./scripts/test.shThis will run pytest and generate a coverage report. For a combined report and cleanup, you can use:
./scripts/test-cov.shPre-commit Hooks
This project uses pre-commit hooks defined in .pre-commit-config.yaml. To install the hooks:
pre-commit installThe 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 stdioThe 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 buildTo publish the project:
hatch publishThese commands are also available via the scripts/publish.sh script.
This server cannot be deployed
Maintenance
Related MCP Connectors
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
Manage ElevenLabs voice agents and generate speech, music, sound effects, images, and video.
- RendobarOAuthcom.rendobar
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP (Multi-Agent Conversation Protocol) Server that enables interaction with Jellyfin media server APIs, auto-generated using AG2's MCP builder based on the Jellyfin OpenAPI specification.1-
- FlicenseAqualityBmaintenanceEnables interaction with Jellyseerr media request systems through natural language. Supports searching for media, creating requests, checking request status, and managing your media library workflow.58-
- AlicenseAqualityBmaintenanceEnables AI agents to interact with a Jellyfin media server, allowing them to search the library, fetch item details, list active playback sessions, and retrieve next-up episodes.5MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage a Jellyfin media server, including library scanning, media search, playlist management, scheduled tasks, and server monitoring.-