Labsco
MCP SERVER

Resume Tailor MCP

by adi2355

Rewrite the sections of an .odt resume in place, through LibreOffice, without the template losing its formatting.

HR, Recruiting & Workforce
Summary
Tailoring a resume without the document losing its shape.

Everything hard about this sits in the last mile: an assistant can write a sharper skills paragraph in seconds, and then the only way into the document is to paste it and repair the formatting by hand. Editing through LibreOffice's object model instead of a Markdown round trip removes that step, and pairing it with a ranked read of the posting means the rewrite is aimed at something specific rather than generically polished.

What it is

Two servers that work as one pass. The keyword extractor reads a job description and returns a ranked structure — critical down to nice-to-have, alongside the tools, technologies, methodologies, core responsibilities, role level and company context it found. The document editor writes the tailored content back into an .odt resume: it does not convert the file, it drives LibreOffice's own document-object model over a local socket and replaces the text between paired bookmarks, so fonts, paragraph styles, spacing and page structure survive exactly as the template author set them, and output goes to a timestamped file rather than over the template. Editable regions are whatever bookmark pairs a template defines; the one that ships exposes summary, skills and three work-experience blocks. The editor talks to a headless LibreOffice, which has to be running before it can open anything.

What you get
  • A job description parsed into ranked keywords, from critical to nice-to-have, with a requirements summary, the tools and methodologies named in the posting, the core responsibilities, and the role's level and scope
  • The editable regions the current template exposes, listed by name
  • One section's content replaced, with the template's fonts, styles and layout preserved
  • Several sections replaced atomically in a single pass, rather than one call at a time
  • Output written to a timestamped file, so the template itself is never overwritten