{"serverId":"mcp-registry/io.github.freecvorg/cvjson","tools":[{"name":"fetch_cv","fixed":{"name":"fetch_cv","description":"Fetch a person's cv.json — their full machine-readable CV — by FreeCV slug or livelink.cv URL. Returns structured JSON: basics, work, education, skills, languages, availability, ats, verification, i18n.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Full cv.json URL (alternative to slug)."},"slug":{"type":"string","description":"The slug, e.g. \"ashley\" (from livelink.cv/ashley)."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":128,"tokensAfter":128},{"name":"get_cvjson_schema","fixed":{"name":"get_cvjson_schema","description":"Return the official cv.json JSON Schema (the format spec) — use it to understand or generate a compliant cv.json.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"search_open_to_work","fixed":{"name":"search_open_to_work","description":"Search FreeCV's LIVE index of real people who are open to work — by skills, role/title, location, and recruiter facets (work type, employment type, visa sponsorship, languages, minimum experience). Returns lean candidate cards (name, current role @ company, location, top skills, languages, and the full availability preferences) plus each person's cv.json URL and portfolio URL — enough to shortlist WITHOUT a fetch_cv per candidate. Call fetch_cv on a result to read the complete structured CV. Onl","inputSchema":{"type":"object","properties":{"sort":{"enum":["best","fresh","exp"],"type":"string","description":"Ranking: best match (default), most recently updated, or most experienced."},"limit":{"type":"integer","maximum":50,"minimum":1,"description":"Max results per page (default 20)."},"query":{"type":"string","description":"Free-text query matched across name, title, skills and experience (e.g. \"senior react developer\")."},"title":{"type":"string","description":"Target role/title, e.g. \"Product Designer\"."},"offset":{"type":"integer","minimum":0,"description":"Result offset for paging through a large shortlist (default 0). Use with `total` in the response."},"skills":{"type":"array","items":{"type":"string"},"description":"Specific skills to match, e.g. [\"React\",\"TypeScript\"]."},"location":{"type":"string","description":"Country-aware location filter, e.g. \"UK\" (matches London/Manchester), \"Berlin\", \"Gaza\"."},"workType":{"type":"array","items":{"enum":["remote","hybrid","onsite"],"type":"string"},"description":"Only candidates who OFFER one of these work arrangements."},"languages":{"type":"array","items":{"type":"string"},"description":"Languages the candidate must speak, e.g. [\"German\",\"Arabic\"]."},"minYearsExp":{"type":"integer","minimum":1,"description":"Minimum years of experience."},"sponsorship":{"type":"boolean","description":"Filter by visa-sponsorship need: false = does NOT need sponsorship, true = needs it. Candidates who never answered are excluded from this filter."},"employmentType":{"type":"array","items":{"enum":["full-time","part-time","contract","internship","temporary","volunteer"],"type":"string"},"description":"Only candidates open to one of these employment types."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":637,"tokensAfter":637},{"name":"validate_cv","fixed":{"name":"validate_cv","description":"Validate a cv.json document against the official cv.json schema. Provide the document (cvjson, object or JSON string) OR a slug/url to fetch and validate. Returns { valid, errors[] }.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Fetch and validate this cv.json URL."},"slug":{"type":"string","description":"Fetch and validate this slug's live cv.json."},"cvjson":{"description":"The cv.json document to validate (object or JSON string).","type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: cvjson. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":144,"tokensAfter":149}],"toolsChanged":4,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}