FILM-FINDER MCP Server
A simple MCP server for fetching movie and TV show data from TMDB and OMDB APIs. Provides natural language capability for users to search, compare, and analyze movies through AI assistants.
README
FILM-FINDER MCP Server
A simple MCP (Model Context Protocol) server for fetching movie and TV show data from TMDB and OMDB APIs. Provides natural language capability for users to search, compare, and analyze movies through AI assistants.
What is Model Context Protocol?
MCP allows AI assistants (like Claude in Cursor) to access external tools and data sources. This server exposes movie databases as MCP tools.
- Official guide: https://modelcontextprotocol.io/docs/getting-started/intro
What it does
- Get popular movies and TV shows
- Search movie details by ID or title
- Compare ratings across TMDB and OMDB
- Basic caching for faster responses
Setup
-
Get API keys:
- TMDB: https://www.themoviedb.org/settings/api
- OMDB: http://www.omdbapi.com/apikey.aspx
-
Add keys to
.cursor/mcp.json:
{
"mcpServers": {
"film-finder": {
"command": "uv",
"args": ["run", "--directory", "/path/to/film-finder-mcp/tmdb-mcp", "python", "src/server.py"],
"env": {
"TMDB_API_KEY": "your_tmdb_key",
"OMDB_API_KEY": "your_omdb_key"
}
}
}
}
- Install dependencies:
uv sync
Testing
Use MCP Inspector for testing:
npx @modelcontextprotocol/inspector uv run python src/server.py
Then open http://localhost:5173 (or the URL shown in terminal).
What is MCP Inspector?
A web-based developer tool for testing MCP servers during development. You can call tools, test prompts, and view resources without needing a full AI assistant setup.
- Docs: https://modelcontextprotocol.io/docs/tools/inspector
Available Tools
Movies:
get_popular_movies- Popular movies by language/pageget_top_rated_movies- Highest rated moviesget_movie_details- TMDB details by movie IDget_movie_details_by_title- OMDB search by titleget_movie_recommendation- Discover movies by genre/language
TV Shows:
get_popular_tv_shows- Popular TV showsget_top_rated_tv_shows- Highest rated showsget_tv_show_details- Details for specific show
Other:
authenticate_api_key- Validate TMDB API keygenerate_recommendation_explanation- AI-powered movie recommendations
Prompts
Pre-configured prompts to guide AI responses:
movie_recommendation_prompt- Guide for recommending moviestv_show_recommendation_prompt- Guide for TV show suggestionsmovie_analysis_prompt- Compare and analyze moviescompare_movie_sources_prompt- Compare TMDB vs OMDB data
Resources
Static and dynamic data exposed by the server:
tmdb://config- TMDB API configuration (languages, genres)omdb://config- OMDB API configurationtmdb://movie/{movie_id}- Dynamic movie details by IDtmdb://movie/top_rated- Top rated movies list
Use MCP Inspector's Resources tab to explore these.
Caching
Results are cached using Python's cachetools with TTL (Time To Live):
| Data Type | Cache Duration | Reason |
|---|---|---|
| Popular movies/shows | 3 hours | Changes daily |
| Movie details | 24 hours | Static metadata |
| Top rated | 6 hours | Rarely changes |
Example Usage in Cursor
Once configured in .cursor/mcp.json, ask Claude or any other LLM:
- "What are the top rated movies right now?"
- "Compare The Godfather ratings on TMDB vs OMDB"
- "Recommend me some movies similar to Inception"
The AI will automatically use your MCP tools to fetch and analyze movie data.

Troubleshooting
Server won't start:
- Check that API keys are set in
.cursor/mcp.json - Verify
uv syncran successfully - Look for errors in terminal logs
- Run from terminal
uv run python src/server.pyand check for logging.
Project Structure
film-finder-mcp/
├── src/
│ ├── server.py # Main MCP server
│ └── tools/
│ ├── tmdb_client.py # TMDB API client with caching
│ ├── omdb_client.py # OMDB API client
│ └── base_config.py # Configuration and logging
├── test_my_http_client.py # Test file
├── pyproject.toml # Dependencies
├── images/ # Screenshots
└── README.md # You are here
Notes
This is a learning project to understand MCP server development. The code works but could be improved with better error handling, more comprehensive tests, and additional features!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.