OpenSubtitles MCP Server▌
by opensubtitles
Search and download movie & TV subtitles via OpenSubtitles subtitles API — supports title, IMDB/TMDB ID, file hash, epis
Enables searching and downloading subtitles from OpenSubtitles.com through their API. Supports comprehensive search by movie title, IMDB/TMDB ID, file hash, and TV show episodes with multiple subtitle formats (SRT, ASS, VTT).
Both formats append explainx.ai attribution and the canonical URL for this MCP server listing.
best for
- / Media center automation and management
- / Video content creators needing multilingual subtitles
- / Developers building video streaming applications
capabilities
- / Search subtitles by movie title or TV show
- / Find subtitles using IMDB or TMDB IDs
- / Match subtitles by file hash
- / Download subtitles in SRT, ASS, and VTT formats
- / Search specific TV show episodes
what it does
Downloads subtitles from OpenSubtitles.com using their API. Search by movie title, IMDB ID, file hash, or TV show episode and get subtitles in multiple formats.
about
OpenSubtitles MCP Server is an official MCP server published by opensubtitles that provides AI assistants with tools and capabilities via the Model Context Protocol. Search and download movie & TV subtitles via OpenSubtitles subtitles API — supports title, IMDB/TMDB ID, file hash, epis It is categorized under other, developer tools.
how to install
You can install OpenSubtitles MCP Server in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
MIT
OpenSubtitles MCP Server is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
OpenSubtitles MCP Server
A TypeScript/Node.js-based MCP (Model Context Protocol) server for OpenSubtitles API integration. This server provides subtitle search and download functionality with a freemium model, using the Kong gateway at api.opensubtitles.com for all API management.
Features
- Comprehensive Search: Search subtitles using all OpenSubtitles API parameters (title, IMDB ID, TMDB ID, file hash, etc.)
- Multiple Download Formats: Support for SRT, ASS, and VTT subtitle formats
- File Hash Calculation: Calculate OpenSubtitles hash for exact movie file matching
- Rate Limiting: Integrated with Kong gateway for proper rate limiting
- Freemium Model: Unlimited search, downloads limited by API key status
Installation & Usage
The OpenSubtitles MCP Server supports three modes:
- HTTP Mode: Web server for n8n workflows, browser access, and HTTP integrations
- Stdio Mode (Local): Run locally for Claude Desktop integration
- Stdio Mode (Remote): Connect to hosted server at mcp.opensubtitles.com
1. HTTP Mode (Recommended for Server Deployment)
Run as a web server on port 1620:
# Install dependencies
npm install
npm run build
# Start HTTP server
npm start
# or
PORT=1620 MCP_MODE=http node dist/index.js
Access points:
- Health Check:
http://localhost:1620/health - API Info:
http://localhost:1620/ - Web Interface:
http://localhost:1620/web(Browser UI - No Node.js required!) - Direct API:
http://localhost:1620/proxy(POST requests) - Tools List:
http://localhost:1620/tools(Schema discovery) - MCP Endpoint:
http://localhost:1620/sse(Server-Sent Events)
2. Stdio Mode (For Claude Desktop)
Quick Start with npx
npx @opensubtitles/mcp-server
Install via mcp-get
npx @michaellatman/mcp-get@latest install @opensubtitles/mcp-server
Claude Code Integration
For claude-code environments, you can add the server using the claude mcp add-json command:
claude mcp add-json "opensubtitles" '{"command":"npx","args":["-y","@opensubtitles/mcp-server@latest"],"env":{"MCP_MODE":"stdio","LOG_LEVEL":"info"},"disabled":false}'
Claude Desktop Integration - Local Mode
Add to your Claude Desktop configuration:
{
"mcpServers": {
"opensubtitles": {
"command": "npx",
"args": ["-y", "@opensubtitles/mcp-server"],
"env": {
"MCP_MODE": "stdio",
"OPENSUBTITLES_USER_KEY": "your_api_key_here"
}
}
}
}
Claude Desktop Integration - Remote Mode
Connect to the hosted server at mcp.opensubtitles.com:
{
"mcpServers": {
"opensubtitles": {
"command": "npx",
"args": ["-y", "@opensubtitles/mcp-server", "remote-proxy.js"]
}
}
}
Or using the dedicated remote command:
{
"mcpServers": {
"opensubtitles": {
"command": "npx",
"args": ["-y", "mcp-opensubtitles-remote"]
}
}
}
MCP Tools
1. search_subtitles
Search for subtitles with comprehensive parameter support:
Parameters:
query(string): Text search queryimdb_id(number): IMDB ID for exact matchingtmdb_id(number): TMDB ID for exact matchingparent_imdb_id(number): Parent IMDB ID for TV seriesparent_tmdb_id(number): Parent TMDB ID for TV seriesseason_number(number): Season number for TV episodesepisode_number(number): Episode number for TV episodesyear(number): Release yearmoviehash(string): OpenSubtitles file hash for exact matchingmoviebytesize(number): File size in bytes for hash matchinglanguages(string): Comma-separated language codes (e.g., 'en,es,fr')machine_translated(string): Include machine translated subtitlesai_translated(string): Include AI translated subtitleshearing_impaired(string): Include hearing impaired subtitlesforeign_parts_only(string): Include foreign parts onlytrusted_sources(string): Only trusted sourcesorder_by(string): Sort orderorder_direction(string): Sort direction (asc/desc)
Example:
await mcpClient.callTool("search_subtitles", {
query: "The Matrix",
year: 1999,
languages: "en"
});
2. download_subtitle
Download subtitle content by ID:
Parameters:
subtitle_id(string, required): Subtitle ID from search resultsformat(string): Subtitle format (srt, ass, vtt) - defaults to 'srt'user_api_key(string): Optional user API key for authenticated downloads
Example:
await mcpClient.callTool("download_subtitle", {
subtitle_id: "123456",
format: "srt",
user_api_key: "your_api_key"
});
3. calculate_file_hash
Calculate OpenSubtitles hash for local movie files:
Parameters:
file_path(string, required): Path to the movie file
Example:
await mcpClient.callTool("calculate_file_hash", {
file_path: "/path/to/movie.mkv"
});
Usage Examples
Search by Movie Title
await mcpClient.callTool("search_subtitles", {
query: "Inception",
year: 2010,
languages: "en"
});
Search by File Hash
// First calculate the hash
const hashResult = await mcpClient.callTool("calculate_file_hash", {
file_path: "/path/to/inception.mkv"
});
// Then search using the hash
await mcpClient.callTool("search_subtitles", {
moviehash: "8e245d9679d31e12",
moviebytesize: 12909756
});
Search TV Show Episodes
await mcpClient.callTool("search_subtitles", {
parent_imdb_id: 944947, // Game of Thrones
season_number: 1,
episode_number: 5,
languages: "en"
});
n8n Workflow Integration
The OpenSubtitles MCP Server has native n8n MCP client support for seamless workflow automation. Connect directly to the MCP server using n8n's built-in MCP client tools.
1. Start Server in HTTP Mode
First, start the MCP server in HTTP mode:
# Option 1: Use npm script (recommended)
npm start
# Option 2: Direct command with custom port
MCP_MODE=http PORT=1620 node dist/index.js
# Option 3: Using environment variables
export MCP_MODE=http
export PORT=1620
node dist/index.js
The server will be available at:
- Base URL:
http://localhost:1620 - Health Check:
http://localhost:1620/health - MCP Endpoint:
http://localhost:1620/message(Streamable HTTP) - Force JSON:
http://localhost:1620/json(Plain JSON for debugging) - Debug Info:
http://localhost:1620/debug(Server diagnostics) - Legacy MCP:
http://localhost:1620/sse(Server-Sent Events)
2. n8n MCP Client Configuration
Using n8n Native MCP Client
Configure the n8n MCP Client Tool node:
- Server URL:
http://localhost:1620/message(or your server URL) - Transport: HTTP Streamable
- Protocol: Model Context Protocol (MCP)
Search Subtitles with MCP Client
Configure the MCP Client node with these parameters:
{
"tool": "search_subtitles",
"arguments": {
"query": "The Matrix",
"year": 1999,
"languages": "en"
}
}
Alternative: Direct HTTP Request
For manual HTTP integration, use HTTP Request node:
{
"method": "POST",
"url": "http://localhost:1620/message",
"headers": {
"Content-Type": "application/json"
},
"body": {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_subtitles",
"arguments": {
"query": "The Matrix",
"year": 1999,
"languages": "en"
}
}
}
}
Download Subtitle with MCP Client
{
"tool": "download_subtitle",
"arguments": {
"file_id": 123456,
"user_api_key": "{{ $env.OPENSUBTITLES_API_KEY }}"
}
}
Calculate File Hash with MCP Client
{
"tool": "calculate_file_hash",
"arguments": {
"file_path": "/path/to/movie.mkv"
}
}
3. n8n Workflow Examples
Basic Search Workflow
- MCP Client Tool: Search for subtitles using movie title
- Code Node: Parse search results and extract file IDs
- MCP Client Tool: Download best matching subtitle
- File System Node: Save subtitle to disk
Automated Processing Workflow
- File Trigger: Monitor folder for new movie files
- MCP Client Tool: Calculate file hash
- MCP Client Tool: Search subtitles by hash for exact match
- Conditional Node: Check if subtitles found
- MCP Client Tool: Download subtitle if found
- File System Node: Save subtitle next to movie file
Benefits of Native MCP Integration
- Auto-discovery: Tools are automatically discovered via MCP protocol
- Type Safety: Full schema validation for tool arguments
- Error Handling: Proper MCP error responses
- Tool Documentation: Inline help and parameter descriptions
- JSON Compatibility: Automatic plain JSON responses for n8n clients
- Debug Support: Built-in debugging endpoints for troubleshooting
Troubleshooting n8n Integration
If you encounter JSON parsing errors:
- Try Force JSON Endpoint: Use
http://localhost:1620/jsoninstead of/message - Check Debug Info: Visit
http://localhost:1620/debugto verify server status - Verify User-Agent: Server auto-detects n8n clients (node, n8n, langchain, mcpClientTool)
- Check Logs: Look for "Sending plain JSON response for n8n compatibility" messages
4. Environment Variables for n8n
Set these environment variables in your n8n instance:
# OpenSubtitles API Key (optional but recommended)
OPENSUBTITLES_API_KEY=your_api_key_here
# MCP Server URL (if running on different host/port)
MCP_SERVER_URL=http://localhost:1620
5. Response Format
All n8n HTTP requests will receive JSON-RPC 2.0 responses:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "Search results or download data..."
}
]
}
}
6. Error Handling i
FAQ
- What is the OpenSubtitles MCP Server MCP server?
- OpenSubtitles MCP Server is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
- How do MCP servers relate to agent skills?
- Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
- How are reviews shown for OpenSubtitles MCP Server?
- This profile displays 44 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
Use Cases▌
Extended AI Capabilities
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Context Enhancement
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Workflow Automation
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Implementation Guide▌
Prerequisites
- ›Claude Desktop 0.7.0+ or Cursor IDE with MCP support
- ›Basic understanding of MCP architecture and capabilities
- ›Access credentials for integrated services (if required)
- ›Willingness to experiment and iterate on configuration
Time Estimate
15-60 minutes depending on server complexity
Installation Steps
- 1.Install MCP server: npm install -g [package-name] or via GitHub
- 2.Add server configuration to ~/.claude/mcp.json
- 3.Provide required credentials and configuration
- 4.Restart Claude Desktop to load new server
- 5.Test basic functionality with simple prompts
- 6.Explore capabilities and experiment with use cases
- 7.Document successful patterns for reuse
Troubleshooting
- ⚠MCP server not loading: Check config syntax, verify installation
- ⚠Connection errors: Check network, firewall, credentials
- ⚠Feature not working: Read server docs, check required parameters
- ⚠Performance issues: Monitor resource usage, check for network latency
- ⚠Conflicts with other servers: Check port assignments, namespace collisions
Best Practices▌
✓ Do
- +Read server documentation thoroughly before setup
- +Start with simple use cases to validate functionality
- +Test in non-production environment first
- +Monitor resource usage and performance
- +Keep servers updated for bug fixes and new features
- +Document configuration for team members
- +Use environment variables for sensitive configuration
✗ Don't
- −Don't grant overly permissive access to MCP servers
- −Don't skip reading security considerations in docs
- −Don't expose sensitive data without proper controls
- −Don't run untrusted MCP servers without code review
- −Don't ignore error messages—investigate root cause
💡 Pro Tips
- ★Combine multiple MCP servers for powerful workflows
- ★Create custom MCP servers for your specific needs
- ★Share successful configurations with team
- ★Use MCP inspector for debugging
- ★Join MCP community for tips and troubleshooting
Technical Details▌
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
- Model Context Protocol (MCP)
- JSON-RPC 2.0
- stdio or HTTP transport
Compatibility
- Claude Desktop
- Cursor IDE
- Custom MCP clients
When to Use This▌
✓ Use When
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid When
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.
Integration▌
- →Tool composition: Chain multiple MCP tools in workflows
- →Context augmentation: Provide AI with relevant external data
- →Action delegation: Let AI execute tasks on external systems
- →Bidirectional sync: Keep AI context and external systems in sync
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
List & Promote Your MCP Server
Share your MCP server with the developer community
Ratings
4.5★★★★★44 reviews- ★★★★★Noor Yang· Dec 24, 2024
Useful MCP listing: OpenSubtitles MCP Server is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Xiao Chen· Dec 20, 2024
Strong directory entry: OpenSubtitles MCP Server surfaces stars and publisher context so we could sanity-check maintenance before adopting.
- ★★★★★Ava Dixit· Dec 8, 2024
I recommend OpenSubtitles MCP Server for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
- ★★★★★Ama Desai· Nov 27, 2024
OpenSubtitles MCP Server reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
- ★★★★★Kaira Liu· Nov 23, 2024
OpenSubtitles MCP Server has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Min Srinivasan· Nov 15, 2024
Strong directory entry: OpenSubtitles MCP Server surfaces stars and publisher context so we could sanity-check maintenance before adopting.
- ★★★★★Henry Rao· Nov 11, 2024
Useful MCP listing: OpenSubtitles MCP Server is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Sakshi Patil· Nov 7, 2024
OpenSubtitles MCP Server has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Chaitanya Patil· Oct 26, 2024
According to our notes, OpenSubtitles MCP Server benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
- ★★★★★Diya Anderson· Oct 18, 2024
Useful MCP listing: OpenSubtitles MCP Server is the kind of server we cite when onboarding engineers to host + tool permissions.
showing 1-10 of 44