Supports configuration through environment variables stored in a .env file, used for managing API keys for the movie data services.
Provides movie search and detailed information through the OMDb API, allowing users to search movies by title and year, and get complete information including synopsis, director, and actors.
Serves as the runtime environment for the MCP server, requiring version 18+ for proper functionality.
Used for development with static typing, providing type safety for the movie search and information retrieval functionality.
Handles parameter validation for movie search queries and other requests to ensure proper data formatting and error handling.
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., "@Movie Search MCP Serversearch movies with title "Inception" from year 2010"
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.
๐ฌ Movie Search MCP Server
A complete MCP (Model Context Protocol) server for searching and obtaining detailed movie information using OMDb (IMDB) and TMDb APIs.
๐ Features
โ Search movies by title and year
โ Detailed movie information (synopsis, director, actors, etc.)
โ Genre-based recommendations
โ Popular/trending movies
โ Support for multiple APIs (OMDb + TMDb)
โ English responses
โ Robust error handling
Related MCP server: Plex MCP Server
๐ Requirements
Node.js 18+
TypeScript
API keys (see configuration)
๐ ๏ธ Installation
Clone or create the project:
git clone <repo> # or create a new folder
cd movie-mcpInstall dependencies:
npm installBuild the project:
npm run build๐ API Configuration
OMDb API (Free)
Go to: https://www.omdbapi.com/apikey.aspx
Register to get your free API key
Add the environment variable:
OMDB_API_KEY=your_api_key
TMDb API (Free)
Go to: https://www.themoviedb.org/settings/api
Register and request an API key
Add the environment variable:
TMDB_API_KEY=your_api_key
Environment Variables
Create a .env file in the project root:
OMDB_API_KEY=your_omdb_api_key
TMDB_API_KEY=your_tmdb_api_key๐ฏ Available Tools
1. search_movies
Search movies by title and optionally by year.
Parameters:
title(string, required): Movie titleyear(string, optional): Movie year
Example:
Search movies with title "Batman" from year "2008"2. get_movie_details
Get complete information for a specific movie.
Parameters:
id(string, required): Movie ID (IMDB ID or TMDb ID)source(string, optional): 'omdb' or 'tmdb' (default: 'omdb')
Example:
Get details for movie with ID "tt0468569" using source "omdb"3. recommend_movies
Get movie recommendations by genre.
Parameters:
genre(string, optional): Specific genre
Available genres:
action, adventure, animation, comedy, crime
documentary, drama, family, fantasy, history
horror, music, mystery, romance, science fiction
thriller, war, western
Example:
Recommend me "action" movies4. popular_movies
Get the most popular movies of the week.
Parameters: None
Example:
What are the popular movies?5. movie_help
Show help information about all available tools.
๐ง Cursor Configuration
To use this MCP server in Cursor, add the following configuration to your .cursor/mcp.json file:
{
"mcpServers": {
"movie-search": {
"command": "node",
"args": ["/full/path/to/your/project/dist/index.js"],
"env": {
"OMDB_API_KEY": "your_omdb_api_key",
"TMDB_API_KEY": "your_tmdb_api_key"
}
}
}
}๐ฎ Usage in Cursor
Once configured, you can use the tools directly in Cursor:
// Search movies
"Search movies of Batman from 2008"
// Get details
"Give me details of movie tt0468569"
// Recommendations
"Recommend me action movies"
// Popular movies
"What are the popular movies this week?"
// Help
"Show me the movie server help"๐งช Testing
To test the server locally:
# Build
npm run build
# Run the server
npm start
# Or in development mode
npm run dev๐ Available Scripts
npm run build: Compile TypeScript to JavaScriptnpm run dev: Build in watch modenpm start: Run the compiled servernpm test: Run the server (start alias)
๐ Project Structure
movie-mcp/
โโโ src/
โ โโโ index.ts # Main MCP server
โ โโโ movie-apis.ts # API functions
โ โโโ types.ts # TypeScript types
โโโ dist/ # Compiled JavaScript
โโโ package.json
โโโ tsconfig.json
โโโ README.md๐ Technical Features
MCP Protocol: Implements the Model Context Protocol standard
Multiple APIs: Combines OMDb and TMDb for better results
Validation: Uses Zod for parameter validation
TypeScript: Fully typed code
Error handling: Informative responses in case of error
Internationalization: English responses
๐ค Contributing
Fork the project
Create a feature branch (
git checkout -b feature/new-feature)Commit your changes (
git commit -am 'Add new feature')Push to the branch (
git push origin feature/new-feature)Open a Pull Request
๐ License
MIT License - see the LICENSE file for more details.
๐ Troubleshooting
Error: "Module not found"
Make sure to run
npm installVerify that Node.js is installed (version 18+)
Error: "API key invalid"
Verify that environment variables are configured correctly
Confirm that API keys are valid
Error: "No results found"
Check your internet connection
Confirm that movie names are spelled correctly
Server not responding
Verify that the file is compiled (
npm run build)Check the configuration in
.cursor/mcp.jsonConfirm that the path to the file is correct