UNPKG

@dondonudonjp/vertexai-imagen-mcp-server

Version:

[DEPRECATED] MCP Server for Vertex AI Imagen image generation. Imagen endpoints shut down 2026-06-30; migrate to the nanoBanana MCP Server (Gemini image models).

55 lines 1.93 kB
import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js'; export async function listJobs(context, args) { const { status, limit = 50 } = args; const { jobManager } = context; try { const jobs = jobManager.listJobs(status, limit); if (jobs.length === 0) { const statusFilter = status ? ` with status '${status}'` : ''; return { content: [ { type: 'text', text: `No jobs found${statusFilter}.`, }, ], }; } const jobsList = ['Jobs:\n']; jobs.forEach((job, idx) => { jobsList.push(`${idx + 1}. Job ID: ${job.id}`); jobsList.push(` Type: ${job.type}`); jobsList.push(` Status: ${job.status}`); jobsList.push(` Created: ${job.createdAt.toISOString()}`); if (job.startedAt) { jobsList.push(` Started: ${job.startedAt.toISOString()}`); } if (job.completedAt) { jobsList.push(` Completed: ${job.completedAt.toISOString()}`); } if (job.error) { jobsList.push(` Error: ${job.error}`); } jobsList.push(''); }); jobsList.push(`Total: ${jobs.length} job(s)`); if (status) { jobsList.push(`Filter: status = ${status}`); } return { content: [ { type: 'text', text: jobsList.join('\n'), }, ], }; } catch (error) { if (error instanceof McpError) { throw error; } throw new McpError(ErrorCode.InternalError, `Failed to list jobs: ${error instanceof Error ? error.message : String(error)}`); } } //# sourceMappingURL=listJobs.js.map