Reference
MCP tools
Remote MCP clients get the account tools only. Local stdio also gets login and logout.
Every account tool uses the signed-in user’s JWT.
Account
| Tool | Arguments | Behavior |
account_status |
none |
Email, user id, whether a cloud resume exists, whether iLovePDF is configured on the server. |
get_my_resume |
none |
Returns resume, title, updated_at. Errors if none saved yet. |
save_my_resume |
resume (required) |
Normalizes and overwrites the cloud row for this user. Rejects unknown header keys. Maps website/url/site → portfolio. |
reset_my_resume |
none |
Deletes the cloud resume. Next save inserts a new row. |
Jobs and applications
| Tool | Arguments | Behavior |
get_my_profile |
none |
Profile saved with the workspace (name and background). Empty until the app syncs. |
get_my_jobs |
none |
Jobs the user saved: title, company, and the posting they pasted. |
get_my_applications |
none |
Applications plus prepared materials (cover note and approval). Does not submit them. |
PDF and format
| Tool | Arguments | Behavior |
generate_resume_pdf |
resume?, saveToAccount? (default true). Local also: outputPath, includeBase64 |
LaTeX PDF (Times, letter) of the cloud resume or provided JSON. Remote responses include pdfBase64. Does not use iLovePDF. |
format_resume_json |
resume |
Normalizes schema, strips LinkedIn/GitHub to slugs. Returns warnings, mappedHeaderKeys, droppedHeaderKeys. Does not save. |
convert_resume_to_latex |
resume |
Jake-style LaTeX from Career OS JSON. Local, no account write. |
compile_latex_to_pdf |
latexCode, optional outputPath |
Beta: public ytotech pdflatex Times layout matched to the iLovePDF DOCX-to-PDF. Not the main conversion path. |
Header validation
- Allowed keys:
name, location, email, phone, linkedin, github, portfolio.
- Aliases
website, url, site map to portfolio and appear in warnings.
- Any other header key:
format_resume_json warns; save_my_resume and saving PDF JSON fail so values are not silently dropped.
Filenames
PDFs are named {Name}_Resume.pdf. If header.name is empty, the file is Resume.pdf (not Resume_Resume.pdf).
A custom filename on the resume object wins.