prepare_cv_generation

Prepare CV generation

Validate CV metadata and return truthful instructions for one read-only PDF upload that generates headlines or bios.

Authorization and permissions

Requires a valid delegated OAuth token and access to the selected workspace.

OAuth scope
mcp:ai
Workspace requirement
Authorized workspace and current membership required

Current member; mcp:ai scope, 2 MiB PDF limit, AI quota, and shared MCP AI rate limit apply.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "content_type": {
      "const": "application/pdf",
      "description": "Content type."
    },
    "filename": {
      "description": "Filename.",
      "maxLength": 255,
      "minLength": 5,
      "type": "string"
    },
    "operation": {
      "description": "Operation.",
      "enum": [
        "headline",
        "bio"
      ]
    },
    "size": {
      "description": "Size.",
      "maximum": 2097152,
      "minimum": 1,
      "type": "integer"
    },
    "team_id": {
      "description": "Consented workspace ID.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "team_id",
    "filename",
    "content_type",
    "size",
    "operation"
  ],
  "type": "object"
}

Result schema

{
  "additionalProperties": false,
  "properties": {
    "file_field": {
      "const": "cv_file",
      "description": "File field."
    },
    "headers": {
      "additionalProperties": false,
      "description": "Headers.",
      "properties": {
        "Authorization": {
          "description": "Authorization.",
          "type": "string"
        }
      },
      "required": [
        "Authorization"
      ],
      "type": "object"
    },
    "max_size": {
      "const": 2097152,
      "description": "Max size."
    },
    "method": {
      "const": "POST",
      "description": "Method."
    },
    "operation_field": {
      "description": "Operation field.",
      "type": "string"
    },
    "result": {
      "description": "Result.",
      "type": "string"
    },
    "url": {
      "description": "Url.",
      "type": "string"
    }
  },
  "required": [
    "method",
    "url",
    "file_field",
    "operation_field",
    "headers",
    "max_size",
    "result"
  ],
  "type": "object"
}

Example arguments

{
  "content_type": "application/pdf",
  "filename": "maya-chen-cv.pdf",
  "operation": "headline",
  "size": 483217,
  "team_id": 42
}

Example result

{
  "file_field": "cv_file",
  "headers": {
    "Authorization": "Bearer <delegated access token>"
  },
  "max_size": 2097152,
  "method": "POST",
  "operation_field": "operation=headline",
  "result": "Generates LinkedIn headline suggestions; it does not modify or publish content.",
  "url": "/mcp/transfers/cv/42/"
}

Errors and retry

The connection is limited to 120 tool calls per user per minute and AI tools to 30 calls per user per hour. Invalid or cross-workspace identifiers return not found; revoked membership/scope returns permission denied; invalid input and stale versions return validation errors. Existing product limits still apply; there is no separate MCP subscription quota.

Request metadata (actor, connection, workspace, tool, outcome, duration, and correlation ID) is logged; arguments and results are not. Retry reads freely. Retry a mutation only when marked idempotent; otherwise read current state before deciding whether to repeat it.

Effects, limits, and source

Workspace roles, subscription and AI usage limits, approval rules, and server rate limits are enforced at call time. Rate-limit responses identify when to retry; scheduled work returns state rather than holding the request open.

companion /mcp/transfers/cv endpoint; free_tools.generators.services

Message on LinkedIn