Skip to main content
Glama

IT Tools MCP Server

index.ts•2.1 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; export function registerTelnet(server: McpServer) { server.registerTool("telnet", { description: "Test TCP connectivity to a host and port", inputSchema: { target: z.string().describe("Host to connect to"), port: z.number().describe("Port number") }, // VS Code compliance annotations annotations: { title: "Telnet", description: "Test TCP connectivity to a host and port", readOnlyHint: false } }, async ({ target, port }) => { return new Promise(async (resolve) => { try { const net = (await import('net')).default; const socket = new net.Socket(); let connected = false; let banner = ''; socket.setTimeout(2000); socket.connect(port, target, () => { connected = true; }); socket.on('data', (data: Buffer) => { banner += data.toString(); // If we get a banner, close immediately socket.end(); }); socket.on('timeout', () => { socket.destroy(); if (!connected) { resolve({ content: [{ type: "text", text: `Telnet failed: Connection timed out` }] }); } else { resolve({ content: [{ type: "text", text: `Telnet to ${target}:${port} succeeded.${banner ? '\nBanner: ' + banner.trim() : ''}` }] }); } }); socket.on('error', (err: Error) => { resolve({ content: [{ type: "text", text: `Telnet failed: ${err.message}` }] }); }); socket.on('close', (hadError: boolean) => { if (connected) { resolve({ content: [{ type: "text", text: `Telnet to ${target}:${port} succeeded.${banner ? '\nBanner: ' + banner.trim() : ''}` }] }); } }); } catch (error) { resolve({ content: [{ type: "text", text: `Telnet failed: ${error instanceof Error ? error.message : error}` }] }); } }); } ); }

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/wrenchpilot/it-tools-mcp'

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