@striderlabs/mcp-netflix
v1.0.0
Published
MCP server for Netflix account management via Playwright browser automation
Downloads
35
Maintainers
Readme
@striderlabs/mcp-netflix
MCP (Model Context Protocol) server for Netflix account management via Playwright browser automation.
Features
- Login and persistent session management
- Profile management (list, switch profiles)
- Title search with type filtering
- Detailed title information
- My List management (add/remove/view)
- Continue Watching list
- Personalized recommendations
- Account information
- Watch history
- Title rating (thumbs up/down/two thumbs up)
Installation
npm install -g @striderlabs/mcp-netflix
npx playwright install chromiumUsage
MCP Configuration
Add to your Claude Desktop / MCP client configuration:
{
"mcpServers": {
"netflix": {
"command": "striderlabs-mcp-netflix"
}
}
}Or with npx:
{
"mcpServers": {
"netflix": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-netflix"]
}
}
}Session Persistence
Sessions are stored in ~/.mcp-netflix-session/ and persist across restarts. You only need to log in once.
Tools
netflix_login
Log in to Netflix with your credentials.
Parameters:
email(string, required): Netflix account emailpassword(string, required): Netflix account password
Example:
{
"email": "[email protected]",
"password": "yourpassword"
}netflix_get_profiles
Get all profiles on the Netflix account.
Returns: List of profile names.
netflix_switch_profile
Switch to a specific profile.
Parameters:
profile_name(string, required): Name of the profile to switch to
Example:
{
"profile_name": "Alice"
}netflix_search_titles
Search for movies and TV shows.
Parameters:
query(string, required): Search querytype(string, optional): Filter by"movie","show", or"all"(default:"all")
Example:
{
"query": "Stranger Things",
"type": "show"
}Returns: List of titles with IDs.
netflix_get_title_details
Get detailed information about a title.
Parameters:
title_id(string, required): Netflix title ID (found via search)
Example:
{
"title_id": "80057281"
}Returns: Title name, year, rating, genres, synopsis, match score.
netflix_add_to_list
Add a title to My List.
Parameters:
title_id(string, required): Netflix title ID
netflix_remove_from_list
Remove a title from My List.
Parameters:
title_id(string, required): Netflix title ID
netflix_get_my_list
Get all titles saved in My List.
Returns: List of titles with IDs.
netflix_get_continue_watching
Get titles you've started but not finished.
Returns: List of in-progress titles.
netflix_get_recommendations
Get personalized recommendations from the Netflix homepage.
Returns: List of recommended titles.
netflix_get_account_info
Get account details.
Returns: Email, plan type, member since date, next billing date.
netflix_get_watch_history
Get viewing history for the current profile.
Returns: List of watched titles with dates (up to 50 most recent).
netflix_rate_title
Rate a title.
Parameters:
title_id(string, required): Netflix title IDrating(string, required): One of"thumbs_up","thumbs_down", or"two_thumbs_up"
Example:
{
"title_id": "80057281",
"rating": "two_thumbs_up"
}Development
# Install dependencies
npm install
# Install Playwright browsers
npx playwright install chromium
# Build
npm run build
# Run directly
node dist/index.jsNotes
- This server uses Playwright to automate a real browser session. Netflix's UI may change, which could affect functionality.
- Sessions are stored locally at
~/.mcp-netflix-session/. - The server runs in headless browser mode by default.
- Netflix may require additional verification steps (SMS, email) on first login from a new device.
License
MIT
