aitrainer.work MCP
An official MCP server provided by aitrainer.work that allows AI assistants to query open AI training job listings, platform pay statistics, and interview preparation resources without requiring an API key or sign-up.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://aitrainer.work/mcpWhat you can do with it
- Search open AI training roles by keyword, platform, field, country, or minimum hourly pay
- Get detailed job information including requirements, hours, and accepted countries
- Compare platforms by open roles, median pay, and payout speed
- Access market pay stats and hiring numbers from the monthly Pay Index
Source and maintenance
Protocol and capabilities
- Server
- aitrainer-work 1.2.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
},
"resources": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
match_jobs_to_profile — Match AI training jobs to a profile
Rank open AI training and AI evaluation roles for one person by their profession, skills, languages, country and minimum hourly pay (USD). Use when the user describes their own background, e.g. "I am a nurse in Canada". Returns up to 10 roles, highest match first, each with the reasons it fits. Nothing about the person is stored.
{
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"description": "Profession or main background, e.g. \"registered nurse\", \"Python developer\", \"corporate lawyer\"."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Matches to return, default 6."
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Specific skills or specialties, e.g. [\"cardiology\", \"ICU\"]."
},
"country": {
"type": "string",
"description": "Country the person lives in (English name). Only roles open to it are returned."
},
"languages": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"description": "Languages the person speaks fluently, in English, e.g. [\"English\", \"Spanish\"]."
},
"min_hourly_pay": {
"type": "number",
"description": "Lowest acceptable hourly pay in USD."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"total_matching",
"returned",
"browse_all",
"jobs",
"attribution"
],
"properties": {
"jobs": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"platform",
"platform_name",
"slug",
"pay",
"url"
],
"properties": {
"pay": {
"type": [
"string",
"null"
],
"description": "Pay as the listing states it. Text ending in \"(estimate, not stated in the listing)\" is our estimate; \"(platform range, not this role's rate)\" is the range the platform posts for all its projects."
},
"url": {
"type": "string",
"description": "The role page on aitrainer.work, with the full listing and the application link."
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"platform": {
"type": "string"
},
"match_reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"platform_name": {
"type": "string"
}
}
}
},
"returned": {
"type": "integer"
},
"browse_all": {
"type": "string"
},
"attribution": {
"type": "string"
},
"total_matching": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_jobs — Search AI training jobs
Search open AI training / AI evaluation roles (RLHF, model rating, expert data work) across 20+ platforms by keyword and filters. Returns title, platform, pay, eligible countries and the aitrainer.work page for each role, most relevant first (newest first when there is no keyword). Every keyword must appear in the role, so use one to three words.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Results to return, default 10."
},
"query": {
"type": "string",
"description": "Words to match in the title or description, e.g. \"physics\", \"Spanish\", \"lawyer\"."
},
"domain": {
"enum": [
"Generalist",
"Languages",
"STEM",
"Software Engineering",
"Business",
"Healthcare",
"Data Science",
"Legal",
"Writing",
"Finance",
"Voice Acting",
"Design",
"QA Testing",
"Humanities",
"Mathematics",
"Accounting",
"Psychology",
"Creative",
"IT & Systems"
],
"type": "string",
"description": "Field of work."
},
"country": {
"type": "string",
"description": "Only roles open to this country (English name, e.g. \"India\", \"United States\")."
},
"platform": {
"type": "string",
"description": "Platform key, e.g. mercor, micro1, outlier, handshake, turing, mindrift. See list_platforms."
},
"min_hourly_pay": {
"type": "number",
"description": "Minimum hourly pay in USD (hourly roles only)."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"total_matching",
"returned",
"browse_all",
"jobs",
"attribution"
],
"properties": {
"jobs": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"platform",
"platform_name",
"slug",
"pay",
"url"
],
"properties": {
"pay": {
"type": [
"string",
"null"
],
"description": "Pay as the listing states it. Text ending in \"(estimate, not stated in the listing)\" is our estimate; \"(platform range, not this role's rate)\" is the range the platform posts for all its projects."
},
"url": {
"type": "string",
"description": "The role page on aitrainer.work, with the full listing and the application link."
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"platform": {
"type": "string"
},
"match_reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"platform_name": {
"type": "string"
}
}
}
},
"returned": {
"type": "integer"
},
"browse_all": {
"type": "string"
},
"attribution": {
"type": "string"
},
"total_matching": {
"type": "integer"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_job — Get one AI training job
Full details of one role: description, requirements, pay and its source, hours, interview, countries.
{
"type": "object",
"required": [
"platform",
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Job slug from search_jobs results."
},
"platform": {
"type": "string",
"description": "Platform key from search_jobs results."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"title",
"platform",
"platform_name",
"slug",
"pay",
"url",
"open",
"attribution"
],
"properties": {
"pay": {
"type": [
"string",
"null"
],
"description": "Pay as the listing states it. Text ending in \"(estimate, not stated in the listing)\" is our estimate; \"(platform range, not this role's rate)\" is the range the platform posts for all its projects."
},
"url": {
"type": "string",
"description": "The role page on aitrainer.work, with the full listing and the application link."
},
"open": {
"type": "boolean"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"platform": {
"type": "string"
},
"attribution": {
"type": "string"
},
"match_reasons": {
"type": "array",
"items": {
"type": "string"
}
},
"platform_name": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_interview_prep — Prepare for an AI training interview
How a platform hires (steps, interview format, aitrainer.work guides) and practice questions with strong-answer outlines for a role. Use to explain what an interview involves or to run a mock interview. Practice questions are aitrainer.work's own, not a platform's real interview questions.
{
"type": "object",
"properties": {
"role": {
"type": "string",
"description": "Role or profession to practice for, e.g. \"data engineer\", \"nurse practitioner\"."
},
"platform": {
"type": "string",
"description": "Platform name or key, e.g. \"micro1\", \"Mercor\", \"Alignerr\"."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"platform",
"role",
"how_to_use"
],
"properties": {
"role": {
"type": [
"object",
"null"
]
},
"platform": {
"type": [
"object",
"null"
]
},
"how_to_use": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_platforms — List AI training platforms
Platforms we track, with open role counts, median hourly pay, payout speed and availability.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"platforms",
"attribution"
],
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"platforms": {
"type": "array",
"items": {
"type": "object",
"required": [
"platform",
"name",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"platform": {
"type": "string"
}
}
}
},
"attribution": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_pay_stats — AI training pay and hiring stats
Market pay for AI training work (median and quartiles of hourly rates stated in listings, by platform) and hiring outcomes from the latest monthly AI Training Pay Index.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"market",
"methodology",
"attribution"
],
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"market": {
"type": "object"
},
"pay_index": {
"type": [
"object",
"null"
]
},
"attribution": {
"type": "string"
},
"methodology": {
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
job-cards — AI training job cards
Cards for open AI training roles: platform, title, pay and a link to the role page.
ui://widget/job-cards-v3.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 427 ms
- 95th percentile latency
- 427 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 427 ms · metadata changed · 6 tool(s), 1 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http aitrainer-work-mcp https://aitrainer.work/mcpCodex
codex mcp add aitrainer-work-mcp --url https://aitrainer.work/mcpCursor
{
"mcpServers": {
"aitrainer-work-mcp": {
"url": "https://aitrainer.work/mcp"
}
}
}Cline
{
"mcpServers": {
"aitrainer-work-mcp": {
"type": "streamableHttp",
"url": "https://aitrainer.work/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"aitrainer-work-mcp": {
"type": "http",
"url": "https://aitrainer.work/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http aitrainer-work-mcp https://aitrainer.work/mcpClaude Desktop
{
"mcpServers": {
"aitrainer-work-mcp": {
"url": "https://aitrainer.work/mcp"
}
}
}Windsurf
{
"mcpServers": {
"aitrainer-work-mcp": {
"serverUrl": "https://aitrainer.work/mcp"
}
}
}Let your agent find its tools
Find servers like aitrainer.work MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run aitrainer.work MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.