# 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.