JSON Resume MCP Server

Official
  • src
// JSON Resume schema types based on https://jsonresume.org/schema/ export interface Resume { basics?: Basics; work?: Work[]; volunteer?: Volunteer[]; education?: Education[]; awards?: Award[]; certificates?: Certificate[]; publications?: Publication[]; skills?: Skill[]; languages?: Language[]; interests?: Interest[]; references?: Reference[]; projects?: Project[]; meta?: Meta; } export interface Basics { name?: string; label?: string; image?: string; email?: string; phone?: string; url?: string; summary?: string; location?: Location; profiles?: Profile[]; } export interface Location { address?: string; postalCode?: string; city?: string; countryCode?: string; region?: string; } export interface Profile { network?: string; username?: string; url?: string; } export interface Work { name?: string; position?: string; url?: string; startDate?: string; endDate?: string; summary?: string; highlights?: string[]; location?: string; } export interface Volunteer { organization?: string; position?: string; url?: string; startDate?: string; endDate?: string; summary?: string; highlights?: string[]; } export interface Education { institution?: string; url?: string; area?: string; studyType?: string; startDate?: string; endDate?: string; score?: string; courses?: string[]; } export interface Award { title?: string; date?: string; awarder?: string; summary?: string; } export interface Certificate { name?: string; date?: string; issuer?: string; url?: string; } export interface Publication { name?: string; publisher?: string; releaseDate?: string; url?: string; summary?: string; } export interface Skill { name?: string; level?: string; keywords?: string[]; category?: string; // Added for skills grouping } export interface Language { language?: string; fluency?: string; } export interface Interest { name?: string; keywords?: string[]; } export interface Reference { name?: string; reference?: string; } export interface Project { name?: string; description?: string; highlights?: string[]; keywords?: string[]; startDate?: string; endDate?: string; url?: string; roles?: string[]; entity?: string; type?: string; } export interface Meta { canonical?: string; version?: string; lastModified?: string; } // Sample resume template export const sampleResume: Resume = { basics: { name: "", label: "Software Developer", email: "", phone: "", summary: "Experienced software developer with a passion for creating efficient and scalable applications.", location: { city: "", countryCode: "", region: "" }, profiles: [ { network: "GitHub", username: "", url: "" }, { network: "LinkedIn", username: "", url: "" } ] }, work: [], education: [], skills: [], projects: [], meta: { version: "v1.0.0", lastModified: new Date().toISOString() } };