MCP.Market

OpenTrain MCP server

by OpenTrain-AI·io.github.OpenTrain-AI/opentrain·v0.2.2

Hire human data labelers, RLHF annotators, and evaluators from your coding agent.

C55/100grade C
What users say
No reviews yet
Be the first
Safety scan
C55/100

full report

Adoption
New

913 downloads/wk

Reviews

Write one

Nobody has reviewed OpenTrain yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

OpenTrain tools (41, 10 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • opentrain_auth_status

    Confirm that the configured OpenTrain personal API token can authenticate to the OpenTrain public API.

  • opentrain_capabilities

    Discover which OpenTrain public API features are enabled for this token (job drafting, publishing, hiring, messaging writes, team) plus accepted job-draft fields and enums. Call this when a write tool returns a feature-disabled error or before planning a multi-step flow.

  • opentrain_claim_accountwrite action

    Send the human owner a claim invite for the agent-registered OpenTrain account. Ask the human for their email first. OpenTrain emails them a verification link and code; once they accept, they own the account and can add billing. Follow up with opentrain_claim_status to check whether the claim completed.

  • opentrain_claim_status

    Check whether the human has completed the OpenTrain account claim started by opentrain_claim_account. When the claim is complete, the stored API token is upgraded to the claimed account automatically. Respect the poll interval from opentrain_claim_account; a slow_down status means you are polling too fast.

  • opentrain_close_job

    Close (archive) a published OpenTrain job so it stops accepting proposals and leaves public listings. Existing contracts on the job are unaffected. Idempotent — closing an already-archived job reports alreadyClosed. Requires jobs:write scope and the job-publishing feature.

  • opentrain_create_credit_top_upwrite action

    Start a credit top-up on the OpenTrain account. No money moves from this call: it returns a Stripe Checkout checkoutUrl that a signed-in human must open and pay (the link expires in ~24h). Once paid, the balance updates automatically — confirm with opentrain_get_credit_top_up or opentrain_get_credits. Amount must be between $10 and $10,000. Requires payments:write scope, a claimed account, and the

  • opentrain_create_job_draftwrite action

    Create an unpublished OpenTrain job draft from a full job description/project brief or supported import payload. This is the primary MCP job-drafting workflow: OpenTrain parses the description into its structured job fields server-side. The response includes validation state; each missing field carries an "ask:" question to relay to the human, its type, allowed enum values, and the field name(s) t

  • opentrain_create_milestonewrite action

    Create a new unfunded milestone on an existing OpenTrain contract. No money moves at creation — use opentrain_request_milestone_funding afterwards to start the human-confirmed funding step. Requires payments:write scope and a claimed account.

  • opentrain_create_webhookwrite action

    Subscribe a URL to OpenTrain platform events (push instead of polling opentrain_poll_updates). Deliveries are signed with HMAC-SHA256 via the X-OpenTrain-Signature header. IMPORTANT: the signing secret is returned ONCE in this response — store it immediately; it cannot be retrieved later. Requires webhooks:manage scope, the webhooks feature, and the read scope for each subscribed event type. The s

  • opentrain_delete_webhookwrite action

    Delete a webhook subscription and stop its deliveries. This is also how a DISABLED subscription is resumed: delete it and create a new one (which mints a new secret). Requires webhooks:manage scope and the webhooks feature.

  • opentrain_end_contract

    End an OpenTrain contract. If the contract has no funded milestones it ends immediately. If funded escrow is at stake, the call instead returns a pending approval with an approvalUrl a signed-in human must confirm (no funds move until then) — watch opentrain_poll_updates for approval.confirmed or re-check with opentrain_get_approval. Requires payments:write scope, a claimed account, and the paymen

  • opentrain_get_approval

    Check the status of a pending human co-sign approval (milestone funding, milestone release, or contract end): pending, confirmed, declined, or expired, plus the execution result once confirmed. Requires payments:read scope.

  • opentrain_get_contract

    Read one OpenTrain contract in detail: status, milestones with funding/approval state, freelancer identity, and the post-hire job DM conversationId for messaging. Requires payments:read scope.

  • opentrain_get_credit_top_up

    Check the status of a credit top-up: pending (awaiting human payment), completed (credits added), canceled, or expired. Requires payments:read scope and the credits feature.

  • opentrain_get_credits

    Read the OpenTrain credit balance for the account: available cents, reserved (escrow-held) cents, currency, and the 10 most recent ledger entries. Credits fund hires and milestone escrow without a card-present step; when the balance covers a money move, the existing human co-sign approval flow executes against credits. Requires payments:read scope and the credits feature.

  • opentrain_get_freelancer_profile

    Read a masked OpenTrain freelancer profile by user id or public profile slug for candidate evaluation: title, bio, skills, stats (earned, billed hours, job success), work/label experience, education, reviews, and languages. Requires proposals:read scope. Names are masked to first name + last initial and personal contact details (including personal email) are never returned.

  • opentrain_get_proposal

    Read a full OpenTrain proposal/candidate evaluation by proposal id: status, bid, masked candidate, AI-interview score + summary, location/identity verification, Open Label assessment, and contract state. Pass includeInterview: true to also fetch the sanitized AI-interview transcript. Requires proposals:read scope and preserves OpenTrain proposal privacy restrictions.

  • opentrain_get_team

    Read the token owner's OpenTrain employer team: organization, members, and pending invites. Team members share jobs and the team inbox. Requires team:read scope and the public_api_team feature.

  • opentrain_get_webhook

    Read one webhook subscription: URL, event types, status (ACTIVE or DISABLED), and failure/disable details. The signing secret is never returned — if lost, delete and re-create the subscription. Requires webhooks:manage scope and the webhooks feature.

  • opentrain_hire_proposal
  • opentrain_invite_freelancer

    Invite a freelancer to a published OpenTrain job, creating a proposal they can respond to. Requires proposals:write scope and the public_api_hiring feature. Agent accounts must be claimed by a human first (403 with a claimUrl otherwise). Idempotent: re-inviting the same freelancer returns the existing proposal with alreadyInvited=true.

  • opentrain_invite_team_member

    Invite a human to the OpenTrain employer team by email, giving them shared access to jobs and the team inbox once they accept. Sends the same invitation email as the in-app flow. Requires team:write scope and the public_api_team feature. Agent accounts must be claimed by a human first (403 with a claimUrl otherwise). Idempotent-ish: inviting an existing member returns already_member; users with ex

  • opentrain_list_contracts

    List contracts (hired freelancers) on the OpenTrain account, optionally filtered by jobId and/or status (active|ended). Each contract includes milestones, the post-hire job DM conversationId, and the freelancer identity (unmasked post-hire). Requires payments:read scope.

  • opentrain_list_credit_ledger

    Page through the OpenTrain credit ledger: top-ups, escrow holds, hold releases, captures, refunds, and adjustments, newest first. Each entry links the related top-up, proposal, contract, or milestone ids. Pass the returned nextCursor to fetch older entries. Requires payments:read scope and the credits feature.

  • opentrain_list_jobs

    List the token owner's OpenTrain jobs with status, publish state, proposal counts, and live URLs. Requires jobs:read scope. Use this to find job ids for opentrain_list_proposals or opentrain_publish_job.

  • opentrain_list_pending_payments

    Read pending OpenTrain payment and milestone state visible to the token owner. Requires payments:read scope and never releases funds, refunds charges, creates payouts, or changes payment settings.

  • opentrain_list_proposals

    List proposals/candidates for an OpenTrain job with statuses, bids, AI interview scores, and resume match scores — the primary tool for reviewing and ranking who to hire. Requires proposals:read scope. Use opentrain_get_proposal for one candidate in depth, then opentrain_hire_proposal to hire.

  • opentrain_list_tokens

    List the API tokens on the OpenTrain account (labels, scopes, expiry — never secrets). Requires tokens:read scope. Use opentrain_revoke_token to revoke one.

  • opentrain_list_webhooks

    List webhook subscriptions on the OpenTrain account, including status (ACTIVE or DISABLED after sustained delivery failure) and subscribed event types. Secrets are never included. Requires webhooks:manage scope and the webhooks feature.

  • opentrain_poll_updates

    Poll the OpenTrain delta feed of account events (new proposals, proposal status changes, new messages, contracts, milestone changes, pending payments) in one cheap call instead of re-reading every resource. Pass the nextCursor from the previous poll to receive only newer events; payloads carry IDs only — fetch details with the matching read tool. Event visibility follows the token scopes (proposal

  • opentrain_publish_jobwrite action

    Publish an OpenTrain draft job live on the marketplace. Runs the same validation + moderation pipeline as the in-app publish flow and is subject to per-account daily publish limits. Requires jobs:write scope and the public_api_job_publishing feature (check the job-drafts capabilities endpoint or a 403 response). Returns the live job URL.

  • opentrain_read_messages

    Read authorized OpenTrain conversation summaries or messages. Omit conversationId to list summaries; provide conversationId to read messages. Requires messages:read scope and never creates conversations or sends messages.

  • opentrain_register_agent

    Register a brand-new anonymous OpenTrain agent account. No prior credentials are needed. The new API token is stored in the shared OpenTrain config file (also used by the OpenTrain CLI), so every other opentrain tool works immediately afterwards. Next step: ask the human for their email and call opentrain_claim_account so they can claim the account and add billing.

  • opentrain_request_milestone_approval

    Request approval (payment release) of a funded milestone. This does NOT release money: it returns a pending approval with an approvalUrl that a signed-in human must open and confirm in the OpenTrain app (expires in ~72h). Watch opentrain_poll_updates for an approval.confirmed event, or re-check with opentrain_get_approval. Requires payments:write scope, a claimed account, and the payments-write fe

  • opentrain_request_milestone_funding

    Request escrow funding for a milestone. This does NOT move money: it returns a pending approval with an approvalUrl that a signed-in human must open and confirm in the OpenTrain app (expires in ~72h). Watch opentrain_poll_updates for an approval.confirmed event, or re-check with opentrain_get_approval. Requires payments:write scope, a claimed account, and the payments-write feature flag.

  • opentrain_revoke_token

    Revoke an OpenTrain API token by id (irreversible — the token stops working immediately). Requires tokens:write scope. Revoking the token this server is using will break subsequent calls.

  • opentrain_search_jobs

    Search the public OpenTrain job marketplace (all live jobs, not just the token owner's). Filter by free text, category, language, country, or pay type. Use opentrain_list_jobs for the token owner's own jobs instead.

  • opentrain_send_messagewrite action

    Send a plain-text message into an existing OpenTrain conversation the token owner participates in. Runs the same membership, rate-limit, and content-policy checks as the in-app messaging flow. Requires messages:write scope and the public_api_messaging_writes feature. Agent accounts must be claimed by a human first (403 with a claimUrl otherwise). This tool never creates conversations; conversation

  • opentrain_start_proposal_conversation

    Start (or fetch) the pre-hire direct-message thread for a proposal so you can message the candidate before hiring. Idempotent get-or-create — safe to call repeatedly; returns the conversationId to use with opentrain_send_message. Employer side only. Requires messages:write scope, the public_api_messaging_writes feature, and a claimed account.

  • opentrain_update_job_draft_fieldswrite action

    Fill in or correct fields on an existing unpublished OpenTrain draft. Use this after opentrain_create_job_draft when the draft is not publish ready: ask the human each missing field's "ask:" question, then patch the answers using the "set:" field names (do not ask the human to author raw JSON). Always start from opentrain_create_job_draft with a description; this tool never publishes directly — us

  • opentrain_update_published_jobwrite action

    Update fields on a live published (OPEN) OpenTrain job. The revised listing is re-checked by moderation inline; if it is blocked, the job is automatically unpublished back to draft and the response explains what to fix. For unpublished drafts use opentrain_update_job_draft_fields instead. Requires jobs:write scope and the job-publishing feature.

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan7 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancerepository not readable: repo not found3/15
  • Maintainer identityno repository or website to verify2/10
Overall 55/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How OpenTrain compares

Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
55/100
higher than 12% of 4,460 AI and agents servers
Tools
41
the typical AI and agents server has 6
Tools that change things
24%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
913
more than 92% of 1,538 AI and agents servers with a package

What its tools let an agent do: 41 create

Install OpenTrain in Claude Code, Cursor or VS Code

Runs npx -y @opentrain-ai/mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add opentrain -- npx -y @opentrain-ai/mcp
Add to Cursor

OpenTrain: common questions

Is OpenTrain MCP server safe?
With care: it is graded C, so read the findings first (55/100). Read the OpenTrain safety report
How do I install OpenTrain?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does OpenTrain need an API key?
Yes. The registry entry asks for OPENTRAIN_PERSONAL_API_TOKEN.
Is OpenTrain maintained?
The latest release is v0.2.2.
What can I use instead of OpenTrain?
Servers from other publishers that do the same job: Serena MCP: the IDE for your agent MCP server, Figma Context MCP server and SuperCompress MCP server.
How does OpenTrain compare with other AI and agents MCP servers?
safety score 55/100 (higher than 12% of 4,460 AI and agents servers); tools 41 (the typical AI and agents server has 6); tools that change things 24% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to OpenTrain

Same job from other publishers: the closest match first, then the best rated.

  • Serena MCP: the IDE for your agent
    A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
    C
  • Figma Context
    Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
    B
  • SuperCompress
    Compress coding-agent context ~64%. Hosted Neural Keep MCP for Cursor/Claude/Codex.
    B
  • Orcareplay
    Read, replay and fork recorded coding-agent runs.
    A
  • CHAP Coordinator
    Auditable records of human decisions over AI agent work. Approvals, edits, overrides, escalations.
    A