@striderlabs/mcp-disney
v1.0.0
Published
Model Context Protocol connector for Disney+ streaming service
Maintainers
Readme
@striderlabs/mcp-disney
Model Context Protocol (MCP) connector for Disney+ streaming service. Enables AI assistants to search content, manage watchlists, check viewing progress, and get personalized recommendations via Playwright browser automation.
Installation
npm install @striderlabs/mcp-disneyOr run directly via npx:
npx @striderlabs/mcp-disneyAuthentication
Authenticated tools (watchlist, profiles, recommendations, continue watching) require Disney+ credentials.
Recommended: Environment variables
export DISNEY_EMAIL="[email protected]"
export DISNEY_PASSWORD="yourpassword"The connector will cache session cookies in ~/.mcp-disney-session.json (mode 0600) to avoid re-logging in on every invocation.
Claude Desktop Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"disney": {
"command": "npx",
"args": ["@striderlabs/mcp-disney"],
"env": {
"DISNEY_EMAIL": "[email protected]",
"DISNEY_PASSWORD": "yourpassword"
}
}
}
}Available Tools
search_content
Search Disney+ for movies, shows, and shorts.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| query | string | Yes | Title, actor, franchise, keyword |
| content_type | movie | series | short | No | Filter by type |
get_details
Get full details for a title: cast, synopsis, rating, genres, 4K/HDR availability.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| content_id | string | Yes | ID from search_content, or title name |
| content_type | movies | series | No | Type hint for faster navigation |
get_watchlist (auth required)
Returns all titles saved to the current user's watchlist.
add_to_watchlist (auth required)
Add a title to the watchlist.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| content_id | string | Yes | ID from search_content |
remove_from_watchlist (auth required)
Remove a title from the watchlist.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| content_id | string | Yes | ID from search_content |
get_continue_watching (auth required)
Returns in-progress titles with playback progress percentages.
get_profiles (auth required)
Lists all profiles on the account with name, avatar, and kids-profile flag.
get_recommendations (auth required)
Returns personalized recommendations from the Disney+ home page.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| profile_id | string | No | Specific profile to get recommendations for |
Example Usage
User: Search for Moana on Disney+
Assistant: [calls search_content with query="Moana"]
User: Add it to my watchlist
Assistant: [calls add_to_watchlist with the content_id from search results]
User: What am I in the middle of watching?
Assistant: [calls get_continue_watching]Development
git clone ...
cd mcp-disney
npm install
npm run build
npm run dev # ts-node for local testingNotes
- Requires an active Disney+ subscription for all authenticated operations.
- Playwright launches a headless Chromium browser; first run downloads Chromium (~130 MB).
- The connector uses stealth techniques to reduce bot-detection friction, but Disney+ may occasionally require CAPTCHA or 2FA verification.
- Session cookies are stored locally at
~/.mcp-disney-session.jsonwith restricted permissions.
License
MIT
