---
name: reviewder
description: Post review jobs for apps, websites and games, and apply to them, on reviewder.app through its MCP server. Use when the user wants to find influencers to review their app, website or game, post a review gig, check applicants, or (as a creator) find review jobs that fit their channel and apply. Requires the reviewder MCP connection (https://reviewder.app/mcp).
---

# Reviewder

Reviewder is a Thai job board: developers post paid review gigs for their apps, websites and games; TikTok / Instagram / Facebook / YouTube creators apply with their own price. No escrow, no chat — the two sides talk directly.

## Connect first

The MCP endpoint is `https://reviewder.app/mcp` (OAuth, sign in with Google on the consent page).
- Claude Code: `claude mcp add --transport http reviewder https://reviewder.app/mcp`, then `/mcp` → authenticate.
- Claude.ai / ChatGPT: add a custom connector with that URL (steps at https://reviewder.app/developers).
- A 401 (with a `WWW-Authenticate` header) means the token is missing, expired, or revoked — tell the user to reconnect; don't retry the same call.
- The server allows 60 requests/minute per connection; back off if a call fails from rate limiting.

## What costs stars (confirm before calling)

| Tool | Cost |
|---|---|
| `create_job` | 0.10★, plus `boostStars` if set (1★ = one day ranked above unboosted jobs) |
| `apply_to_job` | 0.05★ |
| `boost_job` | whole stars — 1★ per extra day boosted |
| everything else | free |

1★ = ฿10 at the entry pack. Stars are bought only on the website — `get_wallet` returns the balance, the per-action prices, today's free-web-quota remainder (`quotas.web.freePostsLeft` / `freeAppliesLeft`), and `topUpUrl`. When a paid tool answers with the fixed "not enough stars" sentence (it points at `https://reviewder.app/wallet`), stop and send the user there — never retry or paraphrase it.

**Always** show the user exactly what you're about to send and its cost, and wait for a yes, before calling `create_job`, `apply_to_job`, `boost_job`, or `request_callback` (that last one hands the user's own contact details to a third party).

## Workflow A — developer: post a job for an app, website or game

1. `get_wallet` → tell the user the balance and the 0.10★ fee.
2. Draft the job from what they told you: `title` (≤80 chars, what the app, website or game is and who should review it), `appName` (the app, site or game name), `appUrl` (App Store, Google Play, Steam or the website), `description` (≤2000, what it does or how it plays, and what the clip should show), `videoSpec` (length, format, hashtags), `platforms`, `minFollowers`, `reviewerCount`, `budgetBaht` per review (suggested sizes: XS ฿100–500, S ฿500–2,000, M ฿2,000–5,000, L ฿5,000–15,000; hard bounds ฿100–฿1,000,000). Ask for anything missing; never invent a budget.
3. Images are optional: `iconUrl` and up to 4 `screenshotUrls` must be public https URLs — JPG/PNG/WebP, ≤2 MB each, ≤3 redirect hops, no localhost/private/link-local hosts. Affordability is checked before any image is fetched, so a "not enough stars" reply arrives before an upload is even attempted.
4. Show the draft and the cost; on yes → `create_job`. Report the URL and what was charged.
5. To edit later, `update_job` **replaces every field** — resend the whole job (title, description, platforms, everything), not a diff; it never touches the images.
6. `boost_job` if they want visibility, `close_job` when done (unspent boost stars return to the wallet; fees never do).

## Workflow B — creator: find jobs that fit and apply

1. `get_creator_profile`; if the platform they want is missing, ask for the channel URL, real follower count, and contact info, then `save_creator_profile` — never guess these numbers.
2. `list_jobs` with their platform (and follower tier); `get_job` for the shortlist. Present title, budget, min followers, what the clip should cover.
3. For each job they pick, agree a `priceBaht` and a short `message`; on yes → `apply_to_job` (0.05★ each). This fails with `no_creator_profile` if step 1 was skipped for that platform. It fails with `photo_required` if the user hasn't taken their reviewer photo — send them to https://reviewder.app/dashboard to take it; you cannot do it for them.
4. `list_my_applications` to follow up — a poster's callback request (their contact info) shows up there too.

## Workflow C — follow-up

- **Developer:** `list_applicants` on your own job (prices and contacts are sealed bids only you see). If an applicant doesn't answer, confirm the exact contact text with the user, then `request_callback` — it hands that text to that one applicant as an in-app notification.
- **Creator:** run `list_notifications` at the start of a session — it surfaces posters asking you to call back, with their contact info. Pass `markRead: true` once you've shown them to the user.

## Reading only

`search` / `fetch` (keyword search and one job — the two ChatGPT-connector shapes), `list_jobs`, `get_job`, `get_wallet`, `get_creator_profile`, `list_my_jobs`, `list_my_applications` — all free, no confirmation needed.

## Errors

Validation failures come back as `validation: <field> <message>` (one line per bad field). Ownership/state errors are `forbidden`, `not_found`, `job_closed`. See `reference/tools.md` for every tool's full input/output shape and error strings.
