JSON Resume MCP Server
Official
by jsonresume
- 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()
}
};