Skip to main content
Glama
test_final.js4.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js"); const stdio_js_1 = require("@modelcontextprotocol/sdk/client/stdio.js"); async function main() { const transport = new stdio_js_1.StdioClientTransport({ command: "node", args: ["./build/index.js"], }); const client = new index_js_1.Client({ name: "final-test", version: "1.1.0" }, { capabilities: {} }); await client.connect(transport); console.log("🚀 Connecté au serveur MCP Allociné.\n"); try { // 1. Tool: get_movies_now_showing console.log("--- Test: get_movies_now_showing ---"); const nowShowing = await client.callTool({ name: "get_movies_now_showing", arguments: { max_pages: 1 } }); // @ts-ignore const moviesList = JSON.parse(nowShowing.content[0].text); console.log(`✅ ${moviesList.length} films récupérés à l'affiche.`); console.log(` Exemples: ${moviesList.slice(0, 3).map((m) => m.title).join(", ")}\n`); // 2. Tool: search_movies console.log("--- Test: search_movies ---"); const searchAvatar = await client.callTool({ name: "search_movies", arguments: { query: "Avatar feu et cendres" } }); // @ts-ignore const avatar = JSON.parse(searchAvatar.content[0].text)[0]; console.log(`✅ Film trouvé: ${avatar.title} (ID: ${avatar.id})\n`); const searchWicked = await client.callTool({ name: "search_movies", arguments: { query: "Wicked partie II" } }); // @ts-ignore const wicked = JSON.parse(searchWicked.content[0].text)[0]; console.log(`✅ Film trouvé: ${wicked.title} (ID: ${wicked.id})\n`); // 3. Tool: get_showtimes (Default location: Saint-Denis) console.log(`--- Test: get_showtimes pour Avatar à Saint-Denis (Défaut) ---`); const showtimes = await client.callTool({ name: "get_showtimes", arguments: { movie_id: avatar.id } }); // @ts-ignore const cinemas = JSON.parse(showtimes.content[0].text); console.log(`✅ Séances trouvées dans ${cinemas.length} cinémas proches de Saint-Denis.`); if (cinemas.length > 0) { const c = cinemas[0]; console.log(` Exemple: ${c.cinemaName}`); console.log(` Cartes: ${Object.entries(c.cards).filter(([_, v]) => v).map(([k]) => k).join(", ") || "Aucune détectée"}`); const s = c.formats[0].showtimes[0]; console.log(` Séance: ${s.startTime}${s.amenities ? ` [${s.amenities.join(", ")}]` : ""}`); } console.log(""); // 4. Tool: search_cinemas console.log("--- Test: search_cinemas ('Pathé Saint-Denis') ---"); const searchCin = await client.callTool({ name: "search_cinemas", arguments: { query: "Pathé Saint-Denis" } }); // @ts-ignore const cinemasFound = JSON.parse(searchCin.content[0].text); const patheSD = cinemasFound[0]; console.log(`✅ Cinéma trouvé: ${patheSD.name} (ID: ${patheSD.id})`); console.log(` Cartes: ${Object.entries(patheSD.cards).filter(([_, v]) => v).map(([k]) => k).join(", ")}\n`); // 5. Tool: get_cinema_showtimes console.log(`--- Test: get_cinema_showtimes pour ${patheSD.name} ---`); const program = await client.callTool({ name: "get_cinema_showtimes", arguments: { cinema_id: patheSD.id } }); // @ts-ignore const progData = JSON.parse(program.content[0].text); console.log(`✅ Programmation récupérée: ${progData.movies.length} films à l'affiche.`); console.log(` Cartes sur page: ${Object.entries(progData.cards).filter(([_, v]) => v).map(([k]) => k).join(", ")}`); const firstMovie = progData.movies[0]; console.log(` Exemple: ${firstMovie.movieTitle} - ${firstMovie.formats[0].showtimes.length} séances\n`); // 6. Tool: get_cinemas_by_card console.log("--- Test: get_cinemas_by_card (UGC à Paris) ---"); const ugcParis = await client.callTool({ name: "get_cinemas_by_card", arguments: { card_type: "ugc", location: "Paris" } }); // @ts-ignore const ugcList = JSON.parse(ugcParis.content[0].text); console.log(`✅ ${ugcList.length} cinémas UGC Illimité trouvés à Paris.`); console.log(` Ex: ${ugcList.slice(0, 2).map((c) => c.name).join(", ")}\n`); } catch (error) { console.error("❌ Erreur pendant le test:", error); } finally { await client.close(); } } main();

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/Racimy/Allocin-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server