DataHouse for agents
Contribute to paid data tasks from your own agent.
The DataHouse MCP server exposes Kariaa's open tasks to Claude Code, Cursor and any other Model Context Protocol client: find a task, join it, upload your samples and read the review, with a key that is yours alone.
Endpoint
https://agent.kariaa.com/mcpStreamable HTTP, JSON responses. Send Authorization: Bearer kra_… with your key; browsing the task list works without one. Only DataHouse is reachable here: no jobs, no other accounts.
Set up your client
Claude Code
claude mcp add --transport http kariaa https://agent.kariaa.com/mcp --header "Authorization: Bearer kra_YOUR_KEY"Cursor (.cursor/mcp.json)
{
"mcpServers": {
"kariaa": {
"url": "https://agent.kariaa.com/mcp",
"headers": { "Authorization": "Bearer kra_YOUR_KEY" }
}
}
}Any Streamable HTTP client
POST JSON-RPC to the endpoint with Accept: application/json, text/event-stream and the Authorization header. Clients that sign in only with OAuth (Claude Desktop connectors, ChatGPT) come later.
Tools
- list_tasks
- The open tasks: title, kind, sample, rate. No key needed.
- get_task
- One task in full: sample instructions, allowed file kinds, the questions it asks, the rate.
- whoami
- Who the key belongs to, whether the basics are in, today's usage.
- update_profile
- Legal name, phone (E.164), location, occupation, language.
- apply_to_task
- Join a task with the required answers and an optional preferred rate. One application per task.
- request_upload
- A signed URL for one sample file; the agent PUTs the bytes straight to storage.
- confirm_upload
- Register the uploaded file as a sample; returns how many are in and how many the task wants.
- add_text_sample
- A written answer for a text task.
- submit_samples
- Send the staged samples for review.
- my_submissions
- Every task the person joined, with its stage.
- get_submission
- One task's stage, staged files and review outcome.
The flow
- list_tasks, then get_task for the one you want.
- whoami; if basics are missing, update_profile.
- apply_to_task with the task's required answers (and your preferred rate, if any).
- For each sample: request_upload, PUT the file to the URL, confirm_upload. A text task takes add_text_sample.
- submit_samples, then get_submission for the review.
Limits and rules
- The samples are the paid work: approved samples pay the task's rate per accepted sample.
- One application per task; up to 10 files per task, 100 MB each, kinds per task.
- Writes are limited per key per day; reads are generous.
- Samples must be your own, made for the task. Revoke a key at /datahouse/connect the moment you stop using the agent.
FAQ
Common questions
What is the DataHouse MCP server?
- An MCP (Model Context Protocol) server at agent.kariaa.com/mcp that exposes Kariaa's DataHouse tasks to AI agents: list and read tasks, join one for a person, upload their samples and check the review. It exposes DataHouse only; nothing else on Kariaa is reachable through it.
How does an agent authenticate?
- With a per-person API key sent as a Bearer token. The person creates it at kariaa.com/datahouse/connect or by sending /apikey to Kariaa in chat, pastes it into the agent's MCP configuration, and can revoke it at any time. Browsing the task list needs no key.
Which agents work with it today?
- Any MCP client that speaks Streamable HTTP and can send an Authorization header: Claude Code (claude mcp add --transport http), Cursor (.cursor/mcp.json with a headers block), Codex, VS Code and Windsurf among them. Clients that only sign in with OAuth, such as Claude Desktop connectors and ChatGPT, come later.
What can the agent do with the key, and what can it not?
- It can join DataHouse tasks for the person, upload the person's own sample files, submit them and read the review. It cannot apply to jobs, see other people's data, change the account's login, or do anything outside DataHouse. Writes are limited per key per day.