Skip to main content
Glama
verify_mcp.ts2.16 kB
import { EventSource } from 'eventsource'; import fetch from 'node-fetch'; async function testServer() { console.log('1. Connecting to SSE...'); // We connect to the local server directly to verify the code logic const eventSource = new EventSource('http://localhost:3000/sse'); eventSource.onopen = () => { console.log('✅ SSE Connection Opened!'); }; eventSource.onmessage = async (event) => { console.log('📩 Received Event:', event.data); const data = JSON.parse(event.data); // Standard MCP flow: Server sends "endpoint" event telling us where to POST if (event.type === 'endpoint') { const postUrl = `http://localhost:3000${data}`; console.log(`2. Server instructed to POST to: ${postUrl}`); // Simulate n8n sending "initialize" const payload = { jsonrpc: "2.0", id: 1, method: "initialize", params: { protocolVersion: "2024-11-05", capabilities: {}, clientInfo: { name: "test-script", version: "1.0" } } }; try { console.log('3. Sending JSON-RPC Initialize...'); const response = await fetch(postUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); if (response.ok) { console.log(`✅ POST Success! Status: ${response.status}`); console.log('🎉 SERVER IS WORKING CORRECTLY (Logic Proof)'); } else { console.error(`❌ POST Failed: ${response.status} ${response.statusText}`); } } catch (err) { console.error('❌ POST Error:', err); } finally { eventSource.close(); process.exit(0); } } }; eventSource.onerror = (err) => { console.error('❌ SSE Error:', err); }; } testServer();

Latest Blog Posts

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/cscrespo/gaia-health-mcp'

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