Skip to main content
Glama
Racimy

Allociné MCP Server

README.md
# Allociné MCP Server

Ce serveur MCP (Model Context Protocol) permet de récupérer des informations sur les films et les séances de cinéma depuis Allociné.

## Fonctionnalités

- **Recherche de films** : Trouvez l'ID Allociné d'un film à partir de son titre.
- **Récupération des séances sur plusieurs jours** : Obtenez les horaires, cinémas et formats (VF, VOST, 3D, IMAX) pour un film donné dans une ville ou un code postal spécifique.

## Installation et Utilisation

### Prérequis

- Node.js installé (v16 ou supérieur recommandé).

### Installation

1.  Clonez ce dépôt ou copiez les fichiers.
2.  Installez les dépendances :
    ```bash
    npm install
    ```
3.  Compilez le projet :
    ```bash
    npm run build
    ```

### Configuration pour un Client MCP (ex: Claude Desktop)

Ajoutez la configuration suivante à votre fichier de paramètres MCP :

```json
{
  "mcpServers": {
    "allocine": {
      "command": "node",
      "args": ["/chemin/vers/allocine-mcp-server/build/index.js"]
    }
  }
}
```

## Outils Disponibles

### `search_movies`
Recherche un film par titre.
- `query` (string): Titre du film (ex: "Dune", "Le Parrain").

### `get_movies_now_showing`
Récupère la liste des films actuellement à l'affiche.
- `max_pages` (number, optionnel): Nombre de pages à charger (environ 15 films par page, défaut: 10).

### `search_cinemas`
Recherche un cinéma par nom ou ville.
- `query` (string): Nom du cinéma ou ville.

### `get_showtimes`
Récupère les séances pour un film et un lieu.
- `movie_id` (string): L'ID du film (obtenu via `search_movies`).
- `location` (string): Code postal (ex: "75001") ou nom de ville (ex: "Lyon").
- `date` (string, optionnel): Date cible (`YYYY-MM-DD` ou `DD/MM/YYYY`). Si renseignée, seules les séances de ce jour sont récupérées.
- Les séances sont renvoyées sur plusieurs jours par défaut, chaque horaire peut inclure un champ `date`.

### `get_cinema_showtimes`
Récupère la programmation complète d'un cinéma.
- `cinema_id` (string): L'ID Allociné du cinéma (ex: `C0013`).
- `date` (string, optionnel): Date cible (`YYYY-MM-DD` ou `DD/MM/YYYY`). Si renseignée, seule cette journée est récupérée.

### `get_cinemas_by_card`
Liste les cinémas acceptant une carte spécifique.
- `card_type` (string): `ugc` (UGC Illimité) ou `pathe` (Pathé Cinépass).
- `location` (string, optionnel): Code postal ou ville (défaut: Saint-Denis).

### `get_movie_booking_links`
Récupère les liens de réservation pour un film dans un cinéma donné.
- `movie_id` (string): L'ID Allociné du film.
- `cinema_id` (string): L'ID Allociné du cinéma.


## Note sur le Scraping
Ce serveur utilise le scraping de pages HTML via `axios` et `cheerio`. Il est dépendant de la structure du site Allociné. Si le site change, le serveur peut nécessiter une mise à jour.