Skip to main content

MCP Tool Reference

The Jobweave MCP server exposes 81 tools across 9 source files (8 conceptual domains, since the four Career Library files form one domain). Each tool is a thin wrapper over a single apps/api route; the Scope column is the service-token scope a connection must hold for the tool to be registered at all.

Applications

Track job applications and generate insights or tailored content against them.

Source: packages/mcp-tool-server/src/core/tools/applications.ts

NameTitleDescriptionScope
list-applicationsList applicationsList the caller's job applications, optionally filtered by status or a company/role search string.applications:read
get-applicationGet an applicationFetch a single application by id, including its linked resume reference if any.applications:read
create-applicationCreate an applicationCreate a new job application. To attach a resume that does not exist yet, call create-resume first and pass its id as linkedResumeId — or omit linkedResumeId and attach later with update-application.applications:write
update-applicationUpdate an applicationUpdate any field on an application — status, notes, salary, or linkedResumeId (this is how you attach/detach a resume from an existing application). Every field is optional; only send what changes.applications:write
delete-applicationDelete an applicationPermanently delete an application. Does not delete any linked resume.applications:write
clone-applicationClone an applicationDuplicate an application (e.g. to track a re-application or a similar role elsewhere).applications:write
import-application-from-urlExtract application fields from a job posting URLFetch a job posting URL and extract company/role/location/salary/description fields with AI. Preview only — does NOT create an application; pass the returned fields to create-application yourself.applications:write
get-application-insightsGet stored company insights ("Be Informed")Fetch previously generated company insights for an application (culture, funding, news), or null if never generated.applications:read
generate-application-insightsGenerate company insights ("Be Informed" / "Assess Your Fit")Generate (and store) AI company insights for an application: culture, recent announcements, funding, financials, similar companies. Uses the application's company URL and job description as context.applications:write
get-interview-prepGet stored interview prepFetch previously generated interview prep questions for an application, or null if never generated.applications:read
generate-interview-prepGenerate interview prepGenerate (and store) AI interview prep questions for an application, using its linked resume, library, and job description. Requires the application to have a job description set.applications:write
generate-application-messageGenerate outreach message ("Reach Out to Current Employees" / "Generate Message")Generate a short outreach message draft for an application: cold outreach, a follow-up, or a thank-you note. Not persisted — the caller sends or saves it.applications:write

Resumes

Create, read, and revise resumes, including AI-assisted tailoring.

Source: packages/mcp-tool-server/src/core/tools/resumes.ts

NameTitleDescriptionScope
list-resumesList resumesList the caller's resumes, each with position/skill/application counts.resumes:read
get-resumeGet a resumeFetch the full resume graph: profile/identity, positions+bullets, skills, education, projects, linked repositories.resumes:read
create-resumeCreate a resumeCreate a new, empty resume (title + template/formatting options). Populate it with tailor-resume-from-library, or attach it to an application with update-application's linkedResumeId.resumes:write
update-resumeUpdate a resumeUpdate a resume's title, template, or formatting options. Every field is optional; only send what changes.resumes:write
delete-resumeDelete a resumePermanently delete a resume and all of its positions, bullets, skills, education, and projects.resumes:write
clone-resumeClone a resumeDuplicate a resume including all of its sections, as a starting point for a new variant.resumes:write
get-resume-pdfDownload a resume as PDFRender a resume to PDF. Returns { base64, contentType, bytes } — decode the base64 to save the file.resumes:read
get-resume-profileGet a resume's profileFetch just the resume-scoped contact/summary profile (distinct from a reusable identity).resumes:read
update-resume-profileUpdate a resume's profileUpdate the resume-scoped contact/summary profile. Every field is optional; only send what changes.resumes:write
tailor-resume-from-libraryCreate Optimized Resume (tailor from Library)Wipe and repopulate a resume from the full Library (Skills, Experience, Projects, Education, Repositories), matched against the job description of whichever application currently links this resume. Optional free-text instructions steer the AI (e.g. "emphasize backend work", "keep it to one page"). This REPLACES the resume's current sections — it is not incremental.ai:generate

Career Library — Skills & Education

The reusable skill and education entries resumes are assembled from.

Source: packages/mcp-tool-server/src/core/tools/library-skills-education.ts

NameTitleDescriptionScope
list-library-skillsList library skill categoriesList the caller's skill library categories, each with its skills and sort order.library:read
create-library-skillCreate a library skill categoryCreate a new skill library category, e.g. "Programming Languages" with a list of skills.library:write
update-library-skillUpdate a library skill categoryUpdate a skill library category's name, skills, or sort order. Every field is optional; only send what changes.library:write
delete-library-skillDelete a library skill categoryPermanently delete a skill library category.library:write
clone-library-skillClone a library skill categoryDuplicate a skill library category, as a starting point for a variant.library:write
list-library-educationList library education entriesList the caller's library education entries, each with a count of resumes it's linked to.library:read
create-library-educationCreate a library education entryCreate a new library education entry (institution, degree, dates, achievements).library:write
update-library-educationUpdate a library education entryUpdate a library education entry's institution, degree, dates, or achievements. Every field is optional; only send what changes.library:write
delete-library-educationDelete a library education entryPermanently delete a library education entry. Fails if it is still linked to one or more resumes.library:write
clone-library-educationClone a library education entryDuplicate a library education entry, as a starting point for a variant.library:write

Career Library — Experiences

Work history entries and their achievement bullets.

Source: packages/mcp-tool-server/src/core/tools/library-experiences.ts

NameTitleDescriptionScope
list-library-experiencesList library experiencesList the caller's library experiences (reusable work history entries), each with its bullets.library:read
create-library-experienceCreate a library experienceCreate a new library experience (reusable work history entry). Populate it with bullets using create-library-experience-bullet.library:write
update-library-experienceUpdate a library experienceUpdate any field on a library experience. Every field is optional; only send what changes.library:write
delete-library-experienceDelete a library experiencePermanently delete a library experience and all of its bullets.library:write
clone-library-experienceClone a library experienceDuplicate a library experience including all of its bullets, as a starting point for a new variant.library:write
list-library-experience-bulletsList a library experience's bulletsList the bullet points belonging to a library experience.library:read
create-library-experience-bulletCreate a library experience bulletAdd a new bullet point to a library experience.library:write
update-library-experience-bulletUpdate a library experience bulletUpdate a bullet point on a library experience. Every field is optional; only send what changes.library:write
delete-library-experience-bulletDelete a library experience bulletPermanently delete a bullet point from a library experience.library:write

Career Library — Projects

Project entries and their achievement bullets.

Source: packages/mcp-tool-server/src/core/tools/library-projects.ts

NameTitleDescriptionScope
list-library-projectsList library projectsList the caller's library projects (Tier 1), each including its achievements.library:read
create-library-projectCreate a library projectCreate a new library project (Tier 1) to reuse across resumes.library:write
update-library-projectUpdate a library projectUpdate any field on a library project. Every field is optional; only send what changes.library:write
delete-library-projectDelete a library projectPermanently delete a library project and all of its achievements.library:write
clone-library-projectClone a library projectDuplicate a library project including all of its achievements, as a starting point for a variant.library:write
list-library-project-achievementsList a library project's achievementsList the achievements (Tier 2) belonging to a library project.library:read
create-library-project-achievementCreate a library project achievementAdd a new achievement bullet to a library project.library:write
update-library-project-achievementUpdate a library project achievementUpdate a project achievement's content or sort order. Every field is optional; only send what changes.library:write
delete-library-project-achievementDelete a library project achievementPermanently delete an achievement from a library project.library:write

Identities

The contact/identity blocks a resume or cover letter is rendered under.

Source: packages/mcp-tool-server/src/core/tools/identities.ts

NameTitleDescriptionScope
list-identitiesList identitiesList the caller's reusable contact identities, each with a count of resumes currently using it.identities:read
get-identityGet an identityFetch a single reusable contact identity by id.identities:read
create-identityCreate an identityCreate a new reusable contact identity (name/email/phone/location/links). Attach it to a resume's header with update-resume's identityId.identities:write
update-identityUpdate an identityUpdate any field on a reusable contact identity. Every field is optional; only send what changes.identities:write
delete-identityDelete an identityPermanently delete a reusable contact identity. Fails if any resume currently links to it.identities:write
clone-identityClone an identityDuplicate a reusable contact identity as a starting point for a variant.identities:write

Repositories & Tasks

Linked code repositories and the follow-up tasks attached to applications.

Source: packages/mcp-tool-server/src/core/tools/repositories-tasks.ts

NameTitleDescriptionScope
list-repositoriesList repositoriesList the caller's GitHub repositories synced from their connected GitHub account, ordered excluded-last, then by stars, then by name.repositories:read
update-repositoryUpdate a repositoryToggle whether a repository is excluded (e.g. from resume tailoring / library use). Omit excluded to flip its current value.repositories:write
sync-repositoriesSync repositories from GitHubRe-fetch the caller's owned repositories from GitHub using their stored GitHub PAT (configured in Settings) and upsert them. Fails with a 400 if no GitHub PAT is configured.repositories:write
list-tasksList tasksList the caller's tasks, newest first, optionally filtered by done state.tasks:read
create-taskCreate a taskCreate a new task.tasks:write
update-taskUpdate a taskUpdate a task's title or done state. Every field is optional; only send what changes.tasks:write
delete-taskDelete a taskPermanently delete a task.tasks:write

Cover Letters

Generate, store, and revise cover letters and outreach messages.

Source: packages/mcp-tool-server/src/core/tools/cover-letters.ts

NameTitleDescriptionScope
list-cover-lettersList cover lettersList the caller's cover letters, most recently updated first.cover-letters:read
get-cover-letterGet a cover letterFetch a single cover letter by id, including its linked resume and application references.cover-letters:read
generate-cover-letterGenerate and create a cover letterGenerate a cover letter with AI and persist it as a new cover letter record. Provide resumeId and/or applicationId; if resumeId is omitted it falls back to the application's linked resume, then the caller's BASE resume. Uses the application's job description (if any) as context.ai:generate
update-cover-letterUpdate a cover letterUpdate any field on a cover letter — title, content, outreachMessage, length, tone, customPrompt, or resumeId. Every field is optional; only send what changes.cover-letters:write
delete-cover-letterDelete a cover letterPermanently delete a cover letter.cover-letters:write
regenerate-cover-letterRegenerate a cover letterRegenerate an existing cover letter's content and outreach message with AI, overwriting it in place. Optionally switch resumeId, length ("short"/"medium"/"long"), tone ("formal"/"professional"/"casual"), or customPrompt — unset fields keep their current value.ai:generate

Standalone AI

One-shot AI helpers that do not persist anything.

Source: packages/mcp-tool-server/src/core/tools/ai-standalone.ts

NameTitleDescriptionScope
analyze-job-descriptionAnalyze resume vs. job description (keyword match)Score a resume against an application's job description: matched/missing required and preferred skills, matched/missing keywords, experience requirements, and red flags. Both resumeId and applicationId are required; the application must have a job description set.ai:generate
enhance-resume-bulletsEnhance resume bullets (stronger wording)Rewrite a set of bullet points for a position to be more impactful — stronger action verbs, more specific, quantified where possible. Does not persist; returns the enhanced text for the caller to apply.ai:generate
extract-career-factsExtract and persist a career fact libraryExtract a structured "career fact library" (achievements, skills, quantifiable results) from a resume's full text and persist it onto the resume (used later by tailor-resume-from-library and improve-resume as grounding context).ai:generate
generate-resume-summaryGenerate a professional summaryGenerate a 2-4 sentence professional summary for a resume from its experience and skills. Optional keywords to emphasize, a custom prompt, and enhanceExisting=true to rewrite/improve the resume's current summary rather than write fresh. Does not persist; returns the text for the caller to save via update-resume-profile.ai:generate
optimize-resumeOptimize resume: select bullets/skills to include (preview)AI selects which of a resume's EXISTING positions/bullets/skill-categories are most relevant to a job (by applicationId, or a bare jobTitle if there's no application yet). Returns a selection + the master resume id it was computed against — does NOT modify anything. Pass the result to apply-resume-optimization to actually create the trimmed resume. This is the "Optimize Resume" feature; it only selects/trims from what already exists on the resume — it does not pull from the Library (that's tailor-resume-from-library).ai:generate
apply-resume-optimizationApply an optimize-resume selectionClone the master resume with an optimize-resume selection applied (only the selected positions/bullets/skill categories, plus any AI-rewritten bullet text) into a new resume.ai:generate
quantify-resume-bulletsQuantify resume bullets (add metrics)Rewrite bullets to add or sharpen quantified results (%, $, counts) where plausible. Does not persist; returns the enhanced text.ai:generate
score-resumeScore a resume (local, non-AI)Compute a deterministic local resume score (impact language, bullet length, action-verb ratio, has-summary, etc.) — fast, no AI call, no persistence.resumes:read
screen-resumeScreen Resume (AI recruiter simulation)Simulate a recruiter's first-pass screen of a resume with an AI model — an overall score plus per-dimension breakdown. Persists the result onto the resume (lastScreenScore/lastScreenAt). Optionally pass a jobDescription for role-specific screening.ai:generate
improve-resumeImprove Resume (one iteration)Run one iteration of the auto-improve loop: scores the resume locally, and if below targetScore (default 75), identifies the weakest dimension (optionally via a real AI screen on odd iterations, runAiScreen default true) and proposes specific bullet rewrites for it. Does NOT apply anything — pass the proposals to apply-resume-improvement. Call again with an incremented iteration to keep improving after applying. Distinct from optimize-resume: this rewrites bullet TEXT for quality, optimize-resume only selects/trims which existing bullets to include.ai:generate
apply-resume-improvementApply improve-resume proposalsApply a set of rewrite proposals from improve-resume to the resume's actual bullets or project achievements, then re-score. Each proposal's kind must match what improve-resume returned for it: 'position' proposals need bulletId, 'project' proposals need projectId.ai:generate
list-tailor-runsList tailor-from-library run historyList the caller's history of tailor-resume-from-library runs (most recent first) — which resume, which application, and what was generated.resumes:read