Live job search (US, France, Europe, remote) with each posting's visa-sponsorship stance. Free.
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.
Get the link where the user can have OfferMagnet tailor their resume to these jobs and apply for them automatically (3-day free trial). Call it when the user wants to apply, not just browse.
Job ids from search_jobs (optional).
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http jobs https://offermagnet.io/mcp
Get the link where the user can have OfferMagnet tailor their resume to these jobs and apply for them automatically (3-day free trial). Call it when the user wants to apply, not just browse.
| Argument | Type | Description |
|---|---|---|
| job_ids | array | Job ids from search_jobs (optional). |
{
"type": "object",
"properties": {
"job_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Job ids from search_jobs (optional)."
}
},
"additionalProperties": false
}Read a job posting's text and say whether it sponsors visas (yes), refuses sponsorship or requires citizenship/clearance (no), or says nothing (unknown), quoting the deciding sentence.
| Argument | Type | Description |
|---|---|---|
| text* | string | The job posting text (paste the whole description). |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "The job posting text (paste the whole description)."
}
},
"additionalProperties": false
}Full posting text and details for one job id from search_jobs.
| Argument | Type | Description |
|---|---|---|
| id* | string | Job id from search_jobs, e.g. "greenhouse:acme:123". |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Job id from search_jobs, e.g. \"greenhouse:acme:123\"."
}
},
"additionalProperties": false
}Counts of live postings by country, contract type, remote and visa wording, from the same index.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Search live job postings by keywords, country, contract type, remote, visa sponsorship, employer and age. Returns title, company, location, salary when posted, visa reading with the quoted sentence, the employer's apply link and an OfferMagnet link that tailors a resume and applies.
| Argument | Type | Description |
|---|---|---|
| q | string | Keywords: job title, skill or company, e.g. "machine learning engineer". |
| type | string | Contract type. |
| visa | string | yes = the posting offers visa sponsorship; no = it refuses it or requires citizenship. |
| limit | integer | Results per page (default 20). |
| offset | integer | Pagination offset. |
| remote | boolean | true = remote postings only, false = on-site/hybrid only. |
| company | string | Exact employer name, e.g. "Anthropic". |
| country | string | ISO 3166 alpha-2 country, e.g. US, FR, GB, ES, DE, CA. |
| posted_days | integer |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.
| Only postings from the last N days (default 45). |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Keywords: job title, skill or company, e.g. \"machine learning engineer\"."
},
"type": {
"enum": [
"fulltime",
"parttime",
"internship",
"alternance",
"freelance",
"vie"
],
"type": "string",
"description": "Contract type."
},
"visa": {
"enum": [
"yes",
"no"
],
"type": "string",
"description": "yes = the posting offers visa sponsorship; no = it refuses it or requires citizenship."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Results per page (default 20)."
},
"offset": {
"type": "integer",
"maximum": 500,
"minimum": 0,
"description": "Pagination offset."
},
"remote": {
"type": "boolean",
"description": "true = remote postings only, false = on-site/hybrid only."
},
"company": {
"type": "string",
"description": "Exact employer name, e.g. \"Anthropic\"."
},
"country": {
"type": "string",
"description": "ISO 3166 alpha-2 country, e.g. US, FR, GB, ES, DE, CA."
},
"posted_days": {
"type": "integer",
"maximum": 45,
"minimum": 1,
"description": "Only postings from the last N days (default 45)."
}
},
"additionalProperties": false
}