@striderlabs/mcp-max
Click on "Install 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., "@@striderlabs/mcp-maxsearch for 'The Wire'"
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.
@striderlabs/mcp-max
MCP (Model Context Protocol) server connector for Max (HBO Max streaming service). Enables AI agents to interact with Max using browser automation via Playwright.
Features
Search content — Search for movies and TV shows by title, actor, genre, etc.
Get content details — Retrieve detailed info including description, cast, rating, year, and genre
View watchlist — Access the user's saved content (My Stuff)
Add/remove from watchlist — Manage watchlist items
Continue watching — Get in-progress content with completion percentage
Viewing history — Access previously watched content
Related MCP server: Cloudflare Playwright MCP
Installation
npm install -g @striderlabs/mcp-maxOr use directly with npx:
npx @striderlabs/mcp-maxConfiguration
Add to your MCP client configuration (e.g., Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"max": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-max"]
}
}
}Authentication
This connector uses browser automation. To use features that require authentication (watchlist, continue watching, viewing history), you'll need to be logged into Max in the browser session.
The browser runs in headless mode by default. For first-time login, you may need to modify the headless option to false temporarily to complete authentication.
Available Tools
max_search
Search for movies and TV shows.
Parameters:
query(required): Search termstype(optional):"movie","series", or"all"(default)
max_get_details
Get detailed information about a specific title.
Parameters:
url(required): Content URL or path (e.g.,/movies/the-dark-knight)
max_get_watchlist
Retrieve the user's watchlist (My Stuff). Requires login.
max_add_to_watchlist
Add content to the user's watchlist.
Parameters:
url(required): Content URL or path
max_remove_from_watchlist
Remove content from the user's watchlist.
Parameters:
url(required): Content URL or path
max_get_continue_watching
Get in-progress content with completion percentages. Requires login.
max_get_viewing_history
Retrieve viewing history. Requires login.
Development
# Install dependencies
npm install
# Build
npm run build
# Run locally
node dist/index.jsRequirements
Node.js 18+
Playwright (automatically installed as a dependency)
License
MIT
Available Tools
5 toolsmax_get_continue_watchingA
Get the list of content the user has started watching but hasn't finished, including progress information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Clearly states the tool returns a list of incomplete content with progress information. No hidden side effects or safety concerns need disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence conveying all necessary information without fluff. Front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool with no output schema, the description adequately explains what the tool does and what it returns. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100%. Description adds context but is not needed for parameter understanding. Baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Get' and specific resource 'content the user has started watching but hasn't finished, including progress information'. Differentiates from sibling tools like max_get_watchlist (saved content) and max_get_viewing_history (all history).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose (unfinished content), but no explicit when-to-use or when-not-to-use guidance is provided. Sibling tools could be alternatives for other use cases, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
max_get_detailsA
Get detailed information about a specific movie or TV show on Max, including description, cast, rating, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL or path of the content (e.g., '/movies/the-dark-knight' or full URL) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It indicates a read operation and lists returned data types, but lacks details on authentication needs, error handling, or other behavioral traits. No contradictions present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-formed sentence that conveys the tool's purpose and output examples without unnecessary words. It is appropriately front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (single parameter, no output schema), the description covers the return fields adequately. However, it could be slightly more complete by specifying the output format or scope (e.g., full metadata).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter description already defines the 'url' field clearly. The tool description adds value by listing what information is returned, but does not provide additional semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool gets detailed information about a movie or TV show on Max, listing example fields like description, cast, and rating. This specific verb+resource combination differentiates it from sibling tools like search or watchlist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving details of a specific content item, but it does not explicitly state when to use it versus alternatives like max_search or max_get_watchlist. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
max_get_viewing_historyA
Retrieve the user's complete viewing history on Max, showing previously watched content.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read operation and describes the result as 'complete viewing history' and 'previously watched content', but does not disclose potential large data sizes, ordering, or any side effects. It is adequate but lacks depth beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no unnecessary words. Every word contributes to the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description provides the core purpose but lacks detail on output structure (e.g., format, fields) or any pagination. It is minimally complete but leaves the agent guessing about the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema description coverage is 100% (trivially). Baseline for 0 parameters is 4, and the description does not need to add parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'user's complete viewing history on Max', with the additional context 'showing previously watched content'. This distinguishes it from sibling tools like max_get_watchlist (current watchlist) and max_get_continue_watching (in-progress items).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., max_get_watchlist, max_get_continue_watching). It does not mention prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
max_get_watchlistA
Retrieve the current user's watchlist (My Stuff) from Max. Requires the user to be logged in.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It correctly notes the tool is a retrieval (read operation) and requires authentication. However, it does not describe the output format or any limitations (e.g., pagination), which would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys all necessary information without any wasted words. It is well-structured and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description covers the essential: what the tool does and a key requirement. It could be slightly improved by hinting at the return type (e.g., 'returns a list of items'), but for a simple retrieval, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is 100%. The baseline for 0 parameters is 4, as the description does not need to add parameter details. The description adds no parameter information, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve'), the resource ('watchlist (My Stuff)'), and the service ('from Max'). It distinguishes itself from sibling tools like max_get_continue_watching and max_get_viewing_history by specifying 'watchlist'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a prerequisite ('Requires the user to be logged in.'), which helps the agent understand usage context. However, it does not explicitly state when to use this tool versus alternatives, though the tool's specificity makes this less critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
max_searchA
Search for movies and TV shows on Max (HBO Max). Returns a list of matching content.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter results by content type. Defaults to 'all'. | |
| query | Yes | The search query (title, actor, genre, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only states basic behavior ('Returns a list of matching content') without disclosing potential side effects, rate limits, or pagination details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the verb, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool, the description covers the basic purpose and parameters are well-documented in schema, though output format and pagination are not mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters; the tool description adds no additional context or tips beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and resource 'movies and TV shows on Max', and effectively distinguishes from sibling tools that get specific lists or details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching content, and sibling tool names clarify alternatives, but explicit when-not-to-use guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.0- First observed
max_get_continue_watching - First observed
max_get_details - First observed
max_get_viewing_history - First observed
max_get_watchlist - First observed
max_search
TDQS
Each tool targets a distinct aspect of Max: watchlist, continue watching, viewing history, search, and details. The descriptions clearly differentiate them, leaving no ambiguity.
All tools follow a consistent pattern: 'max_' prefix + verb + noun in snake_case. Verbs are descriptive (get, search) and object names are clear.
5 tools is a reasonable count for an info-retrieval-focused server. It covers the core read operations without being too sparse, though a few more could be added.
The set covers all main read operations (lists, search, details) but lacks any write operations (e.g., add/remove from watchlist), which limits completeness for full interaction.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Headless browser primitives for AI agents when sites need real JS rendering.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control and automate your Chrome browser directly, leveraging existing login states and configurations for tasks like content analysis, semantic search across tabs, screenshots, network monitoring, and interactive operations.10MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser for web automation tasks like navigation, typing, clicking, and taking screenshots.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search products, manage cart, place orders, and track shipments on Amazon via browser automation.271MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser for web automation tasks such as navigation, typing, clicking, and taking screenshots.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/markswendsen-code/mcp-max'
If you have feedback or need assistance with the MCP directory API, please join our Discord server