Skip to main content
Glama
rate-limiter.js•1.28 kB
#!/usr/bin/env node /** * Rate Limiter for Bug Bounty Hunting * Ensures compliance with program rate limits (max 2 requests/sec) */ class RateLimiter { constructor(maxRequestsPerSecond = 2) { this.maxRequestsPerSecond = maxRequestsPerSecond; this.delayBetweenRequests = 1000 / maxRequestsPerSecond; // 500ms for 2 req/sec this.lastRequestTime = 0; this.queue = []; this.processing = false; } /** * Wait for the appropriate delay before making a request */ async wait() { const now = Date.now(); const timeSinceLastRequest = now - this.lastRequestTime; if (timeSinceLastRequest < this.delayBetweenRequests) { const waitTime = this.delayBetweenRequests - timeSinceLastRequest; await new Promise(resolve => setTimeout(resolve, waitTime)); } this.lastRequestTime = Date.now(); } /** * Execute a function with rate limiting */ async execute(fn) { await this.wait(); return await fn(); } /** * Execute multiple functions with rate limiting */ async executeAll(functions) { const results = []; for (const fn of functions) { const result = await this.execute(fn); results.push(result); } return results; } } module.exports = RateLimiter;

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/telmon95/VulneraMCP'

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