Skip to main content
Glama

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
NameRequiredDescriptionDefault
fileBase64YesBase64-encoded file content (PDF, DOCX, etc.)
filenameYesOriginal filename with extension (e.g. resume.pdf)
contentTypeNoMIME type (e.g. application/pdf)

Implementation Reference

  • 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 };
      }
    },
  • 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 };
        }
      },
    );

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/ebenezer-isaac/llmconveyors-mcp'

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