RemoShift Remote Jobs
Server Details
Search live remote jobs worldwide. Job search, remote salary bands, work-from-anywhere eligibility.
- Status
- Healthy
- Uptime
- 99.4% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: search, detail retrieval, facet counts, salary statistics, and country eligibility. There is no meaningful overlap between search_jobs and get_job because one returns summaries/detail URLs and the other returns full descriptions by id.
All tool names use snake_case consistently, which makes them readable and predictable. The patterns vary slightly—verb_noun for search_jobs/get_job, noun_noun for job_facets/salary_bands, and a phrase for work_anywhere_scope—but this is a minor deviation rather than confusion.
Five tools is well-scoped for a remote-jobs search server. Each tool earns its place by covering a distinct user need: discovery, detail lookup, aggregation, salary insight, and eligibility.
The surface covers the core read-only workflows for a job index: search, details, facets, salary data, and location eligibility. Minor gaps exist, such as no explicit company/profile lookup or taxonomy browse beyond facet counts, but agents can work around these.
Available Tools
5 toolsget_jobAInspect
Fetch one job in full (description included) by the 8-hex id that appears at the end of a detail_url.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 6-16 char hex job id, e.g. "c00584a5" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It does so by clarifying this is a fetch (read) operation that returns the full job including the description field. It does not disclose error/not-found behavior, which is a minor gap for a read-by-id tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and identifier source, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter and no output schema; the description tells the agent exactly what to provide and what it will get back (full job with description). It omits only non-critical details like not-found handling and explicit sibling routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes id as 6-16 char hex (100% coverage), so baseline is 3. The description adds value by explaining where the id comes from (end of detail_url) and reinforces the expected format, though its '8-hex' phrase is slightly narrower than the schema's '6-16 char'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Fetch one job in full'), a concrete resource ('one job'), and a precise identifier source (the 8-hex id from detail_url). The phrase 'in full (description included)' distinguishes this from list/search siblings that return summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage is clear: use this when you already have the job id from a detail_url and need the complete record. It does not explicitly name sibling alternatives or exclusions, but the single-job-by-id framing makes the routing unambiguous for most agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
job_facetsAInspect
Counts by source, category, country and tag across the live index — call this first to learn what filters are useful.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool returns counts across the live index, which implies a read-only aggregation operation. However, it doesn't disclose details like whether counts are approximate, how the live index is defined, or whether there are limits on the counts returned. The description is honest but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence with no wasted words. It front-loads the core function (counts by dimensions) and then gives the usage directive. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter aggregation tool, the description is nearly complete. It explains what the tool does and when to use it. The only missing context is what the output looks like (e.g., a map of dimension to counts) and whether there are any caveats about the live index, but the absence of an output schema and parameters lowers the burden. A 4 is fair.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete. The description adds meaning by explaining what the counts are grouped by (source, category, country, tag), which is the entire semantic payload. With no parameters, a baseline of 4 is appropriate, and the description fully compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool counts jobs by source, category, country, and tag across the live index. It also distinguishes its purpose from siblings by saying to call it first to learn what filters are useful, which differentiates it from get_job and search_jobs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool: call it first to learn what filters are useful. This implies it should be used before search_jobs to inform filter choices, and it is not for retrieving individual jobs or search results. It provides clear context and a usage directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
salary_bandsAInspect
Remote salary percentiles (p25 / median / p75, USD) per role, from jobs that disclosed pay in the live index, with an optional seniority breakdown. Use this to answer "what does a remote X earn?". Call with no arguments to list every role and its median.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Role slug or title, e.g. "data-engineer" or "Data Engineer". Omit to list all roles. | |
| seniority | No | Optional: narrow to one seniority band |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the data source ('jobs that disclosed pay in the live index'), the available percentile breakdown, the optional seniority filtering, and the no-arguments behavior that lists every role and its median. This is meaningful context beyond the schema, though it does not describe the exact response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff: content, intended use case, and no-argument behavior are all front-loaded. Every clause adds useful information, and the tool remains compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-optional-parameter lookup tool, the description covers the data source, the returned statistic set, the optional seniority filter, and the default listing behavior. It is slightly incomplete in not specifying the output shape, but the described percentiles and role-list behavior are enough for an agent to call and interpret it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description slightly reinforces the 'optional seniority breakdown' and no-args behavior, but those concepts already appear in the parameter descriptions, so it adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (remote salary percentiles per role), states the exact statistics and currency (p25/median/p75 USD), and even gives the canonical use case phrase ('what does a remote X earn?'). It is clearly distinguishable from the sibling search/facet/job tools because it is the only one about pay ranges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use the tool ('Use this to answer...') and what calling with no arguments does. It does not explicitly contrast it with sibling tools like search_jobs or job_facets, but the salary-specific purpose makes the intended context unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jobsBInspect
Search 135,072+ live, scam-filtered remote jobs (updated hourly). Natural-language queries OK (hybrid semantic search). Returns title, company, location, salary when disclosed, posted date, an employer apply_url, and a canonical detail_url to link back to.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Skill tag, e.g. "react", "python", "figma" | |
| sort | No | relevance | |
| limit | No | Max results, 1-25 (default 10) | |
| query | No | Keywords or a natural-language description, e.g. "senior react engineer" | |
| source | No | Origin board/ATS name, e.g. "Himalayas", "RemoteOK", "Greenhouse" | |
| country | No | ISO-2 country code the job must accept applicants from, e.g. "US", "HK", "DE" | |
| category | No | Job category, e.g. "developer", "design", "customer service", "sales", "marketing" | |
| seniority | No | ||
| has_salary | No | true = only jobs that disclose salary | |
| work_anywhere | No | true = location-independent jobs only | |
| posted_within_days | No | Only jobs posted in the last N days |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the whole burden of explaining behavior. It usefully discloses data freshness (hourly), scam filtering, hybrid semantic search, and key return fields including apply_url and detail_url. It does not cover pagination beyond the schema's limit cap, authentication, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is two tightly packed sentences with no filler. The scope, data quality, and return contents are front-loaded, and every clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is reasonably complete for an 11-parameter search tool because the schema documents the parameters well and the description explains the return shape even though no output schema exists. However, it omits routing guidance against four siblings and does not address pagination, rate limits, or authentication, so it is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 82% schema description coverage, the schema already documents nearly every parameter. The description repeats that natural-language queries are allowed, but it adds little beyond the schema's own query examples and does not explain ranking behavior for the sort enum or the interaction among filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The definition uses a specific verb and resource: "Search … remote jobs." It also gives scope and quality signals ("live," "scam-filtered," "updated hourly"), so an agent can tell what the tool does. It does not name or distinguish any sibling tool such as get_job, job_facets, or salary_bands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but never says when to use it instead of get_job, job_facets, salary_bands, or work_anywhere_scope. It mentions that natural-language queries are supported, but that is guidance for the query parameter rather than for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
work_anywhere_scopeAInspect
Answer "can I work remotely from ?" — returns how many live jobs accept applicants in that country and how many are location-independent (no country restriction). This is eligibility, not a hiring guarantee.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO-2 country code, e.g. "PT", "US", "DE" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the read-only nature by saying it 'returns' counts. It also clarifies that the result is 'eligibility, not a hiring guarantee,' which is a useful behavioral caveat beyond the basic schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. It front-loads the main purpose, states the exact output, and adds one important caveat. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple one-parameter tool with no output schema and no annotations, so the description needs to cover the return meaning. It does: it explains that the result is counts of accepting and location-independent jobs, plus the eligibility caveat. It could mention edge cases like invalid country codes, but that is not critical for a tool this simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the country parameter is already fully described with ISO-2 format and examples. The description adds only the context that the country is the location being checked, not new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it answers the eligibility question for a country and returns concrete counts. The output focus on aggregate counts clearly separates it from siblings like search_jobs or get_job, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context by framing the exact user question it answers: 'can I work remotely from <country>?'. It does not explicitly mention alternatives or when not to use the tool, but the purpose is specific enough that an agent can infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Remote jobs: job search, salary data and application tracking, or post a job and hire candidates
Live remote frontend, backend and Java developer jobs: search, salaries, hiring companies.
Live job postings worldwide: search by role, country, remote, salary, visa; pay and demand stats.
1Live remote jobs filtered to the ones a person can take from the country they live in.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLive normalized remote-job data across 5 boards — one keyless endpoint, one schema, skill fit-score. No API key required. Tools: search jobs by skills + salary floor, live market stats, and computed salary bands.55 PyPIMIT
- AlicenseAqualityDmaintenanceSearch current remote / work-from-home jobs by category, region, perk, or company — with ready-to-apply links.5MIT
- AlicenseNot gradedqualityDmaintenanceSearch live startup.jobs listings with filters for role, location, and employment type, plus get job details, company profiles, hiring trends, and salary benchmarks.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search remote job listings, read full descriptions and structured metadata, compare roles, and retrieve original application links when the account's subscription and scopes allow.20 npm17MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.