RemoShift Remote Jobs
Server Details
Search live remote jobs worldwide. Job search, remote salary bands, work-from-anywhere eligibility.
- Status
- Healthy
- Uptime
- 99.5% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 5 tools
Each tool targets a clearly distinct action: get_job fetches by id, search_jobs returns listings, job_facets returns aggregate counts, salary_bands returns pay percentiles, and work_anywhere_scope answers eligibility. There is no meaningful overlap—job_facets counts versus search_jobs returns records, so an agent can select confidently.
All names use snake_case, which is consistent, but the convention is mixed: get_job and search_jobs are verb_noun, while job_facets, salary_bands, and work_anywhere_scope are noun phrases with no verb. It remains readable but is not a single predictable pattern.
Five tools is well-scoped for a job search server, with each tool earning its place (discover filters, search, retrieve detail, compare pay, check eligibility). No redundant or filler tools, and nothing feels thin for the domain.
The surface covers the core job-search lifecycle: discover facets, search, fetch detail, salary insight, and location eligibility. Minor gaps remain—no explicit pagination/sorting control or saved/related-job operations—but agents can work around these via search parameters.
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_jobsAInspect
Search 140,809+ 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 carries the burden and does meaningfully more than nothing: it discloses data freshness (updated hourly), that listings are scam-filtered, that search is hybrid semantic, and what the result records contain. It still omits auth requirements, rate limits, and pagination behavior beyond the schema's limit cap.
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?
Two dense sentences with the core capability and the returned fields front-loaded; no filler or restated title.
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?
With 11 optional params, no output schema, and no annotations, the description usefully compensates by enumerating the returned fields (title, company, salary, apply_url, detail_url) and the freshness/filtering guarantees. It stops short of routing guidance among the four sibling tools, which is the only notable gap.
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 82%, so the schema documents nearly every filter (country, seniority enum, has_salary, posted_within_days, etc.). The description's only param-relevant addition is confirming natural-language queries / hybrid semantic search, which partly overlaps the query field's own description. Baseline 3 is appropriate.
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 verb and resource ("Search ... remote jobs") plus differentiating scope: scam-filtered, remote-only, updated hourly, with a live count. An agent can tell this is the bulk search entry point versus the single-record get_job or the analytics siblings (salary_bands, job_facets).
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 mention of a canonical detail_url implies search-then-fetch-detail flow, but no sibling is named and no when-to-use/when-not condition is stated. Usage is only implied, which is the definition of a 3.
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
Search remote jobs, compare salaries, create alerts, and request user-confirmed apply links.
Search 50,000 live remote jobs, match your resume, get a tailored resume and cover letter.
Find fresh remote jobs matched to a person's experience, goals, and eligible locations.
Search current remote / work-from-home jobs by category, region, perk, or company.
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.316 PyPIMIT
- AlicenseAqualityDmaintenanceSearch current remote / work-from-home jobs by category, region, perk, or company — with ready-to-apply links.5MIT
- AlicenseNot gradedqualityBmaintenanceSearch 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 gradedqualityBmaintenanceEnables 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.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.