update_application
Update job application status or add notes to track progress through hiring stages like PENDING, APPLIED, INTERVIEW, OFFER, or REJECTED.
Instructions
Update a job application status or notes
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The application ID | |
| status | No | New status (e.g., "PENDING", "APPLIED", "INTERVIEW", "OFFER", "REJECTED") | |
| notes | No | Notes about the application |
Implementation Reference
- src/tools/applications.ts:57-76 (handler)The 'update_application' tool is defined and implemented here using the MCP server instance and the API client. It validates inputs via Zod and calls the client's `updateApplication` method.
server.tool( 'update_application', 'Update a job application status or notes', { id: z.string().describe('The application ID'), status: z.string().optional().describe('New status (e.g., "PENDING", "APPLIED", "INTERVIEW", "OFFER", "REJECTED")'), notes: z.string().optional().describe('Notes about the application'), }, async (args) => { const updateData: Record<string, unknown> = {}; if (args.status !== undefined) { updateData.status = args.status; } if (args.notes !== undefined) { updateData.notes = args.notes; } if (Object.keys(updateData).length === 0) { return { content: [{ type: 'text' as const, text: JSON.stringify({ message: 'No fields provided to update' }, null, 2) }] }; } const updated = await client.updateApplication(args.id, updateData); return { content: [{ type: 'text' as const, text: JSON.stringify({ message: 'Application updated successfully', application: formatApplication(updated) }, null, 2) }] }; }