spiderfoot_scan_logs
Retrieve scan execution logs for a specific SpiderFoot OSINT reconnaissance scan to monitor progress, track events, and analyze data collection activities.
Instructions
Fetch/poll scan logs for a given scan ID.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| reverse | No | ||
| rowId | No |
Implementation Reference
- src/spiderfootClient.ts:76-84 (handler)Core implementation of the scanLogs functionality: sends a POST request to the Spiderfoot server's /scanlog endpoint with the provided parameters and returns the response data.async scanLogs(args: { id: string; limit?: number; reverse?: '0' | '1'; rowId?: number }) { const { data } = await this.http.post('/scanlog', { id: args.id, limit: args.limit, reverse: args.reverse, rowId: args.rowId, }); return data; }
- src/index.ts:28-33 (schema)Zod schema defining the input parameters for the spiderfoot_scan_logs tool.const ScanLogsSchema = z.object({ id: z.string().min(1), limit: z.number().int().positive().optional(), reverse: z.enum(['0', '1']).optional(), rowId: z.number().int().nonnegative().optional(), });
- src/index.ts:94-98 (registration)Registers the 'spiderfoot_scan_logs' tool on the MCP server (stdio transport), providing title, description, input schema, and handler that delegates to sf.scanLogs.server.registerTool( 'spiderfoot_scan_logs', { title: 'Scan Logs', description: 'Fetch/poll scan logs for a given scan ID.', inputSchema: { id: z.string(), limit: z.number().optional(), reverse: z.enum(['0','1']).optional(), rowId: z.number().optional() } }, async ({ id, limit, reverse, rowId }) => ({ content: [{ type: 'text', text: JSON.stringify(await sf.scanLogs({ id, limit, reverse, rowId })) }] }) );
- src/index-http.ts:78-82 (registration)Registers the 'spiderfoot_scan_logs' tool on the MCP server (HTTP transport), identical to the stdio version.server.registerTool( 'spiderfoot_scan_logs', { title: 'Scan Logs', description: 'Fetch/poll scan logs for a given scan ID.', inputSchema: { id: z.string(), limit: z.number().optional(), reverse: z.enum(['0','1']).optional(), rowId: z.number().optional() } }, async ({ id, limit, reverse, rowId }) => ({ content: [{ type: 'text', text: JSON.stringify(await sf.scanLogs({ id, limit, reverse, rowId })) }] }) );