Back to Browse

Goodwatch Monorepo MCP Server

by Alp82
Developer ToolsUse Caution3.0MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Find movies and TV shows, track watches, and get suggestions based on your taste.

About

Find movies and TV shows, track watches, and get suggestions based on your taste.

Remote endpoints: streamable-http: https://goodwatch.app/mcp

Security Report

3.0
Use Caution3.0High Risk

The provided code is a host-level Docker container lifecycle script rather than an MCP server, and it has no MCP tool surface or authentication layer. It drives a stop and recreate of a production Qdrant container through the Docker Engine socket, which is root-equivalent, and it uses exec() on a hash-verified helper module; these are the main concerns behind the score. Subprocess calls avoid shell=True, inputs are allowlisted, and the script is gated and prints prepared-only when run directly, so no malicious behavior was found. Supply chain analysis found 11 known vulnerabilities in dependencies (0 critical, 3 high severity).

21 files analyzed · 17 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

process_spawn

Check that this permission is expected for this type of plugin.

docker_socket

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

env_vars

Check that this permission is expected for this type of plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

GoodWatch Online

GoodWatch is alive and running. Check it out: https://goodwatch.app/

Roadmap

The living roadmap organizes the backlog and guides evolving priorities, using periodic research and results to reassess the current focus.

GoodWatch Community

Join our Discord to be part of the wonderful community and learn more about the project: https://discord.gg/TVAcrfQzcA

What's unique about GoodWatch?

  1. Personalized Recommendations based on your ratings and watched movies & shows
  2. Fingerprint: Classify movies and TV shows by hundreds of meaningful categories (e.g. Emotions, Plot, Subgenres, Visual Style, Cultural Context, etc.)
  3. See availability of streaming services for each title (Netflix, Hulu, Amazon Prime, ...)
  4. See all ratings at one place (IMDb, Metacritic, Rotten Tomatoes)

Repository Structure

DirectoryDescription
goodwatch-benchmark/Load tests and Lighthouse before-and-after comparisons
goodwatch-webapp/Remix web application (frontend + API)
goodwatch-hq/Admin tools and internal services
goodwatch-remote/Ansible deployment scripts and Windmill Workers
goodwatch-flows/Windmill data pipelines and ETL workflows
goodwatch-qdrant/Qdrant vector database for similarity search and recommendations
goodwatch-crate/CrateDB for webapp access
goodwatch-mongo/MongoDB for data pipeline storage
goodwatch-cache/Redis cache cluster configuration
goodwatch-metrics/Prometheus metrics collection
goodwatch-monitoring/Grafana dashboards and alerting
goodwatch-proxy/Caddy reverse proxy configuration

Contributing

We welcome contributions! Please feel free to submit a Pull Request.

Run Locally

Documentation Status

The following guide is outdated. If you want to contribute to the project, please join the Discord Community.

Getting started

Running the web app:

  1. Clone this repository
  2. Register for a TMDB API Key
  3. Copy .env.example to .env from /goodwatch-webapp and fill out the required secrets

You are now ready to run it locally:

cd goodwatch-webapp
npm install
npm run dev

Server Guide

Running the whole infrastructure to run GoodWatch is more complex. The guide below is far from complete at the moment.

Cache Cluster

Three Valkey 8 nodes in cluster mode, from the Compose files in goodwatch-cache/. See docs/private-redis.md for the configuration and the procedures.

Data Pipeline DB Cluster

https://medium.com/workleap/the-only-local-mongodb-replica-set-with-docker-compose-guide-youll-ever-need-2f0b74dd8384

openssl rand -base64 756 > mongodb-keyfile

https://github.com/csuka/ansible_role_mongodb_ubuntu

ansible-galaxy collection install community.mongodb
ansible-galaxy install csuka.mongodb_ubuntu
ansible-playbook -i inventory.ini playbook.yml

Windmill Server & Workers

TODO

Adding a new Server

Install Packages
apt-get install make fzf
Install Docker

https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

Git Repository
git clone https://github.com/alp82/goodwatch-monorepo.git
Grafana Exporter
Windmill Worker
Backup

sshfs

apt-get update && apt-get install sshfs

fstab

u123456-subX@u123456-subX.your-storagebox.de:/home /mnt/backup-xxx fuse.sshfs _netdev,port=23,IdentityFile=/root/.ssh/id_rsa,allow_other,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 0 0

uv

curl -LsSf https://astral.sh/uv/install.sh | sh

Troubleshooting

Not enough disc space
docker image prune -a
docker builder prune
Relocate docker root directory

https://www.ibm.com/docs/en/z-logdata-analytics/5.1.0?topic=compose-relocating-docker-root-directory

Reviews

No reviews yet

Be the first to review this server!