Discover capabilities first
Callopentrain_capabilities first. Inspect the LMS retraining family under agentSurfaces, including the family status and each operation’s authorized value. Then call opentrain_lms_capabilities and inspect its retraining, assessments, course, lessonContent, assets, preview, and mastery sections instead of relying on remembered enums or limits.
Treat disabled, rollout_gated, or unauthorized as fail-closed results. The retraining capability block also identifies the two human checkpoints: worker-equivalent Preview and the no-write assignment plan. An agent must not assign directly around either checkpoint.
Tools
Recommended sequence
- Use the existing LMS authoring and Native Forms tools to create or update the module.
- Use the existing LMS Preview tools to inspect the real learner renderer without writing worker state.
- Register the published module if it is not already in the skill-gap registry.
- Create a case for one contract ID.
- If needed, patch the
DRAFTcase withopentrain_lms_retraining_update_caseand its exact expected revision. - Call
opentrain_lms_retraining_plan_caseand ask an authorized employer to review and explicitly approve the exact masked recipient, version and content hash, frozen due instant, effects, request hash, and receipt. - Only after that approval, call
opentrain_lms_retraining_assign_casewith the exact receipt, expected revision,confirmAssign: true, and a stable idempotency key. - Read the case and use existing LMS review tools to monitor or grade it.
- Use the canonical Project To-do
RETURNoperation to grant one more run when allowed. - Close the case only after its outcome agrees with canonical assignment state.
Safety contract
- Recipient resolution is exact-one and fail-closed.
- The assignment audience is always one selected contract. Future hires are never included.
- Planning writes nothing and consumes no attempts.
- The plan freezes the course version, content hash, case revision, capture hash, and due instant.
- Assignment requires an authorized employer’s explicit approval, the reviewed short-lived receipt, explicit confirmation, and a stable idempotency key.
confirmAssign: truerecords that approved mutation; it does not let an agent self-approve. - Worker names are masked. Employer-only evidence does not enter the worker payload.
- Learner and summary results never expose answer keys, correct values, prior wrong values, or per-question scores.
- List tools are cursor-paged. Follow
nextCursoruntilhasMoreis false before claiming a complete audit. - Tool failures set
isError: trueand preserve the API status, stable error code, structured details, and request ID. Branch on those fields rather than human-readable text.
Permissions
Reads requirelms:read. Mutations and the protected no-write plan require lms:write. Both the local and hosted MCP servers enforce the same organization and job authorization as REST.
See the workflow guide and REST reference for the full lifecycle.