Skip to main content
Glama

upload_resume

Upload a resume file to sync with your profile or add as an alternate resume. Supports PDF, DOC, and DOCX formats up to 5MB.

Instructions

Upload a resume as base64 file content. Supported formats: PDF, DOC, DOCX. Maximum file size: 5MB. Read the file from the user's machine and pass the base64-encoded content. By default, your profile will be synced with the resume content. Use isAltResume to upload as an alternate resume instead of replacing your primary.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileContentYesBase64-encoded file content of the resume. Read the file and pass the base64 content here.
fileNameYesOriginal filename including extension (e.g. "resume.pdf")
syncProfileNoWhether to sync profile with resume content (default: true). Ignored for alt resumes.
isAltResumeNoUpload as an alternate resume instead of replacing the primary resume (default: false)

Implementation Reference

  • The handler function that executes the 'upload_resume' tool logic by calling the API client's uploadResumeFromBase64 method.
    async (args) => {
      const isAlt = args.isAltResume || false;
      const syncProfile = args.syncProfile !== false;
    
      const ext = args.fileName.substring(args.fileName.lastIndexOf('.') + 1).toLowerCase();
      if (!['pdf', 'docx', 'doc'].includes(ext)) {
        return { content: [{ type: 'text' as const, text: JSON.stringify({ error: 'Invalid file type. Supported formats: PDF, DOC, DOCX.' }, null, 2) }] };
      }
    
      const result = await client.uploadResumeFromBase64(args.fileContent, args.fileName, syncProfile, isAlt);
      return {
        content: [{
          type: 'text' as const,
          text: JSON.stringify({
            success: true,
            message: isAlt ? 'Alternate resume uploaded successfully' : 'Resume uploaded successfully',
            uri: result.uri,
            fileName: result.fileName,
            isAltResume: isAlt,
          }, null, 2),
        }],
      };
  • The Zod schema definition for the arguments of the 'upload_resume' tool, specifying input fields like fileContent, fileName, syncProfile, and isAltResume.
    {
      fileContent: z.string().describe('Base64-encoded file content of the resume. Read the file and pass the base64 content here.'),
      fileName: z.string().describe('Original filename including extension (e.g. "resume.pdf")'),
      syncProfile: z.boolean().optional().describe('Whether to sync profile with resume content (default: true). Ignored for alt resumes.'),
      isAltResume: z.boolean().optional().describe('Upload as an alternate resume instead of replacing the primary resume (default: false)'),
    },
  • The registration of the 'upload_resume' tool within the MCP server using the server.tool method.
    server.tool(
      'upload_resume',
      'Upload a resume as base64 file content. Supported formats: PDF, DOC, DOCX. Maximum file size: 5MB. Read the file from the user\'s machine and pass the base64-encoded content. By default, your profile will be synced with the resume content. Use isAltResume to upload as an alternate resume instead of replacing your primary.',
      {
        fileContent: z.string().describe('Base64-encoded file content of the resume. Read the file and pass the base64 content here.'),
        fileName: z.string().describe('Original filename including extension (e.g. "resume.pdf")'),
        syncProfile: z.boolean().optional().describe('Whether to sync profile with resume content (default: true). Ignored for alt resumes.'),
        isAltResume: z.boolean().optional().describe('Upload as an alternate resume instead of replacing the primary resume (default: false)'),
      },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/6figr-com/job-gpt-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server