Skip to main content
Glama

WerkCV – Dutch CV check

Open the CV in the WerkCV editor

open_in_editor

Open the CV, and optionally the vacancy, in the WerkCV editor to edit it and download a PDF. No account needed. Returns a single-use link that expires after 60 minutes; the text is deleted when the link is opened. Call when the user wants to edit, apply fixes, or download, or accepts a nextStep that offers the editor.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "cv_text": "<cv_text>"
    },
    "name": "open_in_editor"
  }
}

Input Schema

NameRequiredDescriptionDefault
localeNoLanguage of the CV and the answer. Detected from the text when omitted.
cv_textYesThe full text of the CV (200-25,000 characters). Remove BSN, ID and bank numbers first.
vacancy_textNoThe full vacancy text: requirements and responsibilities (120-18,000 characters).

Output Schema

NameRequiredDescriptionDefault
urlYes
metaYes
opensWithYesWhich view the editor opens with.
singleUseYes
userMessageYesLine the agent can show next to the link, e.g. that it works once and expires.
includesVacancyYes
expiresInMinutesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "expiresInMinutes": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "includesVacancy": {
      +      "type": "boolean"
      +    },
      +    "meta": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "locale": {
      +          "enum": [
      +            "nl",
      +            "en"
      +          ],
      +          "type": "string"
      +        },
      +        "schemaVersion": {
      +          "const": "2.0.0",
      +          "type": "string"
      +        },
      +        "scoringVersion": {
      +          "type": "string"
      +        },
      +        "tool": {
      +          "enum": [
      +            "check_cv",
      +            "match_vacancy",
      +            "open_in_editor"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "tool",
      +        "schemaVersion",
      +        "scoringVersion",
      +        "locale"
      +      ],
      +      "type": "object"
      +    },
      +    "opensWith": {
      +      "description": "Which view the editor opens with.",
      +      "enum": [
      +        "check",
      +        "match"
      +      ],
      +      "type": "string"
      +    },
      +    "singleUse": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "userMessage": {
      +      "description": "Line the agent can show next to the link, e.g. that it works once and expires.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url",
      +    "expiresInMinutes",
      +    "singleUse",
      +    "includesVacancy",
      +    "opensWith",
      +    "userMessage",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only give the generic safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false); the description adds genuinely non-derivable behavior: no account needed, a single-use link, 60-minute expiry, and text deletion once the link is opened. These are exactly the lifecycle and privacy traits an agent cannot infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action and outcome, then the link lifecycle, then the trigger conditions. No filler or restatement of the name/title; every sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is unnecessary, and the description covers the one non-obvious return trait (ephemeral single-use link). With 100% schema coverage and annotations present, nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters (locale, cv_text, vacancy_text, including ranges and the PII-removal instruction) are already fully documented. The description adds only the soft hint that the vacancy is 'optional,' which is a marginal gain over the schema's required list; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Open the CV ... in the WerkCV editor to edit it and download a PDF') and scopes it to the WerkCV editor product, which clearly separates it from the analysis-oriented siblings check_cv and match_vacancy. An agent can tell what it does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to call: 'when the user wants to edit, apply fixes, or download, or accepts a nextStep that offers the editor.' That is strong routing guidance, but it never states when NOT to use it (e.g., when the user only wants a score or match, use check_cv/match_vacancy instead), so the sibling differentiation is implied rather than spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.