Skip to main content
Glama

Agent MCP

portChecker.ts1.75 kB
// Port availability checker for Agent-MCP // Checks if ports are available before starting server import { createServer } from 'net'; export async function isPortAvailable(port: number): Promise<boolean> { return new Promise((resolve) => { const server = createServer(); server.listen(port, () => { server.once('close', () => { resolve(true); }); server.close(); }); server.on('error', () => { resolve(false); }); }); } export async function findAvailablePort(startPort: number = 3001, maxPort: number = 3100): Promise<number> { for (let port = startPort; port <= maxPort; port++) { if (await isPortAvailable(port)) { return port; } } throw new Error(`No available ports found between ${startPort} and ${maxPort}`); } export async function getPortStatus(ports: number[]): Promise<{ port: number; available: boolean; }[]> { const results = await Promise.all( ports.map(async (port) => ({ port, available: await isPortAvailable(port) })) ); return results; } export async function getPortRecommendations(): Promise<number[]> { const commonRanges = [ // Common development ports { start: 3000, end: 3010 }, { start: 8000, end: 8010 }, { start: 9000, end: 9010 }, { start: 5000, end: 5010 }, { start: 4000, end: 4010 } ]; const availablePorts: number[] = []; for (const range of commonRanges) { for (let port = range.start; port <= range.end; port++) { if (await isPortAvailable(port)) { availablePorts.push(port); if (availablePorts.length >= 10) { // Limit to first 10 available return availablePorts; } } } } return availablePorts; }

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/rinadelph/Agent-MCP'

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