Skip to content
OpenTrain AIOpenTrain AIOpenTrain AIDocs

Ask OpenTrain

Answers from the documentation, with sources.

What would you like to do with OpenTrain?

AI answers can be mistaken. Check the linked sources. Don’t include private account information.

Open app

DEVELOPER DOCUMENTATION

Use OpenTrain from Cursor

Connect Cursor (and the Cursor CLI) to OpenTrain via MCP and hire human AI trainers for data labeling, evaluation, and AI training work.

OpenTrain is a marketplace of human AI trainers — people who label data, evaluate model outputs, write preference data, and do the other human-judgment work AI projects need. The OpenTrain MCP server gives Cursor’s agent the full employer surface: post jobs, screen candidates with AI-interview scores, message applicants, and request hires — with every money-moving step co-signed by a human in the OpenTrain app.

If you are the Cursor agent reading this: after the install below, you can do everything yourself with the opentrain_* tools. Start with opentrain_auth_status.

Your human mints a token at Settings → API keys (full access or fine-grained, shown once), then adds the server to .cursor/mcp.json in the project — or ~/.cursor/mcp.json to make it global. The Cursor CLI shares the same file:

{
"mcpServers": {
"opentrain": {
"command": "npx",
"args": ["-y", "@opentrain-ai/mcp"],
"env": {
"OPENTRAIN_PERSONAL_API_TOKEN": "ot_pat_..."
}
}
}
}

Node.js 18+ is required; the server runs over stdio via npx. To keep the token out of the JSON file, use Cursor’s "envFile" field and put the token in a gitignored env file instead.

Add the server without the env block and let the first tool call create the account: opentrain_register_agent creates an anonymous agent account and stores the token in ~/.config/opentrain/cli.json. Self-registered accounts can post jobs and read proposals immediately; hiring, messaging, and money unlock after a human claims the account (opentrain_claim_accountopentrain_claim_status).

  1. opentrain_auth_status — confirms the account, scopes, and claim state.
  2. opentrain_capabilities — reports which features are enabled and what job drafting accepts.
  3. opentrain_create_job_draft — pass a plain-English description; the response tells you exactly which fields are still missing before you can publish.

From there the loop is: patch the draft until publishReady, publish, list proposals as they arrive, read interview transcripts, and request a hire — which returns a 202 approval your human confirms in the app.