Skip to main content

MCP server for Tautulli — Plex monitoring via Claude Code

Project description

mcp-tautulli

A single-file MCP server for Tautulli — Plex monitoring via Claude Code (or any MCP client).

15 read-only tools. No mutations. All configuration via environment variables.

Prerequisites

  • Python 3.10+
  • A running Tautulli instance with an API key
  • Claude Code (or any MCP-compatible client)

Installation

pip install mcp-tautulli

Or from source:

git clone https://github.com/lodordev/mcp-tautulli.git
cd mcp-tautulli
pip install .

Configuration

Three environment variables:

Variable Required Default Description
TAUTULLI_URL Yes Tautulli base URL (e.g. http://localhost:8181)
TAUTULLI_API_KEY Yes Tautulli API key (Settings → Web Interface → API Key)
TAUTULLI_TLS_VERIFY No true Set to false if using self-signed certs (e.g. Tailscale serve)

Claude Code Setup

Add to your project's .mcp.json:

{
  "mcpServers": {
    "tautulli": {
      "command": "python",
      "args": ["/path/to/tautulli.py"],
      "env": {
        "TAUTULLI_URL": "http://your-tautulli-host:8181",
        "TAUTULLI_API_KEY": "your-api-key-here"
      }
    }
  }
}

Or run standalone:

export TAUTULLI_URL="http://localhost:8181"
export TAUTULLI_API_KEY="your-api-key"
python tautulli.py

Tools

Tool Description
tautulli_activity Current Plex streaming activity — who's watching what, progress, quality
tautulli_history Recent playback history with filters (user, media type, search, date)
tautulli_recently_added Recently added content — what's new in your Plex libraries
tautulli_search Search Plex content by title across all libraries
tautulli_user_stats Per-user watch statistics — plays, watch time, last seen
tautulli_library_stats Library item counts, total plays, last played per library
tautulli_most_watched Top content by plays or duration (TV, movies, music, users)
tautulli_server_info Plex server identity — name, version, platform, connection
tautulli_status Server config and reachability check
tautulli_transcode_stats Direct play vs transcode breakdown by platform
tautulli_platform_stats Top platforms/devices by plays and watch time
tautulli_stream_resolution Source vs delivered resolution analysis
tautulli_plays_by_date Daily play counts over time by stream type
tautulli_plays_by_day_of_week Weekly viewing patterns — which days see the most activity
tautulli_plays_by_hour Hourly viewing distribution — when people watch

All tools are read-only — this server does not modify any Tautulli or Plex state.

Example Output

tautulli_activity

2 active stream(s):

  • Alice playing "The Bear S02E06 — Fishes" — 45%, on Apple TV (direct play)
  • Bob playing "Oppenheimer (2023)" — 12%, on Roku (transcode)

Bandwidth: 18.5 Mbps total (LAN: 12.2, WAN: 6.3)

tautulli_plays_by_day_of_week

Plays by day of week (last 30 days):

  Monday   :  91 ██████████████████████████████  (TV:62, Movies:18, Music:11)  ← peak
  Tuesday  :  76 █████████████████████████  (TV:56, Movies:15, Music:5)
  Wednesday:  62 ████████████████████  (TV:34, Movies:20, Music:8)
  Thursday :  45 ██████████████  (TV:32, Movies:8, Music:5)
  Friday   :  59 ███████████████████  (TV:37, Movies:14, Music:8)
  Saturday :  50 ████████████████  (TV:32, Movies:10, Music:8)
  Sunday   :  86 ████████████████████████████  (TV:60, Movies:16, Music:10)

Total: 469 plays, avg 67.0/day

tautulli_search

Search results for "breaking":

Movies:
  • Breaking (2012) — Movies

TV Shows:
  • Breaking Bad (2008) — TV Shows

Troubleshooting

"TAUTULLI_URL environment variable not set" Both TAUTULLI_URL and TAUTULLI_API_KEY must be set. Find your API key in Tautulli → Settings → Web Interface → API Key.

TLS/SSL errors If Tautulli is behind a reverse proxy with a self-signed certificate, set TAUTULLI_TLS_VERIFY=false.

"Tautulli unreachable" Verify the URL is accessible from the machine running the MCP server. Check firewalls and that Tautulli is running.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_tautulli-1.1.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_tautulli-1.1.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file mcp_tautulli-1.1.0.tar.gz.

File metadata

  • Download URL: mcp_tautulli-1.1.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_tautulli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 b82f24a3f2e6c955774346738b953c62aa6d7ed08869a878db2f8ad0dca9e8d7
MD5 071ed8c844cd28d2bd50207c67cb6bd4
BLAKE2b-256 705c595d23b04455c3b7fcbb60cb05456f41c7c1d01b95cd28bd9911be2a687e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_tautulli-1.1.0.tar.gz:

Publisher: publish.yml on lodordev/mcp-tautulli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_tautulli-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_tautulli-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_tautulli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f162f14cfd7f462de62ff1d0712fc71bcbd6e981dbc91e5e2aefb9298a3784f
MD5 2de2b8a95148545cf789ad913e27de45
BLAKE2b-256 18ddc373f367a4a4c2c57e08692a3174e0627d8c95e6af47c45385b033b7d9fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_tautulli-1.1.0-py3-none-any.whl:

Publisher: publish.yml on lodordev/mcp-tautulli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page