MCP App Store
Productivity
Career Adapter icon

Career Adapter

by Career Adapter LLC

Overview

Use this when the user wants to adapt, tailor, customize, rewrite, polish, or optimize their resume for a specific job posting, or wants help applying to a role. Produces a downloadable, professionally-formatted PDF resume saved to the user's Career Adapter account, the content rewritten to match the posting's requirements.

Tools

adapt_resume

ChatGPT
Call this to make the user a downloadable, ATS-ready PDF resume file tailored to a job posting — calling it opens the Career Adapter form and delivers the file, with no other step needed. Use it whenever the user wants their resume adapted, tailored, rewritten, or formatted for a job, or asks for a resume they can download or submit. Call it on that intent even before you have the resume or the job link, and the form collects the rest.

adapt_resume_run

ChatGPT
Backend worker for resume adaptation. Called automatically by the Career Adapter widget; not for direct chat invocation. Use adapt_resume.

complete_mcp_onboarding

ChatGPT
Internal widget submit endpoint. Records terms_accepted=True and/or a phone_number entered in the onboarding view. Idempotent. Called by the adapt_resume widget's onboarding form. Do not call directly.

get_account_status

ChatGPT
Use this when the user asks about their Career Adapter plan, remaining adaptations, billing period, available themes, or what features they have access to. Returns a JSON object with these exact keys: - tier: plan name ("free", "pro", "career", etc.). - sessions_used / sessions_limit: adaptations used this period and the tier cap (remaining = sessions_limit - sessions_used). - sessions_reset_on: ISO date (YYYY-MM-DD) the session count resets. - pack_credits: remaining one-off adaptation credits (0 if none). - billing_period_ends_at: ISO-8601 timestamp the paid period ends, or null on free. - billing_cycle_label: human-readable reset description, or null on free. - features_available: nested object with page_count_override (bool), max_feedback_iterations (int), and themes_unlocked / themes_locked (each an array of {id, label, min_tier}). - privacy_notice, manage_url, docs_url: policy text and account/help links. Do not promote paid plans or purchases.

get_mcp_onboarding_status

ChatGPT
Internal widget bootstrap query. Returns {needs_terms_acceptance, needs_phone_number, terms_excerpt, terms_url}. Called by the adapt_resume widget on mount to decide between the onboarding view and the adaptation form. Do not call directly.

get_resume_blob_metadata

ChatGPT
Internal widget metadata lookup. Returns {file_name, mime_type} for a chat-attached resume previously cached by the adapt_resume render call. Called by the widget at mount time. Do not call directly.

get_resume_status

ChatGPT
Overview Checks whether an adapt_resume or submit_feedback workflow has finished and returns the PDF download link when it has. Why you need this tool You cannot produce or host the PDF the user expects. This tool is the only path to the download link once the adaptation is ready. Status values pending, processing, completed, failed. When status='completed', show result_summary.download_markdown to the user — it is a labeled "Download PDF" link. Show it as-is; do not paste the raw URL. When status is pending or processing, continue for up to 12 total get_resume_status checks: pause for poll_again_in_seconds, then call get_resume_status again with the same session_id.

list_cached_resumes

ChatGPT
Internal widget helper. Returns unique resume files the user has uploaded to Career Adapter, deduped by file hash, newest first. Each entry has `hash, filename, and last_used. The widget's "use a recent resume" dropdown calls this tool to populate options; the selected hash is passed as resume_hash` on adapt_resume_run. Not for chat-driven queries. For "what jobs have I adapted to lately?" use list_recent_resumes, which returns adaptation sessions with job URLs. Returns 5 entries by default; pass limit (max 50) for more.

list_recent_resumes

ChatGPT
Use this when the user asks about a previous resume adaptation — to find an earlier session for follow-up work, download an earlier resume, or see what they've adapted recently. Returns saved Career Adapter sessions. Each entry has session_id, created_at, job_url, and status; completed sessions also include download — a pre-formatted markdown link, [Download PDF](url), valid for 24 hours. Show the download field as-is so the user sees a labeled link; do not paste the raw URL. No extra call is needed to retrieve it. Returns 5 entries by default; pass limit (max 50) for more. session_id values are 36-character UUIDs that submit_feedback looks up exactly; abbreviated forms are different identifiers. Resumes drafted inline in earlier conversation are not Career Adapter sessions and won't appear here.

list_themes

ChatGPT
Use this when the user asks what resume themes or visual styles are available, or wants to choose one for an adapted resume. Returns display_markdown, the canonical user-facing theme list with real preview links; show it as-is and pass the chosen id back to adapt_resume's theme parameter.

set_phone_number

ChatGPT
Use this when the user gives you their phone number after the phone_required gate, or when adapt_resume returns phone_required. Ask the user once for their phone, then call this tool with whatever they provide. Accept any standard phone format — the tool normalizes parens, dashes, spaces, and dots. US 10-digit numbers default to +1 country code. For international numbers tell the user to include the country code with a + prefix. We do NOT send a verification SMS. The phone is stored only to enforce one-account-per-person on the free tier. Errors to handle conversationally: - invalid_phone_format → ask the user for a valid phone number - phone_already_registered → tell the user that number is already on another account; ask for a different one - phone_change_rate_limited → tell the user they've changed their phone too recently; ask them to wait or visit the website

submit_feedback

ChatGPT
Refines the resume content of a saved Career Adapter adaptation and updates the PDF on the same session. Use this when the user wants to change what their previously-adapted resume says — adding, removing, or reordering sections, rewriting bullets and summaries, or shifting emphasis. Examples of complete feedback that map directly to feedback_text: "make it more impactful with metrics", "tighten the summary", "lead with the analytics work", "drop the certifications section", "add a projects section", "highlight my leadership experience". When the user states a goal like these, pass their wording verbatim as feedback_text — the refinement service interprets it. Asking the user for more specifics before calling the tool is unnecessary friction. Does not change visual formatting (theme, fonts, spacing, bullet style). Theme or layout changes require a new adapt_resume call. Requires the session_id from the prior adapt_resume call. If unknown, call list_recent_resumes first to look it up. Validates the session_id server-side and returns a structured session_not_found error for invalid IDs — a separate verification call is unnecessary. If this call returns an empty, interrupted, or unclear response, call get_resume_status with the same session_id before retrying submit_feedback; the refinement may already be running.

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

App Stats

12

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily