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. |
PDF and format
| Tool | Arguments | Behavior |
|---|---|---|
generate_resume_pdf |
resume?, saveToAccount? (default true). Local also: outputPath, includeBase64 |
Main path: DOCX → iLovePDF. Omit resume to use the cloud copy. Remote responses include pdfBase64. |
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. Not the main iLovePDF path. |
Header validation
- Allowed keys:
name,location,email,phone,linkedin,github,portfolio. - Aliases
website,url,sitemap toportfolioand appear inwarnings. - Any other header key:
format_resume_jsonwarns;save_my_resumeand 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.