Movie Recommendation MCP
Movie Recommendation MCP
Wrapper de FastMCP alrededor de la API de recomendación de películas en Rust.
Este repositorio se extrajo de movie-reservation-platform-lab/movie-recommendation-service/axum-tools-mcp para que el componente MCP pueda tener un pipeline de CI y artefactos independiente.
Ejecución
uv run movie-recommendation-mcpEl contenedor de producción se ejecuta como UID 10001 y escucha en el puerto 8092:
docker build --tag movie-recommendation-mcp:local .
docker run --rm --network host movie-recommendation-mcp:localLa demo asume que los contenedores de MCP y de la API de recomendación comparten el mismo namespace de red de la tarea ECS, por lo que la dirección downstream predeterminada sigue siendo 127.0.0.1:8082. Sobrescribe la URL downstream al ejecutar los contenedores de forma independiente.
Valores predeterminados:
Endpoint MCP:
http://127.0.0.1:8092/mcpEndpoint de salud:
http://127.0.0.1:8092/healthAPI downstream:
http://127.0.0.1:8082
Variables de entorno útiles:
MOVIE_RECOMMENDATION_API_URLAXUM_TOOLS_API_URLpara compatibilidad con la extracción de la demo originalPORTHOSTOTEL_SERVICE_NAMEOTEL_EXPORTER_OTLP_ENDPOINTOTEL_EXPORTER_OTLP_PROTOCOLOTEL_RESOURCE_ATTRIBUTES
Related MCP server: Weather Info MCP Server
Herramientas
recommendation_get_moviesEntradas:
limit,preferenceopcional,faultopcional,traceparentopcional,tracestateopcional,correlation_idopcional,request_idopcional ydemo_faultopcional.Llama a Rust
GET /recommendations.Payload de éxito:
{"ok": true, "service_name": "movie-recommendation-mcp", "fault": "<fault-or-none>", "recommendations": [...]}Payload de error downstream:
{"ok": false, "service_name": "movie-recommendation-mcp", "fault": "<fault-or-none>", "status_code": <int>, "error": "recommendation_dependency_failed"}
recommendation_healthEntradas:
traceparentopcional,tracestateopcional,correlation_idopcional,request_idopcional ydemo_faultopcional.Llama a Rust
GET /health.Payload de éxito:
{"ok": true, "service_name": "movie-recommendation-mcp", "health": {...}}
Ambas herramientas reenvían:
traceparenttracestateX-Correlation-IdX-Request-IdX-Demo-Fault
Decisiones de extracción
Mantener la ruta de importación interna de Python como
axum_tools_mcppara este fragmento de extracción. El paquete público, el script de consola, el nombre del servicio, la imagen y el repositorio ya se llamanmovie-recommendation-mcp; renombrar la ruta de importación añadiría trabajo innecesario sin cambiar el contrato MCP externo que consume el agente.Mantener los nombres de las herramientas
recommendation_get_moviesyrecommendation_health. La demo probada del agente de reservas incluyórecommendation_get_moviesen la lista blanca y la llamó con los argumentoslimit,preference,faulty de propagación.Mantener
AXUM_TOOLS_API_URLcomo respaldo de compatibilidad, pero preferirMOVIE_RECOMMENDATION_API_URLpara la nueva configuración en tiempo de ejecución.
Contrato del artefacto
La infraestructura de la plataforma consume este componente como un artefacto de aplicación inmutable, no como código fuente:
Imagen OCI construida a partir del
Dockerfilede este repositorio.Referencia de imagen ECR privada fijada por digest:
<account>.dkr.ecr.<region>.amazonaws.com/movie-recommendation-mcp@sha256:<64-hex-digest>.Identificador de release independiente, como el SHA del commit de Git o la versión de release, registrado junto al digest por el repositorio de entorno/infraestructura que consume el componente.
Comando de ejecución:
movie-recommendation-mcp.Puerto del contenedor y
PORTpredeterminado:8092.Endpoint MCP:
/mcp.Endpoint de salud:
/health.La configuración de ejecución requerida se define mediante variables de entorno; la URL de la API downstream se proporciona con
MOVIE_RECOMMENDATION_API_URLo con el respaldo de compatibilidadAXUM_TOOLS_API_URL.La composición del despliegue, los manifiestos de entorno, el estado de promoción y los recursos de AWS quedan fuera de este repositorio.
Comprobaciones
uv sync --frozen
uv run --frozen --no-sync pytest tests
uv run --frozen --no-sync pytest automation/tests
uv run --frozen --no-sync ruff check .
uv run --frozen --no-sync ruff format --check .
uv run --frozen --no-sync python -m compileall src tests automationLos pushes a main publican un candidato Linux AMD64 en GHCR como sha-<commit>. El CI desactiva la atestación automática de registro de BuildKit para mantener el candidato como un manifiesto de imagen única y, a continuación, registra la procedencia explícita de la compilación de GitHub contra el digest publicado para la puerta de admisión del entorno.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseDqualityDmaintenanceAn MCP server that allows users to search for movies, get detailed information, receive genre-based recommendations, and discover popular/trending films using OMDb and TMDb APIs.513MIT
- FlicenseNot gradedqualityDmaintenanceProvides weather information through MCP tools integrated with a FastAPI backend, enabling users to query current weather for single or multiple cities and check API health status.
- FlicenseAqualityDmaintenanceAn MCP server that wraps The Movie Database (TMDB) API, enabling search for movies and TV shows, retrieval of movie details, recommendations, similar movies, trending content, streaming providers, and movie discovery.8
- AlicenseAqualityCmaintenanceFastMCP server to interact with the Overseerr API for movie and TV show requests management, enabling users to request media, search, and manage libraries via natural language.81MIT
Related MCP Connectors
performance-review MCP — wraps StupidAPIs (requires X-API-Key)
jargon-translator MCP — wraps StupidAPIs (requires X-API-Key)
OMDb MCP — IMDB-derived movie / TV / episode data (BYO key)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/movie-reservation-platform-lab/movie-recommendation-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server