import { createServer } from 'node:net';
/**
* Finds an available port by letting the OS assign one dynamically.
* This is to prevent the address already in use errors to prevent flaky tests.
* @returns Promise<number> - An available port assigned by the OS
*/
export async function getAvailablePort(): Promise<number> {
return new Promise((resolve, reject) => {
const server = createServer();
server.listen(0, () => {
const { port } = server.address() as { port: number };
server.close(() => resolve(port));
});
server.on('error', reject);
});
}
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/apify/actors-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server