Skip to main content
Glama

MCP JSON-RPC Server

// client.js const net = require('net'); // Helper function to create a JSON-RPC request with a newline function createRequest (id, method, params) { const request = JSON.stringify({ jsonrpc: "2.0", id: id, method: method, params: params }) + "\n"; console.log("Sending request:", JSON.stringify(JSON.parse(request), null, 2)); return request; } const client = new net.Socket(); client.connect(4000, '127.0.0.1', () => { console.log('Connected to server.'); // Send an "initialize" request (ID 1) client.write(createRequest(1, "initialize", { capabilities: {} })); // After a short delay, send an "echo" request (ID 2) setTimeout(() => { client.write(createRequest(2, "echo", { message: "Hello, MCP!" })); }, 500); }); let buffer = ""; client.on('data', (data) => { buffer += data.toString(); let lines = buffer.split("\n"); buffer = lines.pop(); // keep incomplete messages in the buffer lines.forEach((line) => { if (!line) return; try { const message = JSON.parse(line); console.log("Received response:", JSON.stringify(message, null, 2)); } catch (err) { console.error("Error parsing response:", err); } }); }); client.on('close', () => { console.log('Connection closed.'); });

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/melvincarvalho/mcpjs'

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