Skip to main content
Glama

spiderfoot_start_scan

Initiate a new OSINT reconnaissance scan against a specified target to gather intelligence and investigate digital footprints using SpiderFoot modules.

Instructions

Start a new scan against a target.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modulelistNo
scannameYes
scantargetYes
typelistNo
usecaseNo

Implementation Reference

  • MCP tool handler for 'spiderfoot_start_scan' that checks if scans are allowed via ALLOW_START_SCAN env var and delegates to SpiderfootClient.startScan
    async (input) => { const allow = (process.env.ALLOW_START_SCAN ?? 'true').toLowerCase(); if (!(allow === 'true' || allow === '1' || allow === 'yes')) { return { content: [{ type: 'text', text: 'Starting scans is disabled by configuration (ALLOW_START_SCAN=false).' }], isError: true }; } const res = await sf.startScan(input as any); return { content: [{ type: 'text', text: JSON.stringify(res) }] }; }
  • Zod input schema defining parameters for starting a Spiderfoot scan: scan name, target, optional modules, types, and use case
    const StartScanSchema = z.object({ scanname: z.string().min(1), scantarget: z.string().min(1), modulelist: z.string().optional(), typelist: z.string().optional(), usecase: z.enum(['all', 'investigate', 'passive', 'footprint']).optional(), });
  • src/index.ts:69-80 (registration)
    Registration of the 'spiderfoot_start_scan' MCP tool on the McpServer instance, including title, description, schema, and handler
    server.registerTool( 'spiderfoot_start_scan', { title: 'Start Scan', description: 'Start a new scan against a target.', inputSchema: StartScanSchema.shape }, async (input) => { const allow = (process.env.ALLOW_START_SCAN ?? 'true').toLowerCase(); if (!(allow === 'true' || allow === '1' || allow === 'yes')) { return { content: [{ type: 'text', text: 'Starting scans is disabled by configuration (ALLOW_START_SCAN=false).' }], isError: true }; } const res = await sf.startScan(input as any); return { content: [{ type: 'text', text: JSON.stringify(res) }] }; } );
  • SpiderfootClient.startScan helper method that sends HTTP POST request to Spiderfoot server's /startscan endpoint with scan parameters
    async startScan(args: { scanname: string; scantarget: string; modulelist?: string; // comma separated module names typelist?: string; // comma separated event types usecase?: string; // all|investigate|passive|footprint }) { const { data } = await this.http.post('/startscan', args); return data; }
  • Factory function to create SpiderfootClient instance from environment variables
    export function makeSpiderfootClientFromEnv() { const baseUrl = process.env.SPIDERFOOT_BASE_URL || 'http://127.0.0.1:5001'; const username = process.env.SPIDERFOOT_USER; const password = process.env.SPIDERFOOT_PASS; return new SpiderfootClient({ baseUrl, username, password }); }

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

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