Skip to main content
Glama

SpiderFoot MCP Server

test-session-id.js1.98 kB
// Simple test script to verify session ID handling with the MCP server import axios from 'axios'; const MCP_SERVER_URL = 'http://localhost:5002/mcp'; async function testSessionHandling() { try { // 1. Initialize the session console.log('1. Initializing session...'); const initResponse = await axios.post(MCP_SERVER_URL, { jsonrpc: '2.0', method: 'initialize', params: { protocolVersion: '1.0', clientInfo: { name: 'test-session', version: '1.0.0' }, capabilities: {} }, id: 1 }); // 2. Extract session ID from response headers (case-insensitive) const headers = initResponse.headers || {}; const sessionHeader = Object.entries(headers).find( ([key]) => key.toLowerCase() === 'mcp-session-id' ); if (!sessionHeader) { console.error('No session ID in response headers'); console.log('Response headers:', headers); return; } const sessionId = sessionHeader[1]; console.log('Session ID:', sessionId); // 3. Make a request with the session ID console.log('\n2. Making request with session ID...'); const toolsResponse = await axios.post(MCP_SERVER_URL, { jsonrpc: '2.0', method: 'mcp.list_tools', params: {}, id: 2 }, { headers: { 'Content-Type': 'application/json', 'Accept': 'application/json, text/event-stream', 'mcp-session-id': sessionId } }); console.log('Response status:', toolsResponse.status); console.log('Response headers:', toolsResponse.headers); console.log('Response data:', toolsResponse.data); } catch (error) { console.error('Test failed:', error.message); if (error.response) { console.error('Response status:', error.response.status); console.error('Response headers:', error.response.headers); console.error('Response data:', error.response.data); } } } testSessionHandling();

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/CorbettCajun/Spiderfoot-MCP-Server'

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