Search people open to work and fetch their machine-readable cv.json, from any AI assistant.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Full cv.json URL (alternative to slug).
The slug, e.g. "ashley" (from livelink.cv/ashley).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| url | string | Full cv.json URL (alternative to slug). |
| slug | string | The slug, e.g. "ashley" (from livelink.cv/ashley). |
{
"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)."
}
}
}Return the official cv.json JSON Schema (the format spec) — use it to understand or generate a compliant cv.json.
No arguments.
{
"type": "object",
"properties": {}
}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. Only already-public profiles are indexed; contact details are never returned (reach candidates via their portfolio).
| Argument | Type | Description |
|---|---|---|
| sort | string | Ranking: best match (default), most recently updated, or most experienced. |
| limit | integer | Max results per page (default 20). |
| query | string | Free-text query matched across name, title, skills and experience (e.g. "senior react developer"). |
| title | string | Target role/title, e.g. "Product Designer". |
| offset | integer | Result offset for paging through a large shortlist (default 0). Use with `total` in the response. |
| skills | array | Specific skills to match, e.g. ["React","TypeScript"]. |
| location | string | Country-aware location filter, e.g. "UK" (matches London/Manchester), "Berlin", "Gaza". |
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[] }.
| Argument | Type | Description |
|---|---|---|
| url | string | Fetch and validate this cv.json URL. |
| slug | string | Fetch and validate this slug's live cv.json. |
| cvjson | any | The cv.json document to validate (object or JSON string). |
{
"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)."
}
}
}| workType | array | Only candidates who OFFER one of these work arrangements. |
| languages | array | Languages the candidate must speak, e.g. ["German","Arabic"]. |
| minYearsExp | integer | Minimum years of experience. |
| sponsorship | boolean | Filter by visa-sponsorship need: false = does NOT need sponsorship, true = needs it. Candidates who never answered are excluded from this filter. |
| employmentType | array | Only candidates open to one of these employment types. |
{
"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."
}
}
}