Skip to main content
Glama

Slack MCP Server

by lbeatu
memory.storage.ts1.28 kB
import { IStorageService } from "../../core/interfaces/storage.interface.js"; export class InMemoryStorage<T = any> implements IStorageService<T> { private storage = new Map<string, { data: T; timestamp: number }>(); private ttl: number; constructor(ttlMinutes: number = 60) { this.ttl = ttlMinutes * 60 * 1000; // Convert to milliseconds // Clean up expired items every 10 minutes setInterval(() => { this.cleanup(); }, 10 * 60 * 1000); } get(key: string): T | undefined { const item = this.storage.get(key); if (!item) { return undefined; } // Check if item has expired if (Date.now() - item.timestamp > this.ttl) { this.storage.delete(key); return undefined; } return item.data; } set(key: string, value: T): void { this.storage.set(key, { data: value, timestamp: Date.now(), }); } delete(key: string): boolean { return this.storage.delete(key); } cleanup(): void { const now = Date.now(); for (const [key, item] of this.storage.entries()) { if (now - item.timestamp > this.ttl) { this.storage.delete(key); } } } size(): number { return this.storage.size; } clear(): void { this.storage.clear(); } }

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/lbeatu/slack-mcp'

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