Skip to main content
Glama
test_avatar.ts2.73 kB
import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js"; async function main() { const transport = new StdioClientTransport({ command: "node", args: ["./build/index.js"], }); const client = new Client( { name: "test-client-avatar", version: "1.0.0" }, { capabilities: {} } ); await client.connect(transport); console.log("✅ Connecté au serveur."); try { // 1. Recherche console.log("\n🔍 Recherche de 'Avatar feu et cendres'..."); const searchResult = await client.callTool({ name: "search_movies", arguments: { query: "Avatar feu et cendres" }, }); // @ts-ignore const movies = JSON.parse(searchResult.content[0].text); const movie = movies.find((m: any) => m.title.toLowerCase().includes("avatar")); if (!movie) { console.error("❌ Film non trouvé !"); console.log("Résultats bruts:", movies); return; } console.log(`✅ Film trouvé: ${movie.title} (ID: ${movie.id})`); // 2. Séances à Paris console.log(`\n🎟️ Récupération des séances à Paris...`); const showtimesResult = await client.callTool({ name: "get_showtimes", arguments: { movie_id: movie.id, location: "Paris", }, }); // @ts-ignore const showtimesData = showtimesResult.content[0].text; if (showtimesData.startsWith("No showtimes")) { console.log("❌ Aucune séance trouvée aujourd'hui à Paris."); return; } const cinemas = JSON.parse(showtimesData); // 3. Filtrer pour Pathé Alésia console.log(`\n🏢 Recherche du cinéma 'Pathé Alésia' parmi ${cinemas.length} résultats...`); const otherCinema = cinemas.find((c: any) => c.cinemaName.toLowerCase().includes("pathé alésia") ); if (otherCinema) { console.log(`✅ Cinéma sélectionné : ${otherCinema.cinemaName}`); console.log(`📍 Adresse: ${otherCinema.cinemaAddress}`); console.log("🕒 Séances:"); otherCinema.formats.forEach((fmt: any) => { console.log(` - Format: ${fmt.type}`); fmt.showtimes.forEach((s: any) => { const amenities = s.amenities ? ` [${s.amenities.join(", ")}]` : ""; console.log(` 🕒 ${s.startTime}${amenities} ${s.bookingUrl ? `(👉 ${s.bookingUrl})` : "(pas de lien)"}`); }); }); } else { console.warn("⚠️ Aucun autre cinéma trouvé."); } } catch (error) { console.error("❌ Erreur:", error); } finally { await client.close(); } } main().catch(console.error);

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