> ## Documentation Index
> Fetch the complete documentation index at: https://opentrain.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP: Reviewer Feedback and Task Checklists

> Local and hosted MCP tools for private reviewer reports, access grants, adaptive checklist authoring, exact previews, and submission review.

OpenTrain MCP 0.14.0 exposes the complete Reviewer Feedback and adaptive Task Checklist employer workflows in both the local stdio server and the hosted OpenTrain MCP endpoint.

<Warning>
  Confirm `npm view @opentrain-ai/mcp version` reports 0.14.0 or later and call
  `opentrain_capabilities` before using these tools. Reviewer Feedback results
  are employer-private and must never be copied into a worker-visible context.
</Warning>

Every tool returns a compact text block plus machine-readable `structuredContent` with `apiBaseUrl` and the exact API result. API failures return `isError: true` and preserve the HTTP status, code, request ID, and structured details.

## Reviewer Feedback tools

| Tool                                  | Purpose                                                                            |
| ------------------------------------- | ---------------------------------------------------------------------------------- |
| `opentrain_job_feedback_settings`     | Read the per-job switch even while it is off.                                      |
| `opentrain_job_feedback_set_enabled`  | Enable or disable the feature with explicit confirmation and an idempotency key.   |
| `opentrain_job_feedback_list`         | Filter and page employer-private reports with authoritative status counts.         |
| `opentrain_job_feedback_get`          | Read one report and its oldest-first append-only event history.                    |
| `opentrain_job_feedback_summary`      | Read authoritative total, unresolved, status, per-person, and unlinked aggregates. |
| `opentrain_job_feedback_roster`       | Discover canonical subject people and every contract they held.                    |
| `opentrain_job_feedback_submit`       | Submit one employer-authored report about a canonical subject.                     |
| `opentrain_job_feedback_triage`       | Change lifecycle status with the exact `updatedAtIso` concurrency token.           |
| `opentrain_job_feedback_link_subject` | Link a legacy unlinked report to one canonical subject, once.                      |
| `opentrain_job_feedback_access_list`  | List active-contract reviewer candidates and grant state.                          |
| `opentrain_job_feedback_access_set`   | Grant or revoke one reviewer.                                                      |
| `opentrain_job_feedback_access_bulk`  | Grant or revoke up to 200 reviewers transactionally.                               |

Start with `settings`, then enable and configure reviewer access. Use `roster` for the canonical `subjectUserId` and optional `subjectContractId` before submitting employer feedback. A suggested action is only a recommendation; it never performs a warning, retraining assignment, or offboarding automatically.

Every feedback mutation takes an explicit `idempotencyKey`. `triage` also requires the report's latest `updatedAtIso`; refresh with `get` after a `409` rather than blind-retrying.

## Task Checklist tools

| Tool                                    | Purpose                                                                                        |
| --------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `opentrain_job_checklists_capabilities` | Read live operations, schema limits, and optional job state.                                   |
| `opentrain_job_checklists_list`         | List ordered definitions and the per-job enabled state.                                        |
| `opentrain_job_checklists_get`          | Read one employer builder draft, versions, validation issues, and publish impact.              |
| `opentrain_job_checklists_create`       | Create one complete draft atomically.                                                          |
| `opentrain_job_checklists_manage`       | Update the draft with CAS, retire it, or restore it.                                           |
| `opentrain_job_checklists_validate`     | Validate an inline local bundle or a stored draft/published tree without writing.              |
| `opentrain_job_checklists_resolve`      | Resolve sample raw answers, branches, repeated blocks, validity, and progress without storing. |
| `opentrain_job_checklists_preview`      | Mint a browser URL bound to an exact draft or immutable published revision.                    |
| `opentrain_job_checklists_publish`      | Publish an immutable version with draft/live revision guards and explicit confirmation.        |
| `opentrain_job_checklists_reorder`      | Reorder the complete definition set using a compare-and-set precondition.                      |
| `opentrain_job_checklists_versions`     | List immutable versions or read one exact version.                                             |
| `opentrain_job_checklists_submissions`  | List filtered submission rows or read one version-pinned result.                               |
| `opentrain_job_checklists_set_enabled`  | Enable worker visibility, or disable it with explicit confirmation.                            |

Checklist authoring works while the job feature is off. Follow this order:

1. Call `capabilities` and `list`.
2. Validate the complete proposed title, required mode, and typed tree inline.
3. Create a complete draft, or get and CAS-update an existing draft.
4. Resolve representative answers for every branch and repeat count.
5. Mint and open an exact-revision preview URL in an authenticated browser.
6. Publish with the expected draft revision, expected live version, and `confirmPublish: true`.
7. Re-read the canonical definition and inspect the applied impact and sweep counts.
8. Enable the job only after every published definition is ready.

## Visual review

`opentrain_job_checklists_preview` never silently resolves an unspecified draft revision. Choose one source mode:

* `draft` with `expectedDraftVersion`
* `published` with `versionNumber`
* `published-latest`, which resolves once and reports the immutable version it bound

The returned `previewUrl` contains a short-lived capability in its fragment. Open the URL directly; the page exchanges the capability in a request body and strips the fragment from browser history. The response also reports the exact content hash and expiration time.

## Submission privacy

Checklist submission detail includes the submitted version's title, tree, required mode, and active valid answers. Hidden, orphaned, and stale answer paths appear only as inactive audit metadata; their raw values and hashes are not returned.

Reviewer Feedback has a stronger boundary: only the employer side can call its tools. The reported AI trainer never receives the report, author, severity, suggested action, notes, event history, or aggregate counts through MCP.

## Related

<CardGroup cols={2}>
  <Card title="HTTP reference" href="/docs/developers/api-reference/job-quality/overview" icon="code">
    Exact REST paths, schemas, examples, and error recovery.
  </Card>

  <Card title="CLI reference" href="/docs/developers/cli/job-quality" icon="terminal">
    File-first checklist authoring and employer report management from a shell.
  </Card>
</CardGroup>
