Movies MCP Server

A production-ready **Model Context Protocol (MCP) server** for intelligent movie database management, built with Clean Architecture principles and

Local serverstdioGo

What is the Movies MCP server?

Movies MCP server exists for a simple reason — assistants are far more useful when they can act on Movies directly instead of describing what you should do. A production-ready Model Context Protocol (MCP) server for intelligent movie database management, built with Clean Architecture principles and optimized for.

What you get

Movies MCP Server is a sophisticated movie database management system that communicates via the Model Context Protocol—designed specifically for integration with AI assistants like Claude. Unlike traditional HTTP APIs, it uses JSON-RPC over stdin/stdout to provide seamless, intelligent movie and actor data operations.

  • MCP Protocol Native — Built specifically for the Model Context Protocol using the official Golang SDK
  • Type-Safe & Modern — Leverages official SDK for compile-time validation and automatic schema generation
  • Clean Architecture — Exemplary separation of concerns with domain-driven design
  • Intelligent Features — AI-powered recommendations, director career analysis, and similarity searches
  • Comprehensive Actor Management — Full actor database with movie associations and career tracking
  • Production-Ready — Health checks, Prometheus metrics, Grafana dashboards, and comprehensive monitoring

What the assistant can call

Once Movies is connected, these are the calls the assistant has available:

  • get_movie — Retrieve movie by ID
  • add_movie — Create movie with title, director, year, rating, genres, poster
  • update_movie — Update existing movie details
  • delete_movie — Delete movie by ID
  • list_top_movies — Get top-rated movies with configurable limit
  • search_movies — Multi-criteria search (title, director, genre, year range, rating)
  • search_by_decade — Find movies from specific decades (1990s, 2000s, etc.)
  • search_by_rating_range — Filter movies by rating boundaries
  • add_actor — Create actor with name, birth year, biography
  • get_actor — Retrieve actor by ID
  • update_actor — Update actor information
  • delete_actor — Delete actor

Configuration and credentials

You will need 7 environment variables: DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, DB_SSLMODE, DATABASE_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Go 1.24.4 or later - Docker and Docker Compose (optional, for database) - PostgreSQL 17 (or use Docker-based setup) - Make (optional, for easier commands)

Setting it up

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.

Choosing this one

Among the monitoring and observability options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Movies's toolset — get_movie, add_movie, update_movie and 11 more — is a fair guide to whether it matches your workflow. It is maintained by francknouama; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Movies.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the movies mcp server does with a few real requests.

Available tools

ToolWhat it does
get_movieRetrieve movie by ID
add_movieCreate movie with title, director, year, rating, genres, poster
update_movieUpdate existing movie details
delete_movieDelete movie by ID
list_top_moviesGet top-rated movies with configurable limit
search_moviesMulti-criteria search (title, director, genre, year range, rating)
search_by_decadeFind movies from specific decades (1990s, 2000s, etc.)
search_by_rating_rangeFilter movies by rating boundaries
add_actorCreate actor with name, birth year, biography
get_actorRetrieve actor by ID
update_actorUpdate actor information
delete_actorDelete actor
link_actor_to_movieAssociate actor with movie
unlink_actor_from_movieRemove actor-movie association

How to install the Movies MCP server

{
  "mcpServers": {
    "movies": {
      "command": "/absolute/path/to/movies-mcp-server-sdk",
      "args": [],
      "env": {
        "DB_HOST": "localhost",
        "DB_PORT": "5432",
        "DB_USER": "movies_user",
        "DB_PASSWORD": "movies_password",
        "DB_NAME": "movies_mcp",
        "DB_SSLMODE": "disable"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Go 1.24.4 or later - Docker and Docker Compose (optional, for database) - PostgreSQL 17 (or use Docker-based setup) - Make (optional, for easier commands)
VariableDescriptionRequired
DB_HOSTEndpoint or connection string the server talks to.Optional
DB_PORTConfiguration value read at startup.Optional
DB_USERConfiguration value read at startup.Optional
DB_PASSWORDConfiguration value read at startup.Optional
DB_NAMEConfiguration value read at startup.Optional
DB_SSLMODEConfiguration value read at startup.Optional
DATABASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Movies to get movie.
  • Use Movies to add movie.
  • Use Movies to update movie.

Frequently asked questions

It connects Movies to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (get_movie, add_movie, update_movie, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Movies directly.