Skip to main content
Glama
ivanprytula

cv-rest-mcp-server

by ivanprytula

CV REST/MCP Server

FastAPI + FastMCP-Dienst, der ein CV als JSON oder thematisierte PDFs rendert.

Ausführen

just setup && just dev

Server: http://localhost:8080 · MCP: /mcp (JSON-RPC, keine Browserseite)

Related MCP server: cv-builder

REST-API

Methode

Pfad

Beschreibung

GET

/

Startseite

GET

/health

Gesundheitscheck

GET

/cv

CV als JSON

GET

/cv/html?theme=<name>

CV als HTML gerendert

GET

/cv/preview?theme=<name>

Vorschauseite mit Symbolleiste

GET

/cv/pdf?theme=<name>

CV als PDF (Anhang)

Interaktive OpenAPI-Dokumentation (Swagger UI): /docs

MCP

Eingebunden unter /mcp über Streamable HTTP transport.

Werkzeuge

Werkzeug

Parameter

Rückgabe

get_cv

—

JSON-Objekt mit vollständigen CV-Daten

get_available_themes

—

list[str] der Themennamen

generate_cv_pdf

theme: str

Base64-kodierte PDF-Bytes

Verbindung von einem MCP-Client

Jeder MCP-kompatible Client (Claude Desktop, Cursor, VS Code mit Kilo, Windsurf) kann diesen Server verwenden. Fügen Sie Folgendes zur MCP-Konfiguration Ihres Clients hinzu:

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

Für eine bereitgestellte Instanz ersetzen Sie die URL durch Ihren öffentlichen Endpunkt.

Themes

classic · minimal · modern · original — definiert in app/themes/<name>.py als CSS-Zeichenketten.

Inhalt & Anpassung

Bearbeiten Sie data/cv.json (validiert gegen CVData in app/cv_data.py). Starten Sie nach Änderungen neu.

Setzen Sie CV_DATA_PATH, um auf eine andere JSON-Datei zu verweisen. Siehe data/cv.example.json für das vollständige Schema.

Ratenbegrenzung

Pro IP, im Speicher. localhost ausgenommen.

Endpunkt

Limit

/

30/min

/health

60/min

/cv*

30/min

/cv/pdf

5/15min

Docker

just build && just run

GCP-Bereitstellung

Pushes auf main führen CI aus und nachdem sowohl Qualitäts- als auch Testjobs bestanden sind, wird automatisch auf Cloud Run bereitgestellt. Fügen Sie [skip deploy] zu einer Commit-Nachricht hinzu, um CI ohne Bereitstellung auszuführen. GitHub-native [skip ci], [ci skip], [no ci], [skip actions] und [actions skip] überspringen den Workflow vollständig, was erforderliche Prüfungen ausstehend lassen kann.

Die einmalige Operator-Einrichtung verwendet das Bereitstellungsskript (idempotent; SVC_NAME in .env benennt den Dienst, das Image und die abgeleiteten Dienstkonten):

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

Für eine normale Code-Veröffentlichung pushen Sie eine grüne Änderung auf main; führen Sie die Build-/Deploy-/Verify-Stufen nicht manuell aus. Der CD-Verify-Job gibt die bereitgestellte URL aus. Sie ist auch in der Google Cloud Console unter Cloud Run, dem Dienst, dann URL sichtbar. Die CLI-Suche verwendet die aktuelle SVC_NAME und GCP_REGION; Dienstkonto-IDs sind nicht Teil der URL.

Stack

FastAPI · FastMCP v3 · WeasyPrint · Jinja2 · Cloud Run-kompatibel (zustandslos, $PORT-bewusst)

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