Skip to main content
Glama
ivanprytula

cv-rest-mcp-server

by ivanprytula

CV REST/MCP 服务器

FastAPI + FastMCP 服务,可将简历渲染为 JSON 或主题化 PDF。

运行

just setup && just dev

服务器:http://localhost:8080 · MCP:/mcp(JSON-RPC,不是浏览器页面)

Related MCP server: cv-builder

REST API

方法

路径

描述

GET

/

首页

GET

/health

健康检查

GET

/cv

以 JSON 格式返回简历

GET

/cv/html?theme=<name>

以 HTML 格式渲染简历

GET

/cv/preview?theme=<name>

带工具栏的预览页面

GET

/cv/pdf?theme=<name>

以 PDF 格式返回简历(附件)

交互式 OpenAPI 文档(Swagger UI):/docs

MCP

通过 Streamable HTTP 传输挂载在 /mcp。

工具

工具

参数

返回值

get_cv

—

包含完整简历数据的 JSON 对象

get_available_themes

—

主题名称的 list[str]

generate_cv_pdf

theme: str

Base64 编码的 PDF 字节

从 MCP 客户端连接

任何兼容 MCP 的客户端(Claude Desktop、Cursor、带 Kilo 的 VS Code、Windsurf)都可以使用此服务器。将其添加到客户端的 MCP 配置中:

{
  "mcpServers": {
    "cv-rest-mcp-server": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

对于已部署的实例,请将 URL 替换为你的公共端点。

主题

classic · minimal · modern · original — 在 app/themes/<name>.py 中定义为 CSS 字符串。

内容与自定义

编辑 data/cv.json(根据 app/cv_data.py 中的 CVData 进行验证)。更改后重启。

设置 CV_DATA_PATH 以指向不同的 JSON 文件。完整模式请参阅 data/cv.example.json。

速率限制

按 IP 进行内存中限制。localhost 豁免。

端点

限制

/

30/分钟

/health

60/分钟

/cv*

30/分钟

/cv/pdf

5/15分钟

Docker

just build && just run

GCP 部署

推送到 main 会运行 CI,并且在质量检查和测试任务都通过后,自动部署到 Cloud Run。在提交消息中添加 [skip deploy] 可仅运行 CI 而不部署。GitHub 原生的 [skip ci]、[ci skip]、[no ci]、[skip actions] 和 [actions skip] 会完全跳过工作流,这可能导致必需的检查处于待处理状态。

一次性操作员设置使用部署脚本(幂等;.env 中的 SVC_NAME 命名服务、镜像和派生的服务账号):

just deploy bootstrap                                  # first full run
just deploy upload-cv                                   # publish personal CV data
just deploy wif                                        # one-time GitHub OIDC wiring

对于正常的代码发布,将绿色更改推送到 main;不要手动运行构建/部署/验证阶段。CD 验证任务会打印部署后的 URL。它也可以在 Google Cloud Console 的 Cloud Run → 服务 → URL 下查看。CLI 查找使用当前的 SVC_NAME 和 GCP_REGION;服务账号 ID 不构成 URL 的一部分。

技术栈

FastAPI · FastMCP v3 · WeasyPrint · Jinja2 · 兼容 Cloud Run(无状态,感知 $PORT)

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides MCP tools for managing a CV as structured content, including a SQLite-backed snippet library with tools to list, create, update, and match job postings, compose role-tailored CV variants, and manage drafts.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to query a person's CV and portfolio content via MCP tools and resources, returning grounded answers from local markdown data instead of relying on resume parsing.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to create, retrieve, update, delete, and export CVs as PDFs through MCP, sharing documents with the web editor.
    MIT