Skip to main content
Glama
campbellaabbott-rgb

Resume Booster Job Board

README.md
<!-- GENERATED by scripts/build.mjs from mcp.config.json — edit those, not this file. -->
# Resume Booster Job Board — MCP server

Job search over employers' own hiring systems. Search with no key; a free key opens every read tool. board_stats, search_jobs, search and fetch answer with no key at all, so a fresh connection works on its first call from any host.

**Verify:** ask your agent to call `board_stats`. It answers with no key and says how many free calls are left today.

- Server address: `https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp` — this address is on Supabase, the company that hosts our server; it is ours. Paste it exactly as it is (do not add `/mcp`). It is a plain web address your agent talks to (MCP over Streamable HTTP, one POST per message, no session to keep); there is nothing to install.
- Tools: 15 — `search_jobs`, `get_job`, `get_jobs`, `check_jobs_open`, `check_apply_support`, `board_stats`, `employer_hiring_record`, `employer_growth`, `key_status`, `debug_search`, `search`, `fetch`, `fit_resume`, `request_application`, `application_status`
- The how-to, per app, with a **Test the server** button: https://resumebooster.work/agents
- Free key: https://resumebooster.work/data-api
- Listed in the official MCP Registry as `work.resumebooster/jobs`: https://registry.modelcontextprotocol.io/?q=work.resumebooster/jobs (the entry as the registry's API serves it: https://registry.modelcontextprotocol.io/v0/servers/work.resumebooster%2Fjobs/versions/latest)
- Also on the site: the Ghost Job Index, the board's live measure of which postings are real (open roles, how old they are by the employer's own date, the takedowns it has logged), at https://resumebooster.work/ghost-job-index; and live ATS score benchmarks from the site's own résumé scans, at https://resumebooster.work/research/ats-score-benchmarks.
- One server, four names: `resumebooster-job-board` is what `initialize` answers, `resumebooster` is the install name in every block below, `Resume Booster` is the name you type into Claude's or ChatGPT's own dialog, and `work.resumebooster/jobs` is its name in the official MCP Registry.

A `https://resumebooster.work/jobs?job=<id>` link's `id` is the argument `get_job`, `fetch`, `check_apply_support` and `request_application` take.

Two hiring systems on the job board are not handed on by this server or the data API: the U.S. federal job feed, whose terms forbid redistributing it as a data feed, and SmartRecruiters, withheld until SmartRecruiters (SAP) permits it. Their postings stay on the job board, where you can open them yourself.

Claude, Claude Desktop and ChatGPT have no field for a key. They sign you in instead — but only while the server's sign-in service is switched on. When it is off, a tool that needs your account answers in words (no Connect card), and `board_stats`, `search_jobs`, `search` and `fetch` still answer. Today's state: press **Test the server** on https://resumebooster.work/agents, or run

```sh
curl -s -X POST https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp -H 'content-type: application/json' -H 'mcp-protocol-version: 2025-06-18' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}' | jq '.result._meta["work.resumebooster/sign-in"].state'
```

which prints `"on"`, `"off"` or `"unknown"` — the same word the page shows (the server reads the sign-in service's own metadata at `https://bwhdazbotpblihdxcmho.supabase.co/.well-known/oauth-authorization-server/auth/v1` and caches the answer briefly).

## Tiers

| Tier | Tools | What opens it |
|---|---|---|
| Unkeyed | `board_stats`, `search_jobs`, `search`, `fetch` | Nothing. 25 calls a day per network address, 2000 a day across every unkeyed caller, a search is one page of 10 rows. |
| Free key | `get_job`, `get_jobs`, `check_jobs_open`, `check_apply_support`, `employer_hiring_record`, `employer_growth`, `key_status`, `debug_search` (and the unkeyed tools at a higher cap) | A free key from https://resumebooster.work/data-api — 1000 calls a day. |
| Paid or pass | `fit_resume` | The paid API tier, or a live pass on the key's account (https://resumebooster.work/agents/pass). |
| Apply | `request_application`, `application_status` | A key linked to an account with an Agent plan or a live pass, and a mandate — see `key_status`. |

The unkeyed allowance is 25 free calls a day per network address — an office or a home connection counts as one address. From ChatGPT each person has their own 25; from Claude, whose servers carry every user, calls come first from a pool of 500 a day that all Claude users share, then from the address's own 25.

## Install

Pick your app. Every block but Zed's works with no key on its first call (Zed asks you to sign in when no key is set — its section says what to do); the keyed variant under a block is optional.

### Claude (claude.ai, Claude Desktop, Claude on your phone)

1. In Claude, open **Customize**, then **Connectors**.
2. Click **Add custom connector**. On a Team or Enterprise plan there is no such button: an owner adds the connector under **Organization settings > Connectors** (**Add**, then **Custom**; if it asks for the connector type, **Web**), and you then find it under **Customize > Connectors** with the "Custom" label and click **Connect**.
3. If it asks for a **Name**, type `Resume Booster`.
4. Paste this address into **MCP server URL**: `https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp` — this address is on Supabase, the company that hosts our server; it is ours. Paste it exactly as it is.
5. If Claude asks about **Authentication**, choose **Sign in when needed**. If it asks about **OAuth client**, choose **Register automatically**. Claude may already show these as "Detected" — leave them. Do not choose **No sign-in**: Claude cannot change that later, so the tools that need your account would stay off until you remove the connector and add it again.
6. Click **Add**.
7. In a chat, click **+**, open **Connectors**, and switch **Resume Booster** on.
8. Ask Claude: `Using Resume Booster, call board_stats and tell me how many jobs are open right now.`

When sign-in is on — the first time Claude needs your account — to open a posting in full, to check a shortlist, or to apply — a **Connect** card appears in the chat. Click it, sign in to Resume Booster, press **Allow**, and Claude continues where it stopped.

**How you know it worked:** Under **+ → Connectors**, Resume Booster is on. Ask "call board_stats": the answer names the number of open postings and a note of the form "unkeyed: N of M anonymous calls left today", where M is the allowance that answered (from Claude, the pool every Claude user shares).

### ChatGPT (developer mode)

1. In ChatGPT, open **Settings**, choose **Security and login**, and turn on **Developer mode**. If you do not see it, your account or workspace does not allow it yet.
2. Go to chatgpt.com/plugins and click the **+** button.
3. Type a name — `Resume Booster` — and a description — `Live job board: search real openings from employers' own hiring systems.`
4. Under **Connection**, paste this address as the MCP server URL: `https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp`. Paste it exactly as it is — do not add `/mcp` at the end. The address is on Supabase, the company that hosts our server; it is ours.
5. Create the connection, and check the list of tools it found — there should be 15.
6. Start a new chat and add **Resume Booster** from the tools menu.
7. Ask: `Search Resume Booster for nurse jobs in Texas and show me the first ten.`

When sign-in is on — if a tool needs your account, ChatGPT shows its sign-in for Resume Booster; sign in and press **Allow**.

**How you know it worked:** Ask it to search for "nurse in Texas": 10 results with ids come back. ChatGPT's own search uses `search` and `fetch` — 10 results per search and the full text of any result — with no sign-in.

### Claude Code

1. Copy this line and run it in your terminal (`--scope user` makes it available in every folder, not just this one): `claude mcp add --transport http --scope user resumebooster https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp`
2. Start `claude` and type `/mcp` — `resumebooster` is listed as connected.
3. Ask: `call board_stats` — the answer names the number of open postings and says how many free calls are left today.

With a free key, for every project:

```sh
export RESUMEBOOSTER_KEY=<paste your key here>
claude mcp add --transport http --scope user resumebooster https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp --header "Authorization: Bearer $RESUMEBOOSTER_KEY"
```

Or clone this repository: its `.mcp.json` is a project-scope server, so Claude Code asks once to approve it and you are connected. As a plugin (adds the `/resumebooster:setup` and `/resumebooster:find-jobs` skills):

```text
/plugin marketplace add campbellaabbott-rgb/resumebooster-mcp
/plugin install resumebooster@resumebooster
```

The `.mcp.json` in this repo reads the key from the environment: `${RESUMEBOOSTER_KEY:-}` expands to the key when `RESUMEBOOSTER_KEY` is set and to nothing otherwise, and the server answers an empty header as the unkeyed tier — so the same file works with a key and without one. The keyless variant, if you would rather no header be sent at all:

```json
{
  "mcpServers": {
    "resumebooster": {
      "type": "http",
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}
```

When sign-in is on — without a key, the first tool that needs your account makes `/mcp` show `! Needs authentication`; type `/mcp` and sign in in the browser (Claude Code 2.1.186 or newer can also run `claude mcp login resumebooster`).

**How you know it worked:** `/mcp` lists `resumebooster` as connected; "call board_stats" answers with the count and the unkeyed note; with a key, "call key_status" names your tier and calls left.

### Cursor

1. Paste this link into your browser's address bar (GitHub does not make it clickable) — Cursor opens and asks you to confirm the server; the link holds only the address, never a key: `cursor://anysphere.cursor-deeplink/mcp/install?name=resumebooster&config=eyJ1cmwiOiJodHRwczovL2J3aGRhemJvdHBibGloZHhjbWhvLnN1cGFiYXNlLmNvL2Z1bmN0aW9ucy92MS9hZ2VudC1tY3AifQ==`
2. Or paste the block below into `~/.cursor/mcp.json`.
3. In Cursor's chat, ask: `call board_stats`.

```json
{
  "mcpServers": {
    "resumebooster": {
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}
```

With a free key, the same file names the variable and Cursor fills it in (`${env:RESUMEBOOSTER_KEY}` is resolved in `headers`), so the key never sits in the file:

```sh
export RESUMEBOOSTER_KEY=<paste your key here>
```

```json
{
  "mcpServers": {
    "resumebooster": {
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp",
      "headers": {
        "Authorization": "Bearer ${env:RESUMEBOOSTER_KEY}"
      }
    }
  }
}
```

**How you know it worked:** Ask the chat "call board_stats" — the count and the unkeyed note come back.

### VS Code

1. Paste this link into your browser's address bar — VS Code asks you to confirm: `vscode:mcp/install?%7B%22name%22%3A%22resumebooster%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fbwhdazbotpblihdxcmho.supabase.co%2Ffunctions%2Fv1%2Fagent-mcp%22%7D` (Insiders: `vscode-insiders:mcp/install?%7B%22name%22%3A%22resumebooster%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fbwhdazbotpblihdxcmho.supabase.co%2Ffunctions%2Fv1%2Fagent-mcp%22%7D`).
2. Or paste the block below into `.vscode/mcp.json`. When the server starts, VS Code asks for the key; leave it empty to use the tools that need no key (VS Code's own document does not say what an empty answer does — if the server does not start, use the link in step 1 instead).
3. In the chat, ask: `call board_stats`.

```json
{
  "inputs": [
    {
      "id": "resumebooster-key",
      "type": "promptString",
      "description": "Resume Booster Job Board API key (free at https://resumebooster.work/data-api); leave empty for the unkeyed tools",
      "password": true
    }
  ],
  "servers": {
    "resumebooster": {
      "type": "http",
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp",
      "headers": {
        "Authorization": "Bearer ${input:resumebooster-key}"
      }
    }
  }
}
```

[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522resumebooster%2522%252C%2522type%2522%253A%2522http%2522%252C%2522url%2522%253A%2522https%253A%252F%252Fbwhdazbotpblihdxcmho.supabase.co%252Ffunctions%252Fv1%252Fagent-mcp%2522%257D) — the same link as step 1, made clickable through vscode.dev's redirect (a convenience GitHub needs; VS Code's docs describe only the `vscode:` form).

**How you know it worked:** If you used the mcp.json block, VS Code asks for the key at start — leave it empty (the link in step 1 declares no key, so it asks nothing). Either way, ask the chat "call board_stats" — the count and the unkeyed note come back.

### Other apps (Gemini CLI, Codex CLI, Cline, Zed, Windsurf, anything else)

1. Pick your app below — each has its own block. Anything else that speaks MCP works too: it is one plain web address, and **Any client / curl** at the end shows the first message.
2. Then ask your agent to call `board_stats`.

When sign-in is on — without a key, a tool that needs your account answers a sign-in challenge (HTTP 401); a client that supports sign-in opens it, and a client that does not needs a free key.

**How you know it worked:** The `initialize` answer's `serverInfo.name` is `resumebooster-job-board`; the **Test the server** button on https://resumebooster.work/agents runs this for you.

#### Gemini CLI

1. Run: `gemini mcp add --transport http --scope user resumebooster https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp`
2. Ask: `call board_stats`.

With a key: `gemini mcp add --transport http --scope user --header "Authorization: Bearer $RESUMEBOOSTER_KEY" resumebooster https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp`. Or install this repository as an extension — it declares the key as a setting, prompted at install and kept in your keychain:

```sh
gemini extensions install https://github.com/campbellaabbott-rgb/resumebooster-mcp
```

When sign-in is on — `/mcp auth resumebooster` starts the sign-in.

**How you know it worked:** "call board_stats" answers with the count and the unkeyed note.

#### Codex CLI

1. Run: `codex mcp add resumebooster --url https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp`
2. Ask: `call board_stats`.

With a key, in `~/.codex/config.toml` (the key is read from `RESUMEBOOSTER_KEY`, never written here):

```toml
[mcp_servers.resumebooster]
url = "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
bearer_token_env_var = "RESUMEBOOSTER_KEY"
```

When sign-in is on — `codex mcp login resumebooster` starts the sign-in.

**How you know it worked:** "call board_stats" answers with the count and the unkeyed note.

#### Cline

1. In the **Remote Servers** tab: **Server Name** `resumebooster`, **Server URL** `https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp`, **Transport Type** **Streamable HTTP**, then **Add Server**. Or paste the block below into `~/.cline/mcp.json` (the Cline CLI's file; in the VS Code extension, open the **MCP Servers** panel, the **Configure** tab, then **Configure MCP Servers** and add the same block).
2. Ask: `call board_stats`.

```json
{
  "mcpServers": {
    "resumebooster": {
      "type": "streamableHttp",
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}
```

With a key: add `"headers": { "Authorization": "Bearer …" }` with your key to that server, in your own user-level file only — never in a committed one.

**How you know it worked:** "call board_stats" answers with the count and the unkeyed note.

#### Zed

1. Paste the block below into `settings.json`.
2. Zed prompts you to sign in whenever no `Authorization` header is set (its own document says so). If the curl above prints `"off"`, that prompt cannot finish — add `"headers": { "Authorization": "Bearer …" }` with a free key from https://resumebooster.work/data-api to the block, in your own settings file only.
3. Ask: `call board_stats`.

```json
{
  "context_servers": {
    "resumebooster": {
      "url": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}
```

**How you know it worked:** "call board_stats" answers with the count and the unkeyed note.

#### Windsurf

1. Paste the block below into `~/.codeium/windsurf/mcp_config.json`. Windsurf's document says this file configures the legacy Cascade agent only; the Devin Local agent, the default for new tabs, reads the Devin CLI config files instead.
2. Ask: `call board_stats`.

```json
{
  "mcpServers": {
    "resumebooster": {
      "serverUrl": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp"
    }
  }
}
```

With a free key, the same file names the variable and Windsurf fills it in (`${env:RESUMEBOOSTER_KEY}` is resolved in `headers`), so the key never sits in the file:

```sh
export RESUMEBOOSTER_KEY=<paste your key here>
```

```json
{
  "mcpServers": {
    "resumebooster": {
      "serverUrl": "https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp",
      "headers": {
        "Authorization": "Bearer ${env:RESUMEBOOSTER_KEY}"
      }
    }
  }
}
```

**How you know it worked:** "call board_stats" answers with the count and the unkeyed note.

#### Any client / curl

1. POST one JSON-RPC 2.0 message per request to `https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp` (Streamable HTTP; no session to keep); the first one is the `initialize` message below.
2. With a key, send `Authorization: Bearer <key>` on each request; without one, `board_stats`, `search_jobs`, `search` and `fetch` still answer.

```sh
curl -s -X POST https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp -H 'content-type: application/json' -H 'mcp-protocol-version: 2025-06-18' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'
```

**How you know it worked:** The `initialize` answer's `serverInfo.name` is `resumebooster-job-board`; the **Test the server** button on https://resumebooster.work/agents runs this for you.

#### Copy the prompt

1. For an agent that can install a server from prose, paste this: `Add the MCP server "resumebooster" at https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp (Streamable HTTP, POST only, no key needed for board_stats, search_jobs, search, fetch; a free key from https://resumebooster.work/data-api goes in an Authorization: Bearer header). Then call board_stats.`

**How you know it worked:** Your agent answers with the number of open postings and the unkeyed note.

## If it does not work

Symptoms are the server's own words, or a label the app's documentation prints (docs-snapshot.md). Rows marked "while sign-in is off" or "on" apply in that state only — the curl line above prints today's.

| What you see | Why | What to do |
|---|---|---|
| Sign-in through this server is not switched on yet, so this tool needs a key. (while sign-in is off) | The tool needs your account, and sign-in from chat apps is not switched on today. | Search, board statistics and full postings still work with no key. To use every tool, connect from Claude Code, Cursor or VS Code with a free key (https://resumebooster.work/data-api). |
| Claude: a **Connect** card appears (while sign-in is on) | A tool needs your account. | Click it, sign in to Resume Booster, press **Allow**; Claude retries the call itself. |
| Claude: "Couldn't reach the MCP server" or "Authorization with the MCP server failed" | The address was mistyped, `/mcp` was added to it, or (when sign-in is on) the sign-in could not finish. | Check the address is exactly `https://bwhdazbotpblihdxcmho.supabase.co/functions/v1/agent-mcp`; press **Test the server** on https://resumebooster.work/agents; if the test says sign-in is on and the card still fails, remove the connector and add it again with **Sign in when needed** + **Register automatically**. |
| Claude Code: `/mcp` shows `! Needs authentication` (while sign-in is on) | A tool that needs your account was called with no key, and the server asked for sign-in. | Type `/mcp` and follow the browser steps (2.1.186 or newer: `claude mcp login resumebooster`), or add a free key with `--header`. |
| The unkeyed allowance is spent | Your network address used its free calls today; an office or a chat service counts as one address. | Get a free key at https://resumebooster.work/data-api (1000 calls a day, no account) and add it to your app. Resets at midnight UTC. |
| That key is not recognised. | The key was cut off, or the header lacks `Bearer ` with the space. | The header must read `Authorization: Bearer rb_live_…`. A key is shown once; get a new one if lost (the old one stops working). |
| This key has been revoked. | A newer key replaced it, it went unused for 30 days, or it was a free key issued before keys needed a confirmed email (4 October 2026). | Use your newest key, or get one at https://resumebooster.work/data-api (we email you a link) and update every app that holds the old one. |
| Daily quota of | The free key's day is spent. | Wait for midnight UTC; the unkeyed tools still answer; an Agent Pass raises the limit for its hours. |
| requests/minute. | Too many calls in one minute. | Wait one minute. |
| fit_resume is a paid feature | Résumé fit scoring needs a paid key, a live Agent Pass or the Agent plan. | https://resumebooster.work/data-api for a paid key, or https://resumebooster.work/agents/pass — search keeps working. |
| The apply agent needs an active Agent plan or a live pass. | Applying is paid. | https://resumebooster.work/agents/pass (sign in first), or the Agent plan on the site. |
| No agent mandate on this account. | The apply agent is not set up yet (the same answer names "Your agent is switched off." and "No resume on file" when that is the blocker). | Account → set up the apply agent: turn it on, choose countries and field, add the CV. The off switch always wins. |
| The pass on this account is not live. | The pass ended, or its applications are used ("No applications left on this pass."). | Search keeps working; buy another pass when the clock ends. |
| That is not a job id from this board. | You passed a link or a title. | Use the id from a search, e.g. `greenhouse:acme:12345`; the id in a `https://resumebooster.work/jobs?job=<id>` link is the same one. |
| This is an MCP server for AI agents, not a web page | You opened the address like a web page. | Nothing is wrong. Paste it into your agent; the how-to is https://resumebooster.work/agents. |
| Cursor / VS Code / Cline: server listed, zero tools | Wrong transport (Cline: not `sse`; VS Code: `"type": "http"`), or `/mcp` appended to the address. | The address ends in `/agent-mcp` exactly; the transport is HTTP (Cline: **Streamable HTTP**). |
| ChatGPT only ever searches and fetches | By design: ChatGPT's search calls `search` and `fetch`, 10 results a page. | For filters (pay, remote, seniority), use an app that calls `search_jobs`. |
| Sign in to use this tool (while sign-in is on) | A tool that needs a key was called with none (HTTP 401 from a script or curl). | Send `Authorization: Bearer <key>` (free at https://resumebooster.work/data-api), or call one of `board_stats`, `search_jobs`, `search` and `fetch`. |

## The plugin's skills

- `/resumebooster:setup` — get a free key, put it in `RESUMEBOOSTER_KEY`, reconnect.
- `/resumebooster:find-jobs` — the search → verify → apply order, with the gates named.

## Privacy

Every search you run travels to the server as the query you typed. A key is stored as its hash and its first characters, never the key. For unkeyed calls the server keeps a truncated hash of your network address for the daily cap and drops it after 7 days; the address itself is never stored. The tools never write to your machine. A key belongs in an environment variable, a keychain prompt or a host's secret store — never in a file you commit, a URL, a badge or a base64 config. Nothing in this repository carries a key.

## This repository

- `mcp.config.json` is the only place a URL, tool name, cap, quota, host step or troubleshooting row is written. `npm run build` regenerates every other file; `npm test` fails if any generated file was edited by hand or the constants changed without a rebuild, validates each manifest against the schema its host publishes (copies under `schemas/`, fetched 2026-09-16), and checks that no generated file carries a placeholder inside an Authorization value.
- The tool list, the host ids (the six above and the long tail) and the sign-in key are a mirror of the site's own (`resume-signal-pro/src/config/mcp-tools.ts` at `08089496`); when that changes, this file is re-synced and rebuilt.
- Every vendor label in the steps above is quoted from the vendor's documentation on the date in [docs-snapshot.md](./docs-snapshot.md); a label that is not there is not published here.
- `server.json` is the entry for the official MCP Registry.

## License

MIT — for the files in this repository. The server, the board and its data are https://resumebooster.work's own and are governed by its terms.