search_and_add_movieLABSCO SUMMARY
One library for what you watch and read.
Because films, books and shows sit in the same store with your reasons attached — what you liked, what you did not, the mood you were in — a recommendation can start from a film you loved and end at a book.
What it is
A media tracker that fills in the metadata for you: add a film, a book or a show by title and it is enriched from OMDB, Google Books or TMDB, then listed back filtered by type, status, rating or genre.
What you get
- A film added by title, enriched from OMDB, with your rating, notes and what you liked about it
- A book added the same way, enriched from Google Books
- A TV show added and enriched from TMDB
- The library listed and filtered — by type, by minimum rating, by watched or watchlist only
- Preferences read across all three media types, so a recommendation is not confined to one format
Requirements
Bun, and keys for the metadata sources: OMDB for films and TMDB for shows are required, Google Books optional. It runs over stdio locally, or over HTTP with SSE and an API key for remote use, and keeps everything in a local SQLite database.
Setup effort
Build from source — git clone https://github.com/imjoshnewton/mediasage
USE CASES
Logging something you just finished
The title is enough; metadata is fetched for you, and your rating and notes on what worked go in at the same time.
Building a watchlist you will actually use
Things you have not seen yet are marked as such, so the list can be filtered down to unwatched when you are choosing.
Deciding what to start tonight
Filter by type, by minimum rating, or by watchlist only — a shorter question than scrolling four streaming apps.
Checking whether you have already read it
One list covers all three formats, which is the case where a memory is least reliable.
9 tools
Listed in project docs. Your client may show a different list.
search_and_add_booksearch_and_add_tv_showlist_mediaadd_movie_to_watchlistget_smart_recommendationsmark_as_watchedanalyze_preferencesupdate_movieBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
- OMDB_API_KEY in your environment
- TMDB_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
# Clone the repository
git clone https://github.com/imjoshnewton/mediasage
cd mediasage
# Install dependencies
bun install
# Set up API keys (required for metadata enrichment)
cp .env.example .env
# Edit .env and add your API keys:
# - OMDB_API_KEY (required for movies): Get from http://www.omdbapi.com/apikey.aspx
# - TMDB_API_KEY (required for TV shows): Get from https://www.themoviedb.org/settings/api
# - GOOGLE_BOOKS_API_KEY (optional for books): Get from Google Cloud Console
# Run migration if you have existing movie data
bun run src/migrate-to-media.tsMCP Clients
Claude Desktop
{
"mcpServers": {
"mediasage": {
"command": "bun",
"args": [
"run",
"<YOUR_PATH_TO_MEDIASAGE>/index.ts"
],
"env": {
"OMDB_API_KEY": "<YOUR_OMDB_API_KEY>",
"TMDB_API_KEY": "<YOUR_TMDB_API_KEY>"
}
}
}
}Put your OMDB and TMDB keys in env here: Bun reads .env from the directory it is started in, and Claude Desktop does not start it inside your clone. GOOGLE_BOOKS_API_KEY is optional. <YOUR_PATH_TO_MEDIASAGE> is the full path of your clone.