Skip to main content
Glama

SpiderFoot MCP Server

test-spiderfoot-direct.js2.88 kB
// Test script to directly interact with SpiderFoot API import axios from 'axios'; const SPIDERFOOT_BASE_URL = 'http://localhost:5001'; async function testSpiderFootAPI() { const client = axios.create({ baseURL: SPIDERFOOT_BASE_URL, timeout: 10000, headers: { 'Accept': 'application/json' } }); try { // 1. Test ping endpoint console.log('1. Testing ping endpoint...'); const pingResponse = await client.get('/ping'); console.log('Ping response:', pingResponse.data); // 2. List available modules console.log('\n2. Listing available modules...'); const modulesResponse = await client.get('/modules'); console.log('Available modules:', modulesResponse.data); // 3. List event types console.log('\n3. Listing event types...'); const eventTypesResponse = await client.get('/eventtypes'); console.log('Event types:', eventTypesResponse.data); // 4. List scans console.log('\n4. Listing scans...'); const scansResponse = await client.get('/scanlist'); console.log('Scans:', scansResponse.data); // 5. Start a new scan (example with minimal parameters) console.log('\n5. Starting a new scan...'); const scanParams = new URLSearchParams(); scanParams.append('scanname', 'test-scan-' + Date.now()); scanParams.append('scantarget', 'example.com'); scanParams.append('modulelist', 'sfp_dnsresolve,sfp_whois'); scanParams.append('typelist', 'DOMAIN_NAME'); scanParams.append('usecase', 'investigate'); const startScanResponse = await client.post('/scannew', scanParams, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }); console.log('Scan started:', startScanResponse.data); if (startScanResponse.data.status === 'RUNNING' && startScanResponse.data.id) { const scanId = startScanResponse.data.id; console.log(`\n6. Getting info for scan ${scanId}...`); // 6. Get scan info const scanInfoResponse = await client.get('/scaninfo', { params: { id: scanId } }); console.log('Scan info:', scanInfoResponse.data); // 7. Get scan results console.log(`\n7. Getting results for scan ${scanId}...`); const scanResultsResponse = await client.get('/results', { params: { id: scanId } }); console.log('Scan results:', scanResultsResponse.data); } } catch (error) { console.error('\n❌ Error testing SpiderFoot API:'); if (error.response) { console.error('Status:', error.response.status); console.error('Data:', error.response.data); } else if (error.request) { console.error('No response received. Is the SpiderFoot server running?'); } else { console.error('Error:', error.message); } process.exit(1); } } // Run the test testSpiderFootAPI();

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