upload-resume
Parse resume files to extract structured data for job applications, ATS scoring, and personalized content generation.
Instructions
Upload and parse a resume file. Accepts base64-encoded file content. Returns parsed resume data.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes | Base64-encoded file content (PDF, DOCX, etc.) | |
| filename | Yes | Original filename with extension (e.g. resume.pdf) | |
| contentType | No | MIME type (e.g. application/pdf) |
Implementation Reference
- src/tools/upload.ts:14-26 (handler)The handler implementation for the upload-resume tool, which processes the base64-encoded file and calls the client's resume upload method.
async (params) => { try { const buffer = Buffer.from(params.fileBase64, "base64"); const result = await client.upload.resume(buffer, { filename: params.filename, contentType: params.contentType, }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (err) { const message = err instanceof Error ? err.message : String(err); return { content: [{ type: "text", text: `Error: ${message}` }], isError: true }; } }, - src/tools/upload.ts:6-27 (registration)The registration of the upload-resume tool within the McpServer.
server.tool( "upload-resume", "Upload and parse a resume file. Accepts base64-encoded file content. Returns parsed resume data.", { fileBase64: z.string().describe("Base64-encoded file content (PDF, DOCX, etc.)"), filename: z.string().describe("Original filename with extension (e.g. resume.pdf)"), contentType: z.string().optional().describe("MIME type (e.g. application/pdf)"), }, async (params) => { try { const buffer = Buffer.from(params.fileBase64, "base64"); const result = await client.upload.resume(buffer, { filename: params.filename, contentType: params.contentType, }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (err) { const message = err instanceof Error ? err.message : String(err); return { content: [{ type: "text", text: `Error: ${message}` }], isError: true }; } }, );