
Find jobs worldwide, check posts for scams, see typical pay, and apply to DataHouse remote tasks.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
For a text task: the person's written answer (20 to 20,000 characters), stored as a .txt sample.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
For a text task: the person's written answer (20 to 20,000 characters), stored as a .txt sample.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| filename | string | |
| submission_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"submission_id",
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 20000,
"minLength": 20
},
"filename": {
"type": "string",
"maxLength": 80
},
"submission_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}Join a DataHouse task for the person. `answers` maps each question id from get_task to the answer (a string, or a list for multiselect); every required question needs one. Optional preferred rate in their words ("$2 per clip"). One application per task; a task with a sample unlocks its sample step at once.
| Argument | Type | Description |
|---|---|---|
| note | string | |
| answers | object | |
| task_id* | string | |
| preferred_rate | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_id"
],
"properties": {
"note": {
"type": "string",
"maxLength": 1000
},
"answers": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 20
}
]
}
},
"task_id": {
"type": "string",
"format": "uuid"
},
"preferred_rate": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false
}Warning signs in a job post, recruiter message or offer (fees, upfront payments, personal email domains, link shorteners, pressure, requests for ID or bank details), each with the exact quoted line. Rule-based. Pass the text in English; translate it first if needed, keeping amounts, links, phone numbers and emails exactly as written.
| Argument | Type | Description |
|---|---|---|
| text* | string | The full post or message, in English |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 20000,
"minLength": 30,
"description": "The full post or message, in English"
}
},
"additionalProperties": false
}After the PUT: register the object at `path` as a sample of the task. Returns how many samples are in and how many the task wants.
| Argument | Type | Description |
|---|---|---|
| path* | string | |
| submission_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"submission_id",
"path"
],
"properties": {
"path": {
"type": "string",
"maxLength": 500,
"minLength": 3
},
"submission_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}What employers state for a role in a city or country, from recent postings that list pay: the typical range, how many postings it comes from, and examples with links. When there are too few, say so and research further yourself.
| Argument | Type | Description |
|---|---|---|
| role* | string | |
| location* | string | "City, Country" or a country |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role",
"location"
],
"properties": {
"role": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "\"City, Country\" or a country"
}
},
"additionalProperties": false
}One job from search_jobs in full: description, requirements, pay when stated, posted date and the link to apply. Use it to tailor a resume or cover letter to the posting.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}One task the person joined: stage, staged files, review outcome and the next step.
| Argument | Type | Description |
|---|---|---|
| submission_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"submission_id"
],
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}One task in full: description, the task's own material (instructions: the sentences to read, texts to label, answers to rate), the unpaid verification sample with how-to steps and rules, allowed file kinds, the qualification questions (with ids, for apply_to_task) and the rate paid work earns after verification.
| Argument | Type | Description |
|---|---|---|
| task_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}A one-tap link to this task's upload page on kariaa.com, already signed in, where the person picks their photos, voice notes or videos from their phone or computer. Use it whenever you cannot send the file bytes yourself (chat apps). The link works once, for 15 minutes; give it to the person as is.
| Argument | Type | Description |
|---|---|---|
| submission_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"submission_id"
],
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}The open DataHouse tasks: title, kind (video, photo, voice, text), the unpaid verification sample each wants and the rate paid work earns after verification. No key needed. Filter by file kind.
| Argument | Type | Description |
|---|---|---|
| kind | string | Only tasks that take this file kind |
| limit | integer | Default 25 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"kind": {
"enum": [
"image",
"video",
"audio",
"text"
],
"type": "string",
"description": "Only tasks that take this file kind"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Default 25"
}
},
"additionalProperties": false
}The jobs the person saved, newest first, with whether each is still open. Needs a Kariaa API key.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Every DataHouse task the person joined, newest first, with its stage (pending_review, sample_needed, in_review, approved, rejected).
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Take back one staged sample (a wrong or bad file) so another can be uploaded in its place. Only before submit_samples. file_id comes from confirm_upload, get_submission or my_submissions.
| Argument | Type | Description |
|---|---|---|
| file_id* | string | |
| submission_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"submission_id",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"maxLength": 500,
"minLength": 3
},
"submission_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}A one-time signed URL for ONE sample file of a task the person joined. PUT the raw bytes to upload_url with the returned headers, then call confirm_upload with the path. Kind must match the task; up to 100 MB; up to 10 files per task.
| Argument | Type | Description |
|---|---|---|
| filename* | string | |
| mime_type* | string | |
| size_bytes* | integer | |
| submission_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"submission_id",
"filename",
"mime_type",
"size_bytes"
],
"properties": {
"filename": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"mime_type": {
"type": "string",
"maxLength": 100,
"minLength": 3
},
"size_bytes": {
"type": "integer",
"maximum": 104857600,
"exclusiveMinimum": 0
},
"submission_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}Keep a job from search_jobs on the person's Kariaa list to come back to. Needs a Kariaa API key.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}Live job openings for a role, near a place or remote, from job boards (LinkedIn, Indeed, Glassdoor, ZipRecruiter, national boards) and remote-job sites, newest relevant first, with links to apply on the employer's page. Works without a key. Pass the role as people say it ("electrician", "nurse", "data analyst") and the place as "City, Country".
| Argument | Type | Description |
|---|---|---|
| role* | string | The job title or kind of work |
| limit | integer | Default 10 |
| remote | boolean | Only remote jobs |
| location | string | "City, Country" or a country; leave out for anywhere |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "The job title or kind of work"
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Default 10"
},
"remote": {
"type": "boolean",
"description": "Only remote jobs"
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "\"City, Country\" or a country; leave out for anywhere"
}
},
"additionalProperties": false
}Send the staged samples of a task for review. Needs every sample the task asks for. Optional text_response for notes.
| Argument | Type | Description |
|---|---|---|
| submission_id* | string | |
| text_response | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"submission_id"
],
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
},
"text_response": {
"type": "string",
"maxLength": 5000
}
},
"additionalProperties": false
}Save the basics a task needs: legal first and last name, phone in E.164 (+1…), location as "City, Country", occupation (one to five titles, "student" is fine), language.
| Argument | Type | Description |
|---|---|---|
| string | ||
| language | string | |
| location | string | |
| occupation | array | |
| phone_number | string | |
| legal_last_name | string | |
| legal_first_name | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"language": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"location": {
"type": "string",
"maxLength": 120,
"minLength": 2
},
"occupation": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 5,
"minItems": 1
},
"phone_number": {
"type": "string",
"maxLength": 24,
"minLength": 7
},
"legal_last_name": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"legal_first_name": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}The account behind the key, whether the basics a task needs are in (legal name, phone, location, occupation), and today's usage.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}