List Verification Jobs
deliveriq_list_jobsList batch email verification jobs with pagination and status filters to track pending, processing, completed, failed, or cancelled jobs. View job IDs, statuses, email counts, and dates.
Instructions
List batch verification jobs with pagination and optional status filter.
Args:
page (number): Page number (default: 1)
limit (number): Results per page (default: 20, max: 100)
status (string, optional): Filter by "pending", "processing", "completed", "failed", or "cancelled"
Returns: Table of jobs with ID, status, email count, and dates.
Credit cost: Free
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| limit | No | Results per page (default: 20, max: 100) | |
| status | No | Filter by job status |
Implementation Reference
- The async handler function for deliveriq_list_jobs. Calls client.batch.list() with page/limit/status params, formats results as a Markdown table with job IDs, statuses, email counts, and pagination info.
async (params) => { try { const res = await client.batch.list({ page: params.page, limit: params.limit, status: params.status, }); if (res.jobs.length === 0) { return successResponse('No verification jobs found.' + (params.status ? ` (filter: ${params.status})` : '')); } const lines = [ `# Verification Jobs`, '', `Page ${res.pagination.page} of ${res.pagination.totalPages} (${res.pagination.total} total)`, '', '| Job ID | Status | Emails | Created |', '|--------|--------|--------|---------|', ]; for (const job of res.jobs) { lines.push(`| ${job.id} | ${job.status} | ${job.processedEmails}/${job.totalEmails} | ${job.createdAt} |`); } if (res.pagination.page < res.pagination.totalPages) { lines.push('', `*Use page: ${res.pagination.page + 1} to see more results.*`); } return successResponse(lines.join('\n')); } catch (error) { return handleSdkError(error); } }, ); - Input schema (Zod) for deliveriq_list_jobs: page (int, min 1, default 1), limit (int, 1-100, default 20), optional status enum (pending/processing/completed/failed/cancelled).
export const ListJobsSchema = z.object({ page: z.number().int().min(1).default(1) .describe('Page number (default: 1)'), limit: z.number().int().min(1).max(100).default(20) .describe('Results per page (default: 20, max: 100)'), status: z.enum(['pending', 'processing', 'completed', 'failed', 'cancelled']).optional() .describe('Filter by job status'), }).strict(); - deliveriq-mcp/src/tools/verification.ts:269-326 (registration)Registration of the tool named 'deliveriq_list_jobs' on the McpServer with title 'List Verification Jobs', description, inputSchema, annotations (readOnly, idempotent), and handler via server.registerTool().
server.registerTool( 'deliveriq_list_jobs', { title: 'List Verification Jobs', description: `List batch verification jobs with pagination and optional status filter. Args: - page (number): Page number (default: 1) - limit (number): Results per page (default: 20, max: 100) - status (string, optional): Filter by "pending", "processing", "completed", "failed", or "cancelled" Returns: Table of jobs with ID, status, email count, and dates. Credit cost: Free`, inputSchema: ListJobsSchema, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true, }, }, async (params) => { try { const res = await client.batch.list({ page: params.page, limit: params.limit, status: params.status, }); if (res.jobs.length === 0) { return successResponse('No verification jobs found.' + (params.status ? ` (filter: ${params.status})` : '')); } const lines = [ `# Verification Jobs`, '', `Page ${res.pagination.page} of ${res.pagination.totalPages} (${res.pagination.total} total)`, '', '| Job ID | Status | Emails | Created |', '|--------|--------|--------|---------|', ]; for (const job of res.jobs) { lines.push(`| ${job.id} | ${job.status} | ${job.processedEmails}/${job.totalEmails} | ${job.createdAt} |`); } if (res.pagination.page < res.pagination.totalPages) { lines.push('', `*Use page: ${res.pagination.page + 1} to see more results.*`); } return successResponse(lines.join('\n')); } catch (error) { return handleSdkError(error); } }, ); - deliveriq-mcp/src/constants.ts:10-10 (registration)Credit cost constant: deliveriq_list_jobs costs 0 credits (free).
deliveriq_list_jobs: 0, - deliveriq-mcp/src/utils.ts:68-70 (helper)The successResponse helper used by the handler to format successful results.
export function successResponse(text: string): McpContent { return { content: [{ type: 'text', text: truncateResponse(text) }] }; }