Skip to main content
Glama
workopia

workopia-mcp

Official

resume_tool

Optimize resumes for specific job descriptions or generate styled, downloadable PDF resumes with professional templates.

Instructions

Use for ALL resume-related actions. action omitted or action=tailor: ONLY when the user wants to improve, optimize, tailor, or rewrite a resume (text optimization). action=generate: MANDATORY when the user asks for generate/create resume, resume template, styled or formatted resume, downloadable resume, PDF resume, or preview/shareable resume — do NOT use tailor for those. INPUT for generate: resume_text or resume_content (plain text or JSON Resume as string), and/or json_resume (JSON Resume object: basics, work[], education[], skills[] per jsonresume.org — preferred for structured data). At least one of those is required. Optional template_key (Workopia registry key; omit defaults to Workopia Classic / workopia_classic). Legacy alias hera_classic accepted. OUTPUT for generate: template_name, url (preview), download_url (PDF) from the tool only — never invent URLs; never return raw PDF/HTML/base64. OUTPUT for tailor differs (e.g. optimizedResume text).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionNoOmitted or "tailor" = improve/optimize/tailor/rewrite content only. "generate" = MANDATORY for PDF, downloadable resume, template, styled/formatted output, create/generate resume, or shareable/preview link — never use tailor for those intents.
template_keyNoOptional for action=generate. MUST be one of enum values only. Omit = Workopia Classic. Do NOT invent keys; use workopia_flexbox for tech-heavy layout, workopia_elegant for professional/corporate, workopia_designer for product/designer roles. Unknown keys are ignored server-side with fallback.
template_keysNoOptional for action=generate; up to 5 registry template keys to render multiple PDFs in one call.
session_idNoOptional; correlates GPT session with synthetic owner email for GridFS access (gpt+session_id@internal.hera).
resume_textNoFor tailor: required (resume body). For generate: optional if json_resume or object resume_content is set. Plain text or JSON Resume as a string. Alias: resume_content when string.
json_resumeNoOptional for action=generate. JSON Resume object (https://jsonresume.org/schema/): basics, work, education, skills, etc. Same structure library themes consume. Takes precedence over resume_text when both are sent.
tailor_resumeNoPayload for tailoring (same shape as legacy tailor_resume).
parametersNoShortcut: tailor fields at top level (excluding action).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description takes full burden and discloses key behaviors: different outputs for tailor vs generate, input requirements, template fallback behavior, and warnings like 'never invent URLs' or 'never return raw PDF/HTML/base64'. Does not cover auth or rate limits, but adequately describes core behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections (action, input, output) and is front-loaded with the main distinction. It is somewhat lengthy but every sentence adds necessary details; no obvious fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no output schema, and no annotations, the description covers the main aspects: actions, inputs, output examples, and template handling. Could include more on tailor output or error handling, but it is sufficient for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, yet the description adds significant value beyond schema descriptions. For example, it recommends specific template keys for different layouts, explains input precedence (json_resume over resume_text), and clarifies legacy aliases. This goes well beyond what the schema alone provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is for 'ALL resume-related actions' and distinguishes between two main use cases: tailor (text optimization) and generate (creation with templates/PDF). This is specific and actionable, covering the full scope of the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidelines for tailor vs generate, e.g., 'do NOT use tailor for those intents' and 'MANDATORY when the user asks for generate/create resume, ...'. However, it does not compare with sibling tools (career_tool, job_tool), though the description implies it covers all resume tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/workopia/workopia-mcp'

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