Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Model Context Protocol server for Plex Plex MCP Server A **Model Context Protocol (MCP)** server that provides AI assistants with comprehensive access to your Plex Media Server. Query your libraries, get viewing statistics, and manage your media through natural language interactions. <a href="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server/badge" alt="Plex S Capability contract not published. No trust telemetry is available yet. 8 GitHub stars reported by the source. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
plex-mcp-server is best for mcp, plex, ai workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
Model Context Protocol server for Plex Plex MCP Server A **Model Context Protocol (MCP)** server that provides AI assistants with comprehensive access to your Plex Media Server. Query your libraries, get viewing statistics, and manage your media through natural language interactions. <a href="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server/badge" alt="Plex S
Public facts
5
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. 8 GitHub stars reported by the source. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Niavasha
Artifacts
0
Benchmarks
0
Last release
0.1.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 8 GitHub stars reported by the source. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/niavasha/plex-mcp-server.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Niavasha
Protocol compatibility
MCP
Adoption signal
8 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# Clone the repository git clone https://github.com/niavasha/plex-mcp-server.git cd plex-mcp-server # Install dependencies npm install # Build the project npm run build
bash
# Copy the example environment file cp .env.example .env # Edit with your details PLEX_URL=http://localhost:32400 PLEX_TOKEN=your_plex_token_here
json
{
"mcpServers": {
"plex": {
"command": "node",
"args": ["/path/to/plex-mcp-server/build/index.js"],
"env": {
"PLEX_URL": "http://localhost:32400",
"PLEX_TOKEN": "your_plex_token_here"
}
}
}
}json
{
"mcpServers": {
"plex-arr": {
"command": "node",
"args": ["/path/to/plex-mcp-server/build/plex-arr-server.js"],
"env": {
"PLEX_URL": "http://localhost:32400",
"PLEX_TOKEN": "your_plex_token_here",
"SONARR_URL": "http://localhost:8989",
"SONARR_API_KEY": "your_sonarr_api_key",
"RADARR_URL": "http://localhost:7878",
"RADARR_API_KEY": "your_radarr_api_key"
}
}
}
}json
{
"mcpServers": {
"plex-trakt": {
"command": "node",
"args": ["/path/to/plex-mcp-server/build/plex-trakt-server.js"],
"env": {
"PLEX_URL": "http://localhost:32400",
"PLEX_TOKEN": "your_plex_token_here",
"TRAKT_CLIENT_ID": "your_trakt_client_id",
"TRAKT_CLIENT_SECRET": "your_trakt_client_secret"
}
}
}
}text
๐ฌ "What movies did I watch last week?" ๐บ "Show me my most popular TV shows this month" ๐ "Give me viewing statistics for the past 30 days" ๐ "Search for Christopher Nolan movies in my library" โถ๏ธ "What's on my continue watching list?" ๐ "List all my Plex libraries"
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
Model Context Protocol server for Plex Plex MCP Server A **Model Context Protocol (MCP)** server that provides AI assistants with comprehensive access to your Plex Media Server. Query your libraries, get viewing statistics, and manage your media through natural language interactions. <a href="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server/badge" alt="Plex S
A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to your Plex Media Server. Query your libraries, get viewing statistics, and manage your media through natural language interactions.
<a href="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server/badge" alt="Plex Server MCP server" /> </a>This MCP server transforms your Plex Media Server into an AI-queryable database. Ask your AI assistant questions like:
# Clone the repository
git clone https://github.com/niavasha/plex-mcp-server.git
cd plex-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
Get your Plex token (see instructions below)
Create environment file:
# Copy the example environment file
cp .env.example .env
# Edit with your details
PLEX_URL=http://localhost:32400
PLEX_TOKEN=your_plex_token_here
Add to your MCP client configuration (e.g., Claude Desktop).
Plex only (18 tools):
{
"mcpServers": {
"plex": {
"command": "node",
"args": ["/path/to/plex-mcp-server/build/index.js"],
"env": {
"PLEX_URL": "http://localhost:32400",
"PLEX_TOKEN": "your_plex_token_here"
}
}
}
}
Plex + Sonarr/Radarr (30 tools):
{
"mcpServers": {
"plex-arr": {
"command": "node",
"args": ["/path/to/plex-mcp-server/build/plex-arr-server.js"],
"env": {
"PLEX_URL": "http://localhost:32400",
"PLEX_TOKEN": "your_plex_token_here",
"SONARR_URL": "http://localhost:8989",
"SONARR_API_KEY": "your_sonarr_api_key",
"RADARR_URL": "http://localhost:7878",
"RADARR_API_KEY": "your_radarr_api_key"
}
}
}
}
Plex + Trakt.tv (22 tools):
{
"mcpServers": {
"plex-trakt": {
"command": "node",
"args": ["/path/to/plex-mcp-server/build/plex-trakt-server.js"],
"env": {
"PLEX_URL": "http://localhost:32400",
"PLEX_TOKEN": "your_plex_token_here",
"TRAKT_CLIENT_ID": "your_trakt_client_id",
"TRAKT_CLIENT_SECRET": "your_trakt_client_secret"
}
}
}
}
Note: Sonarr/Radarr API keys are optional at startup โ tools that need them will return a helpful error message if the key is missing. Find your API keys at Settings > General > API Key in each app's web UI.
Once configured, you can ask your AI assistant:
๐ฌ "What movies did I watch last week?"
๐บ "Show me my most popular TV shows this month"
๐ "Give me viewing statistics for the past 30 days"
๐ "Search for Christopher Nolan movies in my library"
โถ๏ธ "What's on my continue watching list?"
๐ "List all my Plex libraries"
| Function | Description |
|----------|-------------|
| get_libraries | List all Plex libraries |
| get_library_items | List items in a library with pagination |
| export_library | Export a full library to JSON (under ./exports) |
| search_media | Search media globally or within one library |
| get_recently_added | Recently added content |
| get_on_deck | Continue watching list |
| get_media_details | Detailed media info |
| get_editable_fields | Show editable fields and available tags for an item |
| get_playlists | List all Plex playlists |
| get_playlist_items | List items in a playlist |
| get_watchlist | Get current Plex watchlist |
| get_recently_watched | Recently watched content |
| get_watch_history | Detailed watch sessions |
The standalone Plex server also includes: get_fully_watched, get_watch_stats, get_user_stats, get_library_stats, get_popular_content.
| Function | Description |
|----------|-------------|
| sonarr_get_series | List series with optional title filter |
| sonarr_search | Search TheTVDB for new series |
| sonarr_add_series | Add series by TVDB ID |
| sonarr_get_missing | Missing/wanted episodes |
| sonarr_get_queue | Download queue |
| sonarr_get_calendar | Upcoming episodes |
| sonarr_get_profiles | Quality profiles and root folders |
| sonarr_trigger_search | Trigger missing episode search |
| Function | Description |
|----------|-------------|
| radarr_get_movies | List movies with optional title filter |
| radarr_search | Search TMDB for new movies |
| radarr_add_movie | Add movie by TMDB ID |
| radarr_get_missing | Missing/wanted movies |
| radarr_get_queue | Download queue |
| radarr_get_calendar | Upcoming movies |
| radarr_get_profiles | Quality profiles and root folders |
| radarr_trigger_search | Trigger missing movie search |
| Function | Description |
|----------|-------------|
| arr_get_status | Check Sonarr/Radarr connection status |
| Function | Description |
|----------|-------------|
| trakt_authenticate | Start Trakt.tv OAuth flow |
| trakt_complete_auth | Complete authentication |
| trakt_get_auth_status | Check auth status |
| trakt_sync_to_trakt | Sync Plex history to Trakt |
| trakt_sync_from_trakt | Get Trakt data for comparison |
| trakt_get_user_stats | Enhanced stats from Trakt |
| trakt_search | Search Trakt database |
| trakt_start_scrobbling | Real-time scrobbling |
| trakt_get_sync_status | Check sync operation status |
Alternative method:
http://YOUR_PLEX_IP:32400/web/index.html#!/settings/accountplex-mcp-server/
โโโ src/
โ โโโ index.ts # Standalone Plex server (18 tools)
โ โโโ plex-arr-server.ts # Plex + Sonarr/Radarr server (30 tools)
โ โโโ plex-trakt-server.ts # Plex + Trakt server (22 tools)
โ โโโ plex/ # Shared Plex module
โ โ โโโ client.ts # Plex API client
โ โ โโโ tools.ts # Plex tool implementations
โ โ โโโ tool-registry.ts # Map-based tool dispatch
โ โ โโโ tool-schemas.ts # MCP tool schema definitions
โ โ โโโ constants.ts # Configuration defaults
โ โ โโโ types.ts # TypeScript type definitions
โ โโโ arr/ # Sonarr/Radarr module
โ โ โโโ client.ts # Base ArrClient + Sonarr/Radarr subclasses
โ โ โโโ mcp-functions.ts # Tool implementations (17 tools)
โ โ โโโ tool-registry.ts # Map-based tool dispatch
โ โ โโโ tool-schemas.ts # MCP tool schema definitions
โ โ โโโ constants.ts # Configuration defaults
โ โ โโโ types.ts # TypeScript type definitions
โ โโโ trakt/ # Trakt.tv module
โ โ โโโ client.ts # Trakt API client + OAuth
โ โ โโโ sync.ts # Plex-to-Trakt sync engine
โ โ โโโ mapper.ts # Plex-to-Trakt data mapping
โ โ โโโ mcp-functions.ts # Tool implementations (9 tools)
โ โ โโโ tool-registry.ts # Map-based tool dispatch
โ โ โโโ tool-schemas.ts # MCP tool schema definitions
โ โโโ shared/ # Shared utilities
โ โโโ utils.ts # truncate, sleep, chunkArray
โโโ build/ # Compiled JavaScript output
โโโ package.json
โโโ tsconfig.json
โโโ .env.example # Environment variables template
โโโ README.md
# Development mode with auto-reload
npm run dev # Plex only
npm run dev:arr # Plex + Sonarr/Radarr
npm run dev:trakt # Plex + Trakt
# Build for production
npm run build
# Start production server
npm start # Plex only
npm start:arr # Plex + Sonarr/Radarr
npm start:trakt # Plex + Trakt
# Clone and setup
git clone https://github.com/niavasha/plex-mcp-server.git
cd plex-mcp-server
npm install
# Development
npm run dev
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Connection refused:
PLEX_URL in your .env fileAuthentication errors:
Empty responses:
Sonarr/Radarr connection issues:
/api/v3/ โ ensure your URL doesn't include a trailing pathradarr_get_movies call may take up to 30 secondsMCP client issues:
build/index.js, build/plex-arr-server.js, or build/plex-trakt-server.js)This project is licensed under the MIT License - see the LICENSE file for details.
Built with โค๏ธ for the Plex and AI community
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T00:02:50.495Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "plex",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "context",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:mcp|supported|profile capability:plex|supported|profile capability:ai|supported|profile capability:context|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Niavasha",
"href": "https://github.com/niavasha/plex-mcp-server",
"sourceUrl": "https://github.com/niavasha/plex-mcp-server",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T03:06:30.290Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T03:06:30.290Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "8 GitHub stars",
"href": "https://github.com/niavasha/plex-mcp-server",
"sourceUrl": "https://github.com/niavasha/plex-mcp-server",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T03:06:30.290Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-niavasha-plex-mcp-server/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to plex-mcp-server and adjacent AI workflows.