Kariaa
Find jobs worldwide, check posts for scams, see typical pay, and apply to DataHouse remote tasks.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWconfirm_upload에서
- LOWadd_text_sample에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://agent.kariaa.com/mcp"
}
}
}원격 엔드포인트
https://agent.kariaa.com/mcpstreamable-httphttps://agent.kariaa.com/mcp/authstreamable-http할 수 있는 일
도구 목록
도구 (19)
🟢list_tasks(kind, limit)
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.
입력 스키마
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"image",
"video",
"audio",
"text"
],
"description": "Only tasks that take this file kind"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Default 25"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"tasks": {
"description": "Open DataHouse tasks: task_id, title, summary, sample, pay, allowed_file_kinds, url"
},
"count": {
"description": "How many"
},
"signed_in": {
"description": "Whether a key was sent"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_task(task_id)
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.
입력 스키마
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"task_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"task_id": {
"description": "Task id"
},
"title": {
"description": "Title"
},
"instructions": {
"description": "The task's own material: sentences to read, texts to label, answers to rate"
},
"sample": {
"description": "The unpaid verification sample: count, instructions, how_to, looks_like"
},
"rules": {
"description": "Task rules"
},
"program_rules": {
"description": "Rules for every task"
},
"qualification_questions": {
"description": "Questions to answer in apply_to_task, with ids"
},
"pay": {
"description": "Rate for paid work after verification"
},
"next": {
"description": "The next tool"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢whoami
The account behind the key, whether the basics a task needs are in (legal name, phone, location, occupation), and today's usage.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"signed_in": {
"description": "Whether a valid key was sent"
},
"profile": {
"description": "Basics on file"
},
"ready_to_apply": {
"description": "Whether the basics are complete"
},
"missing": {
"description": "Basics still missing"
},
"quota": {
"description": "Today's usage"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_profile(legal_first_name, legal_last_name, phone_number, location, occupation, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"legal_first_name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"legal_last_name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"phone_number": {
"type": "string",
"minLength": 7,
"maxLength": 24
},
"location": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"occupation": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"minItems": 1,
"maxItems": 5
},
"language": {
"type": "string",
"minLength": 2,
"maxLength": 40
},
"email": {
"type": "string",
"format": "email"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"saved": {
"description": "Fields saved"
},
"rejected": {
"description": "Fields refused, with the reason"
},
"ready_to_apply": {
"description": "Basics complete"
},
"missing": {
"description": "Still missing"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢apply_to_task(task_id, answers, preferred_rate, note)
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.
입력 스키마
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"format": "uuid"
},
"answers": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 20
}
]
}
},
"preferred_rate": {
"type": "string",
"maxLength": 40
},
"note": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"task_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"description": "The application"
},
"stage": {
"description": "sample_needed or pending_review"
},
"next": {
"description": "The next tool"
},
"sample_requirements": {
"description": "What to send"
},
"already_applied": {
"description": "True when it existed"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡request_upload(submission_id, filename, mime_type, size_bytes)
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.
입력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
},
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"mime_type": {
"type": "string",
"minLength": 3,
"maxLength": 100
},
"size_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 104857600
}
},
"required": [
"submission_id",
"filename",
"mime_type",
"size_bytes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"upload_url": {
"description": "Signed URL to PUT the bytes to"
},
"headers": {
"description": "Headers for the PUT"
},
"path": {
"description": "Pass to confirm_upload"
},
"expires_in_seconds": {
"description": "URL lifetime"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡confirm_upload(submission_id, path)
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.
입력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
},
"path": {
"type": "string",
"minLength": 3,
"maxLength": 500
}
},
"required": [
"submission_id",
"path"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"file": {
"description": "The registered sample"
},
"received": {
"description": "Samples in"
},
"wanted": {
"description": "Samples the task needs"
},
"ready_to_submit": {
"description": "All samples in"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴remove_sample(submission_id, file_id)
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.
입력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
},
"file_id": {
"type": "string",
"minLength": 3,
"maxLength": 500
}
},
"required": [
"submission_id",
"file_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"removed": {
"description": "The sample taken back"
},
"received": {
"description": "Samples in"
},
"wanted": {
"description": "Samples the task needs"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡get_upload_link(submission_id)
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.
입력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"submission_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"url": {
"description": "One-tap upload page link"
},
"signed_in": {
"description": "Whether the link signs the person in"
},
"expires_in_minutes": {
"description": "Link lifetime"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡add_text_sample(submission_id, text, filename)
For a text task: the person's written answer (20 to 20,000 characters), stored as a .txt sample.
입력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
},
"text": {
"type": "string",
"minLength": 20,
"maxLength": 20000
},
"filename": {
"type": "string",
"maxLength": 80
}
},
"required": [
"submission_id",
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"file": {
"description": "The stored answer"
},
"received": {
"description": "Samples in"
},
"wanted": {
"description": "Samples the task needs"
},
"ready_to_submit": {
"description": "All samples in"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡submit_samples(submission_id, text_response)
Send the staged samples of a task for review. Needs every sample the task asks for. Optional text_response for notes.
입력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
},
"text_response": {
"type": "string",
"maxLength": 5000
}
},
"required": [
"submission_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"submitted": {
"description": "True when sent for review"
},
"files_count": {
"description": "Files sent"
},
"submitted_at": {
"description": "When"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢my_submissions(limit)
Every DataHouse task the person joined, newest first, with its stage (pending_review, sample_needed, in_review, approved, rejected).
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"submissions": {
"description": "Each task joined, with stage and samples"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_submission(submission_id)
One task the person joined: stage, staged files, review outcome and the next step.
입력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"submission_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"submission_id": {
"description": "The application"
},
"stage": {
"description": "Where it stands"
},
"next": {
"description": "What to do next"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_jobs(role, location, remote, limit)
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".
입력 스키마
{
"type": "object",
"properties": {
"role": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "The job title or kind of work"
},
"location": {
"type": "string",
"minLength": 2,
"maxLength": 120,
"description": "\"City, Country\" or a country; leave out for anywhere"
},
"remote": {
"type": "boolean",
"description": "Only remote jobs"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Default 10"
}
},
"required": [
"role"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"jobs": {
"description": "Openings: job_id, title, company, location, work_type, pay, posted, url, source, match"
},
"count": {
"description": "How many"
},
"role": {
"description": "Role searched"
},
"location": {
"description": "Place searched"
},
"more_pending": {
"description": "True while more boards are still being searched; the same search shortly after adds them"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_job(job_id)
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.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"job_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"job_id": {
"description": "Job id"
},
"title": {
"description": "Title"
},
"company": {
"description": "Employer"
},
"description": {
"description": "The posting"
},
"requirements": {
"description": "Requirements"
},
"pay": {
"description": "Pay when stated"
},
"url": {
"description": "Where to apply"
},
"how_to_apply": {
"description": "How to apply"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_job_post(text)
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.
입력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 30,
"maxLength": 20000,
"description": "The full post or message, in English"
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"risk": {
"description": "low, elevated or high"
},
"signals": {
"description": "Warning signs, each with the quoted evidence"
},
"translate_first": {
"description": "True when the post must be translated to English first"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_pay(role, location)
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.
입력 스키마
{
"type": "object",
"properties": {
"role": {
"type": "string",
"minLength": 2,
"maxLength": 80
},
"location": {
"type": "string",
"minLength": 2,
"maxLength": 120,
"description": "\"City, Country\" or a country"
}
},
"required": [
"role",
"location"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"postings": {
"description": "Postings the range comes from"
},
"typical_low": {
"description": "25th percentile of the low ends"
},
"typical_high": {
"description": "75th percentile of the high ends"
},
"currency": {
"description": "Currency"
},
"period": {
"description": "hour, month or year"
},
"examples": {
"description": "Postings with stated pay and links"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡save_job(job_id)
Keep a job from search_jobs on the person's Kariaa list to come back to. Needs a Kariaa API key.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"job_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"saved": {
"description": "True when on the list"
},
"job_id": {
"description": "Job id"
},
"saved_count": {
"description": "Saved jobs"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢my_saved_jobs
The jobs the person saved, newest first, with whether each is still open. Needs a Kariaa API key.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"jobs": {
"description": "Saved jobs, newest first, with whether each is still open"
},
"count": {
"description": "How many"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거