Skip to main content
Glama

Weather MCP Service

by Philip-Walsh
ringBufferTransport.ts1.12 kB
import { Transform } from 'stream'; import Transport from 'winston-transport'; interface RingBufferTransportOptions { size?: number; } export class RingBufferTransport extends Transport { private buffer: any[] = []; private readonly size: number; constructor(options: RingBufferTransportOptions = {}) { super(); this.size = options.size || 1000; } log(info: any, callback: Function) { setImmediate(() => { this.emit('logged', info); }); // Add to ring buffer this.buffer.push(info); // Remove oldest entries if buffer is full if (this.buffer.length > this.size) { this.buffer.shift(); } callback(); } getLogs(limit?: number): any[] { const count = limit || this.buffer.length; return this.buffer.slice(-count); } clearLogs(): void { this.buffer = []; } getLogCount(): number { return this.buffer.length; } } // Singleton instance for monitoring export const ringBufferTransport = new RingBufferTransport({ size: 1000 });

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/Philip-Walsh/weathernode'

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