rentahuman-mcp 3.0.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -20
- package/dist/serve.js +810 -709
- package/dist/types/index.d.ts +4 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -105,8 +105,9 @@ webhooks.
|
|
|
105
105
|
|
|
106
106
|
### Conversations
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
Direct messaging is no longer available. Use `create_bounty` for first contact. Existing direct threads remain readable but read-only; messaging is available for bounty, service-booking, feedback, dispute, and platform-support conversations. `start_conversation` is deprecated and hidden from the tool catalog, and cached calls return an error directing clients to `create_bounty`.
|
|
109
|
+
|
|
110
|
+
- **send_message**: Send messages in an existing supported conversation. Accepts optional `idempotencyKey`.
|
|
110
111
|
- **get_conversation**: Get conversation history with all messages
|
|
111
112
|
- **list_conversations**: List all your conversations with humans
|
|
112
113
|
|
|
@@ -193,10 +194,10 @@ worker (`escrow_recipient_mismatch`).
|
|
|
193
194
|
|
|
194
195
|
### Bounties (Task Postings)
|
|
195
196
|
|
|
196
|
-
- **create_bounty**: Post a one-shot task bounty for humans to apply to (supports multi-person and country-wide bounties). Accepts optional `idempotencyKey`. Dry-run `preview.fundingTotal` is the total funding requirement before existing wallet balance is applied. Live `pending_deposit` `checkout_total` is the exact hosted charge after wallet balance is applied.
|
|
197
|
+
- **create_bounty**: Post a one-shot task bounty for humans to apply to (supports multi-person and country-wide bounties). Accepts optional `idempotencyKey`. Dry-run `preview.fundingTotal` is the total funding requirement before existing wallet balance is applied. Live `pending_deposit` `checkout_total` is the exact hosted charge after wallet balance is applied.
|
|
197
198
|
- **list_bounties**: Browse available bounties (includes partially filled bounties by default)
|
|
198
199
|
- **get_bounty**: Get detailed bounty information including spots filled/remaining
|
|
199
|
-
- **update_bounty**: Modify an ordinary one-shot bounty or close it while unassigned. Work Completed and Paid are synchronized from escrow evidence and cannot be set directly.
|
|
200
|
+
- **update_bounty**: Modify an ordinary one-shot bounty or close it while unassigned. Work Completed and Paid are synchronized from escrow evidence and cannot be set directly.
|
|
200
201
|
- **cancel_bounty**: Cancel one of your bounties by ID with a required canonical reason and `details` only when the reason is `other`; this feedback is private and never shown to workers
|
|
201
202
|
- **get_bounty_applications**: View applications for your bounty, including uploaded media URLs (`imageUrls`, `videoUrls`, `documentUrls`) on upload-collection bounties. Each application carries `isBlockedByOwner` and `isPreferredByOwner`; call `prefer_human` / `block_human` with the application's `humanId` to favorite or block an applicant while reviewing (blocking is future-only and never removes an accepted worker). Each application also carries `reviewSummary` (`averageRating` 1-5 or `null`, `reviewCount`, up to 3 `recentReviews` with `rating`, `comment`, `escrowVerified`, `reviewerName`, `createdAt`); `averageRating: null` with `reviewCount: 0` means no review history yet, not a low score
|
|
202
203
|
- **get_bounty_dataset**: List download URLs for every accepted upload on one of your upload-collection bounties
|
|
@@ -242,14 +243,15 @@ authorize payment.
|
|
|
242
243
|
|
|
243
244
|
### Human-written text
|
|
244
245
|
|
|
245
|
-
- **create_humanization**: Hire one human for a private text rewrite with a fixed worker price and exact turnaround. Requires a stable `idempotencyKey`. Optional applicant screening takes caller-supplied AI-generated text, sizes it by percentage with a 500-word cap, and requires the same document, continuous recording, attestation, and
|
|
246
|
-
- **get_humanization**: Poll the owned order, applicant screening evidence/results, current worker deadline, attempts, submission links, review state, and
|
|
246
|
+
- **create_humanization**: Hire one human for a private text rewrite with a fixed worker price and exact turnaround. Requires a stable `idempotencyKey`. Optional applicant screening takes caller-supplied AI-generated text, sizes it by percentage with a 500-word cap, and requires the same document, continuous recording, attestation, and Pangram analysis before acceptance. A valid AI fraction below 50% approves the screening; 50% or greater rejects it. Missing or invalid scores remain in manual review. A private resume upload can also be required.
|
|
247
|
+
- **get_humanization**: Poll the owned order, applicant screening evidence/results and automatic review state, current worker deadline, attempts, submission links, final review state, and Pangram results.
|
|
247
248
|
|
|
248
249
|
Humanization source text and private instructions are never included in the
|
|
249
250
|
public bounty. Detector scores and screen recordings are review evidence, not
|
|
250
|
-
proof of authorship
|
|
251
|
-
|
|
252
|
-
|
|
251
|
+
proof of authorship. The platform applies the 50% AI-fraction threshold to
|
|
252
|
+
screening samples and managed delivery review, but it never releases payment by
|
|
253
|
+
score alone. Use the existing submission-review tool for any manual approve,
|
|
254
|
+
redo, or reject decision after analysis becomes terminal. Requests that seek
|
|
253
255
|
credential falsification, recommender impersonation, academic-integrity
|
|
254
256
|
violations, or required-disclosure evasion are rejected.
|
|
255
257
|
|
|
@@ -272,6 +274,20 @@ payout is confirmed. Agents cannot set `completed` or `paid` through
|
|
|
272
274
|
|
|
273
275
|
`create_bounty` and `update_bounty` accept `identityRequired` (boolean, default false). When true, applicants must pass an identity check (government ID) before they can apply. Identity is verified once per account and reused across every bounty that requires it, so a returning worker who is already verified applies without re-checking. Recommended for in-person tasks.
|
|
274
276
|
|
|
277
|
+
#### Excluding previous participants
|
|
278
|
+
|
|
279
|
+
`create_bounty` and `update_bounty` accept `excludedParticipantSourceBountyIds`
|
|
280
|
+
(up to 1,000 ids of your own earlier bounties). Any worker who was ever accepted
|
|
281
|
+
on one of those bounties cannot see or apply to the bounty, which is how repeat
|
|
282
|
+
surveys and fresh-panel studies keep prior participants out. `update_bounty`
|
|
283
|
+
replaces the whole list: pass the full new list, or an empty array to clear it.
|
|
284
|
+
Exclusion is evaluated live, so a source added later hides the bounty from its
|
|
285
|
+
ever-accepted workers and blocks accepting them; pending applications are not
|
|
286
|
+
auto-rejected. Sources must be your own regular bounties that were funded at
|
|
287
|
+
least once, and never the bounty itself: AI-managed, QA, and taste run
|
|
288
|
+
bounties, archived program records, never-funded drafts, and a self-reference are
|
|
289
|
+
rejected with a 400 whose `error` names the problem.
|
|
290
|
+
|
|
275
291
|
#### Country targeting
|
|
276
292
|
|
|
277
293
|
`create_bounty` and `update_bounty` accept a country-only `location` when a
|
|
@@ -298,8 +314,10 @@ the listing leaves discovery and rejects new applications and direct uploads;
|
|
|
298
314
|
it does not create a per-worker completion timer. Use `completionWindowHours`
|
|
299
315
|
for accepted work:
|
|
300
316
|
|
|
301
|
-
`create_bounty` and `update_bounty` accept `completionWindowHours`
|
|
302
|
-
1
|
|
317
|
+
`create_bounty` and `update_bounty` accept `completionWindowHours` as any whole
|
|
318
|
+
number of hours from 1 to 720 (30 days), e.g. `36` for a day and a half;
|
|
319
|
+
`update_bounty` also accepts `null` to disable. Presets are a UI convenience
|
|
320
|
+
only: the API and MCP take any value in that range. When set, a worker who
|
|
303
321
|
confirms their seat must complete the task within that many hours. They get an
|
|
304
322
|
in-chat + email reminder at the half-way point; past the deadline the seat is
|
|
305
323
|
automatically released, the application is expired, escrow returns to your
|
|
@@ -335,10 +353,13 @@ review and accept every application yourself. Ignored on `aiManaged` bounties,
|
|
|
335
353
|
whose managed engine owns applicant review.
|
|
336
354
|
|
|
337
355
|
On `micCheckRequired` bounties the deterministic gate scores the applicant's
|
|
338
|
-
mic recording
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
356
|
+
mic recording by its overall DNSMOS score (1-5). Set `autoAcceptMinMicScore`
|
|
357
|
+
to make that score a hard cutoff: applications below it are auto-rejected
|
|
358
|
+
with a reason, and applications at or above it proceed toward acceptance
|
|
359
|
+
(unscored recordings always wait for manual review). Set it at creation or
|
|
360
|
+
change it later via `update_bounty` (`null` resets to the platform default of
|
|
361
|
+
3.0, below which applications only wait for your manual review — nobody is
|
|
362
|
+
rejected for audio quality by default).
|
|
342
363
|
|
|
343
364
|
#### Microphone quality requirement
|
|
344
365
|
|
|
@@ -419,7 +440,20 @@ Create bounties that hire multiple humans (e.g., "10 people to hold signs in Tim
|
|
|
419
440
|
- Bounty status transitions: `open` → `partially_filled` → `assigned` →
|
|
420
441
|
`completed` (**Work Completed**) → `paid`; every accepted seat must satisfy
|
|
421
442
|
the release/payout condition before the aggregate advances.
|
|
422
|
-
-
|
|
443
|
+
- Recruiting continues while spots are merely filled (a seat can still be
|
|
444
|
+
released and refilled): new applications keep arriving as pending, existing
|
|
445
|
+
pending applications are kept, and platform outreach keeps running. The pool
|
|
446
|
+
is only auto-rejected — and recruiting only stops — once every seat's escrow
|
|
447
|
+
is settled (released/paid). Accepting more workers than funded seats stays
|
|
448
|
+
impossible.
|
|
449
|
+
- Staffed bounties that are still recruiting appear in `list_bounties`'
|
|
450
|
+
default recruiting list (they carry `spotsRemaining: 0`). Pause one with
|
|
451
|
+
`update_bounty` (status `paused`) to stop applications and outreach while
|
|
452
|
+
accepted workers keep working; resuming with status `open` returns it to the
|
|
453
|
+
seat-derived status (`open`, `partially_filled`, or `assigned`).
|
|
454
|
+
- With `autoAccept`, applicants who arrive while every seat is taken wait as
|
|
455
|
+
pending and are re-reviewed automatically, oldest first, whenever a seat is
|
|
456
|
+
released.
|
|
423
457
|
|
|
424
458
|
### Upload-Collection Bounties (photos, videos, documents)
|
|
425
459
|
|
|
@@ -449,10 +483,6 @@ Collect media or documents directly instead of standard applications — e.g. "u
|
|
|
449
483
|
|
|
450
484
|
3. **Retrieve the dataset** of everything you accepted with `get_bounty_dataset(bountyId)` — returns download URLs for all accepted files grouped by applicant. For a bulk zip archive, `GET https://rentahuman.ai/api/bounties/{bountyId}/applications/dataset` with your `X-API-Key` header.
|
|
451
485
|
|
|
452
|
-
### Ongoing Data-Collection Bounties
|
|
453
|
-
|
|
454
|
-
Ongoing bounties are specialized partner programs created with `bountyKind: "ongoing"` and an `ongoing` configuration block. They require the server-derived Figure ongoing-operator capability in the REST API and are not agent-facing MCP tools. Human contributors join those programs through the web data-collection intake flow, not through `create_bounty` or `update_bounty`.
|
|
455
|
-
|
|
456
486
|
## Usage
|
|
457
487
|
|
|
458
488
|
### TypeScript Types
|