一个用于生成中文简历 PDF 并上传返回可访问链接的 MCP 工具与示例脚本。内置中文字体支持,适合中文内容排版。
## 特性
- 以 JSON 输入生成结构化简历 PDF
- 自动居中排版、模块分隔、链接可点击
- 内置中文字体(NotoSerifCJK)与粗体支持
- 可配置模块渲染顺序(教育、经历、项目、技能、荣誉)
- 上传到可访问的 URL(默认示例接口,可自行替换)
## 快速开始
### 环境要求
- Node.js ≥ 18
### 安装依赖
```bash
npm install
```
### 生成示例简历(本地)
```bash
node generate_resume.js
```
- 输出文件:`resume.pdf`
- 示例数据位于代码中,可作为结构参考(`generate_resume.js`)。
## 作为 MCP 工具使用
本项目内置一个 MCP 工具服务,采用 `stdio` 作为传输。你可以将其接入任意支持 MCP 的客户端。
```bash
{
"mcpServers": {
"resume": {
"command": "npx",
"args": [
"@tgapk/mcp-resume"
]
}
}
}
```
### 工具说明
- 工具名:`generate_resume`
- 输入:简历信息的 JSON(见下方示例)
- 输出:上传后的简历访问 URL(字符串)
#### 参数示例
```json
{
"fullName": "张三",
"email": "zhangsan@example.com",
"phone": "+86 138-0000-0000",
"location": "北京",
"website": "https://github.com/zhangsan",
"education": [
{
"institution": "清华大学",
"degree": "计算机科学(学士)",
"startDate": "2018-09",
"endDate": "2022-06",
"summary": "主修算法与前端技术"
}
],
"experience": [
{
"company": "某互联网公司",
"department": "前端团队",
"position": "前端开发工程师",
"startDate": "2022-07",
"endDate": "至今",
"highlights": [
"搭建组件库与主题系统",
"性能优化,LCP 降低 30%"
]
}
],
"projects": [
{
"name": "内容推荐系统",
"role": "核心开发",
"url": "https://example.com/project",
"summary": "基于用户行为的个性化推荐",
"highlights": ["使用 GraphQL","前后端契约测试"]
}
],
"skills": ["TypeScript","React","Node.js"],
"honors": ["前端性能优化奖"],
"order": ["experience","projects","skills","education","honors"]
}
```
## 自定义与扩展
- 字体:`fonts/` 目录内置中文字体,若缺失将回退到系统字体。
- 模块顺序:通过 `order` 指定模块渲染顺序(未指定的模块会按默认顺序补齐)。
- 链接处理:`website` 字段自动补全协议并在 PDF 中可点击。
- 样式:颜色、行高与间距等在代码中可调整。
## 文件结构
- `mcp.js`:MCP 服务入口与工具注册(`stdio` 传输)
- `generate_resume.js`:PDF 生成逻辑与示例数据调用
- `upload.js`:上传 PDF 并返回可访问 URL
- `fonts/`:中文字体文件(常规与粗体)
## 注意事项
- 上传接口默认指向:`https://xihuanwanyuanshen.icu/resume/upload/`,请根据实际情况替换为你的服务端地址。
- 隐私与合规:上传前请确认简历内容不包含个人敏感信息或严格保密内容。
- 生成的 PDF 默认保存为 `resume.pdf`,可在调用时传入自定义输出路径。
## 许可证
- License:ISC