Skip to main content
Glama
main.js1.55 kB
require("lunar-interceptor"); const https = require('https'); const readline = require('readline'); const URL = 'https://catfact.ninja/fact'; const SLEEP_INTERVAL_IN_SEC = 2000; // milliseconds const X_LUNAR_CONSUMER_TAG = 'lunar-example-app'; let intervalId = -1; const userInteraction = readline.createInterface({ input: process.stdin, output: process.stdout }) const getCatFact = () => { const options = { headers: { 'x-lunar-consumer-tag': X_LUNAR_CONSUMER_TAG } }; https.get(URL, options, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log(`Cat Fact: ${JSON.parse(data).fact}`); }); }).on('error', (err) => { console.log(`Error: ${err.message}`); }); }; const onExit = () => { clearInterval(intervalId); userInteraction.close(); process.exit(); } console.log('Press Enter to get Cat Facts...'); userInteraction.on('line', (_) => { if (intervalId !== -1) { console.log('Got it! Stopping the facts retrieval and exiting...'); onExit(); } else { console.log(`Will retrieve a cat fact from ${URL} every ${SLEEP_INTERVAL_IN_SEC / 1000} seconds`) console.log('Press Enter to stop...\n'); getCatFact() intervalId = setInterval(getCatFact, SLEEP_INTERVAL_IN_SEC); } }); userInteraction.on('SIGINT', () => { console.log('Caught interrupt signal (Ctrl+C), exiting...'); onExit(); });

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/TheLunarCompany/lunar'

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