match_jobs
Find new job opportunities using your saved search criteria, filtering out previously viewed or applied positions.
Instructions
Get new job matches based on a saved job hunt configuration. Uses the filters saved in your job hunt (titles, locations, skills, salary, etc.) and only returns jobs you have not already seen, applied to, or rejected. To change filters, use update_job_hunt first.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobHuntId | Yes | The job hunt ID to match jobs against | |
| limit | No | Maximum number of results (default: 5, max: 50). Keep low to avoid large responses. | |
| page | No | Page number for pagination (default: 1) |
Implementation Reference
- src/tools/jobs.ts:62-79 (handler)The handler for the match_jobs MCP tool which calls client.matchJobs and formats the result.
async (args) => { const result = await client.matchJobs({ jobHuntId: args.jobHuntId, page: args.page, limit: args.limit || 5, }); return { content: [{ type: 'text' as const, text: JSON.stringify({ count: result.count, jobs: result.jobs.map(formatJob), note: 'These are new jobs matching your job hunt criteria that you have not yet seen or applied to.', }, null, 2), }], }; } - src/tools/jobs.ts:54-61 (registration)Registration of the match_jobs tool within the McpServer.
server.tool( 'match_jobs', 'Get new job matches based on a saved job hunt configuration. Uses the filters saved in your job hunt (titles, locations, skills, salary, etc.) and only returns jobs you have not already seen, applied to, or rejected. To change filters, use update_job_hunt first.', { jobHuntId: z.string().describe('The job hunt ID to match jobs against'), limit: z.number().optional().describe('Maximum number of results (default: 5, max: 50). Keep low to avoid large responses.'), page: z.number().optional().describe('Page number for pagination (default: 1)'), },