Skip to main content
Glama
movie-reservation-platform-lab

Movie Recommendation MCP

映画レコメンデーション MCP

Rust 製映画レコメンデーション API をラップする FastMCP ラッパーです。

このリポジトリは、MCP コンポーネントが独立した CI とアーティファクトパイプラインを持てるように、 movie-reservation-platform-lab/movie-recommendation-service/axum-tools-mcp から抽出されました。

実行

uv run movie-recommendation-mcp

本番コンテナは UID 10001 で実行され、ポート 8092 で待ち受けます:

docker build --tag movie-recommendation-mcp:local .
docker run --rm --network host movie-recommendation-mcp:local

このデモは、MCP とレコメンデーション API のコンテナが 1 つの ECS タスクネットワーク名前空間を共有することを前提としているため、 デフォルトのダウンストリームアドレスは 127.0.0.1:8082 のままです。コンテナを個別に実行する場合は、ダウンストリーム URL を上書きしてください。

デフォルト:

  • MCP エンドポイント: http://127.0.0.1:8092/mcp

  • ヘルスエンドポイント: http://127.0.0.1:8092/health

  • ダウンストリーム API: http://127.0.0.1:8082

便利な環境変数:

  • MOVIE_RECOMMENDATION_API_URL

  • AXUM_TOOLS_API_URL (元のデモ抽出との互換性用)

  • PORT

  • HOST

  • OTEL_SERVICE_NAME

  • OTEL_EXPORTER_OTLP_ENDPOINT

  • OTEL_EXPORTER_OTLP_PROTOCOL

  • OTEL_RESOURCE_ATTRIBUTES

Related MCP server: Weather Info MCP Server

ツール

  • recommendation_get_movies

    • 入力: limit、任意の preference、任意の fault、任意の traceparent、任意の tracestate、任意の correlation_id、任意の request_id、任意の demo_fault

    • Rust の GET /recommendations を呼び出します。

    • 成功ペイロード: {"ok": true, "service_name": "movie-recommendation-mcp", "fault": "<fault-or-none>", "recommendations": [...]}

    • ダウンストリームエラーペイロード: {"ok": false, "service_name": "movie-recommendation-mcp", "fault": "<fault-or-none>", "status_code": <int>, "error": "recommendation_dependency_failed"}

  • recommendation_health

    • 入力: 任意の traceparent、任意の tracestate、任意の correlation_id、任意の request_id、任意の demo_fault

    • Rust の GET /health を呼び出します。

    • 成功ペイロード: {"ok": true, "service_name": "movie-recommendation-mcp", "health": {...}}

両方のツールが転送するもの:

  • traceparent

  • tracestate

  • X-Correlation-Id

  • X-Request-Id

  • X-Demo-Fault

抽出に関する決定事項

  • この抽出スライスでは、内部 Python インポートパスを axum_tools_mcp のままにします。公開パッケージ、コンソールスクリプト、サービス名、イメージ、リポジトリはすでに movie-recommendation-mcp と命名されているため、インポートパスを変更すると、エージェントが消費する外部 MCP コントラクトを変更することなく、変更の手間が増えるだけです。

  • ツール名 recommendation_get_moviesrecommendation_health を維持します。実績のある予約エージェントのデモでは、recommendation_get_movies を許可リストに登録し、limitpreferencefault、および伝播引数を指定して呼び出していました。

  • AXUM_TOOLS_API_URL を互換性のためのフォールバックとして維持しますが、新しいランタイム設定では MOVIE_RECOMMENDATION_API_URL を優先します。

アーティファクト契約

プラットフォームインフラストラクチャは、このコンポーネントをソースコードではなく、不変のアプリケーションアーティファクトとして消費します:

  • このリポジトリの Dockerfile からビルドされた OCI イメージ。

  • ダイジェストで固定されたプライベート ECR イメージ参照: <account>.dkr.ecr.<region>.amazonaws.com/movie-recommendation-mcp@sha256:<64-hex-digest>

  • Git コミット SHA やリリースバージョンなどの個別のリリース識別子。消費側の環境/インフラリポジトリによってダイジェストとともに記録されます。

  • ランタイムコマンド: movie-recommendation-mcp

  • コンテナポートとデフォルトの PORT: 8092

  • MCP エンドポイント: /mcp

  • ヘルスエンドポイント: /health

  • 必要なランタイム設定は環境駆動型です。ダウンストリーム API URL は MOVIE_RECOMMENDATION_API_URL または互換性フォールバックの AXUM_TOOLS_API_URL で指定されます。

  • デプロイ構成、環境マニフェスト、プロモーション状態、AWS リソースはこのリポジトリの外部にあります。

チェック

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 automation

main へのプッシュは、Linux AMD64 の候補を GHCR に sha-<commit> として公開します。CI は BuildKit の自動レジストリ証明を無効にして、候補を単一イメージマニフェストに保ち、その後、環境アドミッションゲートのために公開されたダイジェストに対して明示的な GitHub ビルドの来歴を記録します。

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    D
    quality
    D
    maintenance
    An 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.
    5
    13
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
  • F
    license
    A
    quality
    D
    maintenance
    An 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
  • A
    license
    A
    quality
    C
    maintenance
    FastMCP 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.
    8
    1
    MIT

View all related MCP servers

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)

View all MCP Connectors

Latest Blog Posts

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