MCP Server — KlevrCV

The @klevercv/mcp-server npm package lets AI agents generate tailored resumes via Claude Desktop, Cursor, Cline, or any stdio MCP client — no browser automation required.

Quick Start

KLEVERCV_API_KEY=kv_live_... npx -y @klevercv/mcp-server

Get your API key from Settings. On startup the server is silent; missing API key exits with an error on stderr.

Installation

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "klevercv": {
      "command": "npx",
      "args": ["-y", "@klevercv/mcp-server"],
      "env": {
        "KLEVERCV_API_KEY": "kv_live_your_key_here"
      }
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "klevercv": {
      "command": "npx",
      "args": ["-y", "@klevercv/mcp-server"],
      "env": {
        "KLEVERCV_API_KEY": "kv_live_your_key_here"
      }
    }
  }
}

Cline

Open the Cline sidebar → MCP Servers → Configure, then add to cline_mcp_settings.json:

{
  "mcpServers": {
    "klevercv": {
      "command": "npx",
      "args": ["-y", "@klevercv/mcp-server"],
      "env": {
        "KLEVERCV_API_KEY": "kv_live_your_key_here"
      }
    }
  }
}

Other MCP Clients

Any client that supports stdio MCP servers with env vars uses the same shape. Set KLEVERCV_API_KEY in the env block and use npx -y @klevercv/mcp-server as the command.

Tools

klevercv_generate_resume

Submit a resume generation job. Returns immediately with a generation_id — does not block while the PDF is generated.

ParameterTypeRequiredDescription
job_descriptionstringYesFull job description text
job_titlestringYesJob title (e.g. "Senior Engineer")
company_namestringYesCompany name (e.g. "Acme Corp")
template_idstringNoTemplate ID from klevercv_list_templates

Example response:

generation_id: abc123
Use klevercv_get_generation_status to poll for completion.

klevercv_get_generation_status

Poll a generation job. Waits up to timeout_seconds for completion, then returns a signed download URL.

ParameterTypeRequiredDescription
generation_idstringYesID from klevercv_generate_resume
timeout_secondsnumberNoMax wait time (default: 120)

Example response (complete):

status: complete
download_url: https://...r2.cloudflarestorage.com/...?X-Amz-Expires=3600

Example response (timeout):

isError: true
GENERATION_TIMEOUT: Generation did not complete within 120 seconds. Try polling again.

klevercv_list_templates

List available resume templates with stable IDs.

No parameters.

Example response:

Templates (3):
- classic: Classic — Clean single-column format
- modern: Modern — Two-column with accent color
- minimal: Minimal — Compact single-page layout

klevercv_list_resumes

List past generated resumes with pagination.

ParameterTypeRequiredDescription
limitnumberNoResults per page (default: 10)
offsetnumberNoPagination offset (default: 0)

klevercv_get_account_info

Return credits remaining, email, and account plan.

No parameters.

Example response:

Email: user@example.com
Plan: starter
Credits remaining: 8
Total generations: 12

Error Handling

All business errors return isError: true with an error code so the agent can take corrective action without crashing.

Error CodeMeaningAgent Action
AUTH_FAILEDAPI key invalid, expired, or missingStop and ask user to check their API key
INSUFFICIENT_CREDITSNo credits leftCall klevercv_get_account_info and inform user
RATE_LIMITEDToo many requests; includes retry_after secondsWait and retry
INVALID_TEMPLATE_IDTemplate ID not recognizedCall klevercv_list_templates to get valid IDs
GENERATION_TIMEOUTPDF not ready within timeout_secondsRetry klevercv_get_generation_status with the same generation_id
RESUME_NOT_FOUNDResume ID doesn't exist or belongs to another userVerify ID with klevercv_list_resumes
GENERATION_NOT_FOUNDgeneration_id not foundVerify ID from klevercv_generate_resume response
NETWORK_ERRORNetwork or API connectivity issueRetry after a short delay

Requirements

  • Node.js >= 18
  • A KlevrCV API key — get one from Settings.