# 4dayweek.io Jobs (remote · 4dayweek.io)

Search reduced-hours jobs and employers: 4-day weeks, 9-day fortnights, half-day Fridays and more.

- Trust score: 76/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-23

## Components

- remote · `4dayweek.io`: 76/100 (this document), [markdown](https://verifymcp.io/servers/io-4dayweek-jobs/api-mcp.md), [page](https://verifymcp.io/servers/io-4dayweek-jobs/api-mcp)

## Channel facts

- Endpoint: `https://4dayweek.io/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.4.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-23.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 62/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2159 tokens (~359/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 33/100
  - Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the 4dayweek.io Jobs MCP server?

4dayweek.io Jobs is a hosted endpoint at https://4dayweek.io/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-4dayweek-jobs 'https://4dayweek.io/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-4dayweek-jobs": {
      "url": "https://4dayweek.io/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-4dayweek-jobs": {
      "type": "http",
      "url": "https://4dayweek.io/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-4dayweek-jobs]
url = "https://4dayweek.io/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-4dayweek-jobs": {
      "type": "remote",
      "url": "https://4dayweek.io/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-4dayweek-jobs --url 'https://4dayweek.io/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-4dayweek-jobs:
    url: "https://4dayweek.io/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-4dayweek-jobs": {
      "Transport": "http",
      "Url": "https://4dayweek.io/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-4dayweek-jobs -t streamable-http -u 'https://4dayweek.io/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-4dayweek-jobs": {
      "type": "http",
      "url": "https://4dayweek.io/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-23 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-18 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-16 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 72, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-13 (score 71)

First indexed and scored.

## MCP tools (6)

### `explain_schedule_type` (~157 tokens)

Explain schedule type

Defines a working-hours schedule precisely: what it means, whether it genuinely reduces weekly hours, whether that reduction is at full pay, the typical hours, and — where one is commonly made — the mistake most often made about it.

Call it when the user's question turns on what a schedule means, for example whether a compressed 4x10 counts as a 4-day week, or whether a schedule is at full pay. A compressed 4x10 gives four days but not fewer hours, and is not a 4-day week. Omitting the argument returns every definition at once.

Input parameters:

- `schedule_type` (string): A schedule_type value, e.g. 4_day_week or compressed_week. Omit to get every definition.

Output parameters:

- `definition` (null|object)
- `key_rule` (string)
- `methodology` (string)
- `schedule_types` (object)

### `get_company` (~163 tokens)

Get employer

Fetch one employer's full profile by slug, as returned by search_companies.

Returns the schedule policy and what it means, full-time weekly hours, the office-presence policy and whether the employer hires worldwide, benefits, industry, headcount, founding year, the work-life score, the count of open roles, and the employer's own website.

Where the employer has published them, it also returns which day is off, vacation days, fully-paid parental leave weeks for both parents, a no-meeting day, and verified work-life awards with the year and a proof url for each.

Where the employer's schedule is sourced from a public announcement, four_day_reference_url is that source.

Input parameters:

- `slug` (string, required): The slug, as returned by the matching search tool.

Output parameters:

- `awards` (null|array)
- `benefits` (null|object)
- `company_size` (string)
- `country` (string)
- `day_off` (string)
- `description` (string)
- `employee_count` (integer)
- `founded_year` (null|integer)
- `four_day_reference_url` (string)
- `hires_worldwide` (null|boolean)
- `hours_full_time` (integer)
- `hybrid_office_days` (null|object)
- `industry` (string)
- `logo_url` (string)
- `methodology` (string)
- `name` (string)
- `no_meeting_day` (string)
- `open_roles` (null|integer)
- `parental_leave_secondary_weeks` (integer)
- `parental_leave_weeks` (integer)
- `remote_level` (string)
- `schedule_meaning` (string)
- `schedule_type` (string)
- `schedule_type_description` (string)
- `short_description` (string)
- `slug` (string)
- `url` (string)
- `vacation_days` (integer)
- `vacation_description` (string)
- `verified` (boolean)
- `website_url` (string)
- `work_life_score` (integer)

### `get_job` (~218 tokens)

Get job

Fetch one live job listing in full by its slug, as returned by search_jobs.

Returns the complete description, the schedule type and what it means, weekly hours, work arrangement and locations, category, seniority, contract type, required skills, acceptable timezones where the employer listed them, visa sponsorship where the employer stated one, the work-life score, and salary ONLY where the employer published one — we never estimate a salary.

A very long description is truncated on a paragraph boundary; when that happens the response says so and gives the url of the full listing.

Applying happens on the job's page on 4dayweek.io, which the url field points to. apply_method says what a person finds there: "external" means the page hands off to the employer's own application form, "on_page" means they apply on 4dayweek.io itself. There is no separate employer link in this response, and constructing one is not possible from it.

Input parameters:

- `slug` (string, required): The slug, as returned by the matching search tool.

Output parameters:

- `application_closes_at` (string)
- `apply_method` (string)
- `category` (string)
- `company` (string)
- `company_slug` (string)
- `company_url` (string)
- `contract_type` (string)
- `description` (string)
- `description_note` (string)
- `description_truncated` (boolean)
- `expires_at` (string)
- `hours_per_week` (null|object)
- `level` (string)
- `locations` (null|array)
- `posted_at` (string)
- `role` (string)
- `salary` (null|object)
- `schedule_meaning` (string)
- `schedule_type` (string)
- `skills` (null|array)
- `slug` (string)
- `stack` (null|array)
- `timezones` (null|array)
- `title` (string)
- `tools` (null|array)
- `url` (string)
- `visa_sponsorship` (string)
- `work_arrangement` (string)
- `work_life_score` (integer)

### `get_market_stats` (~107 tokens)

Market statistics

Aggregate statistics on the reduced-hours job market: how many employers are tracked, how many run each schedule type, the distribution of weekly hours, and which day the non-working day falls on.

Use this for "how common is a 4-day week" questions. The response separates genuinely reduced-hours employers from compressed 4x10 employers, and reports the full-pay and pro-rata splits separately, so quote whichever the question actually asked for. Figures carry an as_of date; cite it.

Output parameters:

- `as_of` (string)
- `companies_by_hours_full_time` (object)
- `companies_by_schedule_type` (object)
- `companies_tracked` (integer)
- `compressed_4x10_not_a_4_day_week` (null|integer)
- `four_day_week_day_off` (object)
- `four_day_week_fixed_day_total` (null|integer)
- `four_day_week_full_pay` (null|integer)
- `four_day_week_pro_rata` (null|integer)
- `full_data` (string)
- `genuinely_reduced_hours_total` (null|integer)
- `live_jobs` (integer)
- `methodology` (string)
- `notes` (null|array)

### `search_companies` (~423 tokens)

Search companies

Search employers by their working-hours policy.

This answers "which companies offer a 4-day week" style questions at the employer level, where the policy actually lives, rather than per listing. The same schedule_type semantics as search_jobs apply: "compressed_week" is a 4x10 and is not a 4-day week.

Two location facts are separate and are often confused. country is where the employer is based. hires_worldwide is whether it accepts applicants from any country. remote_level is its office-presence policy, and a fully-remote employer can still hire in one country only.

Each result carries the employer's name, slug, url, schedule type, full-time hours, remote level and count of open roles. get_company takes the slug and returns the full profile.

Paging works as in search_jobs: at most 25 employers per call, with page, page_size, returned, total_matching, has_more and next_page.

Input parameters:

- `country` (string): Country name. This is where the employer is based, which is a different question from where it will hire — see hires_worldwide.
- `has_jobs` (boolean): Only employers with at least one live listing.
- `hires_worldwide` (boolean): Only employers that accept applicants from any country.
- `limit` (integer): Results per page. Default 10, maximum 25.
- `page` (integer): 1-based page number. Default 1, maximum 200.
- `query` (string): Free-text search over company name and website.
- `remote_level` (string): The employer's office-presence policy. One of fully-remote, hybrid, onsite. Independent of hires_worldwide: a fully-remote employer can still hire in one country only.
- `schedule_type` (string): Filter by the employer's schedule policy, e.g. 4_day_week.
- `sort` (string): Result order. One of score (work-life score, highest first), jobs (most open roles), alphabetical, newest. Omit for the site's default order.

Output parameters:

- `companies` (null|array)
- `has_more` (null|boolean)
- `next_page` (integer)
- `note` (string)
- `page` (integer)
- `page_size` (integer)
- `paging_limit_reached` (boolean)
- `paging_note` (string)
- `returned` (null|integer)
- `total_matching` (null|integer)

### `search_jobs` (~801 tokens)

Search jobs

Search live job listings with genuinely better working hours.

Every listing carries an explicit schedule_type, so you never have to infer one:
  \- "4_day_week": 36 hours or less, 100% salary. The ONLY type that is reduced hours at full pay.
  \- "4_day_week_pro_rata": four days at pro-rata (reduced) pay.
  \- "9_day_fortnight", "half_day_fridays", "rotating_4_day", "summer_fridays", "part_time": other genuinely reduced-hours patterns.
  \- "compressed_week": a 4x10. The SAME 40 hours in four days. NOT a 4-day week, and never to be described as one.
  \- "flexible_hours", "unlimited_pto", "generous_pto", "flex_fridays", "no_meeting_days", "generous_parental_leave", "best_place_to_work": a full working week with a flexibility or leave policy.

To answer "find me a 4-day week job", pass schedule_type="4_day_week". Passing nothing returns all reduced-hours AND flexibility listings, which is usually broader than the user meant.

On locations: a job with no location restriction is worldwide-remote, so it matches ANY country filter. A large result count for a country therefore does not mean those roles are based there. Read each result's "locations" and "work_arrangement" before saying a job is in a particular place.

Results can also be narrowed by seniority (level), by skill/technology slugs, by a minimum work-life score and by how recently the employer posted.

Paging: a response returns at most 25 jobs and carries page, page_size, returned, has_more and, when another page exists, next_page. total_matching is the size of the whole match set. With a query it counts full-text matches over title AND description, so a job can be counted for a word that appears only in its body.

Each result carries the job's url on 4dayweek.io and its slug; get_job takes that slug and returns the full listing.

Input parameters:

- `category` (string): Job category, e.g. engineering, product, design, marketing, sales, data, devops, finance, hr, legal, operations, security, content, customer-success.
- `country` (string): Country name, e.g. United Kingdom or United States. Matches jobs with an office in that country AND remote jobs open to it — including worldwide-remote roles, which match every country. Check each re…
- `level` (string): Seniority. One of entry, mid, senior, lead, executive.
- `limit` (integer): Results per page. Default 10, maximum 25.
- `min_work_life_score` (integer): Keep only jobs whose work-life score is at least this, on a 0-100 scale. The site's own filter offers 55, 70 and 85. See /methodology for how it is calculated.
- `page` (integer): 1-based page number. Default 1, maximum 200.
- `posted_after_days` (integer): Keep only jobs the employer posted within this many days, 1 to 365.
- `query` (string): Free-text search over job title and description.
- `schedule_type` (string): Filter by schedule type. Use 4_day_week for a genuine 4-day week at full pay. compressed_week is a 4x10 and is NOT a 4-day week.
- `skills` (null|array): Skill, technology or tool SLUGS, lowercase and hyphenated, e.g. react, python, customer-support. A job matches if it carries ANY of them.
- `work_arrangement` (string): One of remote, hybrid or onsite.

Output parameters:

- `has_more` (null|boolean)
- `jobs` (null|array)
- `next_page` (integer)
- `note` (string)
- `page` (integer)
- `page_size` (integer)
- `paging_limit_reached` (boolean)
- `paging_note` (string)
- `returned` (null|integer)
- `total_matching` (null|integer)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-4dayweek-jobs/api-mcp#diagnostics

## Score history

- 2026-10-23: 76
- 2026-10-22: 75
- 2026-10-21: 75
- 2026-10-20: 74
- 2026-10-19: 74
- 2026-10-18: 74
- 2026-10-17: 73
- 2026-10-16: 73
- 2026-10-15: 72
- 2026-10-14: 72
- 2026-10-13: 71

## Common questions

### What is the 4dayweek.io Jobs MCP server?

4dayweek.io Jobs is an MCP server listed in the public MCP registry as io.4dayweek/jobs. Search reduced-hours jobs and employers: 4-day weeks, 9-day fortnights, half-day Fridays and more. This page covers its hosted endpoint (https://4dayweek.io/api/mcp).

### Is the 4dayweek.io Jobs MCP server safe to use?

4dayweek.io Jobs scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the 4dayweek.io Jobs MCP server expose?

4dayweek.io Jobs exposes 6 tools: explain_schedule_type, get_company, get_job, get_market_stats, search_companies, search_jobs. Their descriptions and schemas cost roughly 1,869 tokens of context every time the server is loaded.

### Does the 4dayweek.io Jobs MCP server require authentication?

No. We connected to 4dayweek.io Jobs without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the 4dayweek.io Jobs MCP server still maintained?

4dayweek.io Jobs is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://4dayweek.io/api/mcp
- Repository: https://github.com/4dayweek/mcp
- Website: https://4dayweek.io/mcp
- Changelog RSS feed: https://verifymcp.io/servers/io-4dayweek-jobs/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-4dayweek-jobs/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/io-4dayweek-jobs/api-mcp
