目录 / Proctor AI
MCP
需 API Key
未评级
已上架
Proctor AI
Proctor AI is a free AI grading tool built for teachers who lose evenings to marking. Upload a single PDF of the whole class and the agent splits the papers, reads handwritten answer sheets, grades each one against your rubric, runs integrity analysis for copying and AI-written text, and drafts personalised feedback for every student. The teacher reviews and approves every mark. Now with a Claude MCP so you can grade a class by chatting with Claude. Trusted by 2,000+ teachers.
该来源不提供完整文件导出(国内平台多为平台内托管),仅存元数据与原链
接入信息
- 传输形态
- http
- 鉴权方式
- 需 API Key(需要配置:connect_url)
- 端点
https://proctorai.run.tools
该服务需要凭证,请按官方文档申请后替换占位符
{
"mcpServers": {
"Proctor AI": {
"headers": {
"Authorization": "Bearer \u003cYOUR_KEY\u003e"
},
"url": "https://proctorai.run.tools"
}
}
}
能力清单
| 工具 | 说明 |
|---|---|
| whoami | Return the connected teacher's account: plan, this month's usage, and roster/assignment counts. Call this first to confirm the connection works. |
| get_usage | The teacher's plan, grades used this month, grades remaining, and the upgrade link. Use when they ask about their limit, usage, plan, or how to upgrade. |
| list_assignments | List the teacher's assignments (id, title, status, due date, question count). Optionally filter by status. |
| get_assignment | Full detail for one assignment, including every question, its expected answer, and max score — i.e. the marking rubric you grade against. |
| list_submissions | List submissions for one assignment (student, roll number, status, grade). Does not include answer content — use get_submission for that. |
| get_submission | Full detail for one submission, including each answer's text. Set purpose="grading" when you are about to mark it — that returns Proctor's marking protocol and this paper's marking key alongside the answers. Leave purpose at its default when the teacher just wants to see what a student wrote. To grade a whole class, use get_grading_batch instead of calling this per student. |
| list_students | The teacher's student roster (name, email, class/section, roll number). |
| get_reports | Graded reports (corrections) with scores and feedback. Filter by assignmentId and/or studentName. Returns up to 100, most recent first. |
| get_submission_images | Return a submission's answer-sheet pages as viewable images, in booklet order, each labelled with its page number. This is how you read a handwritten paper. The pages are NOT indexed by question — students answer out of order, skip questions and continue answers onto later pages, so you must read every page and attribute answers by the question numbers the student wrote. Large booklets are returned in pages of `maxImages`; when more remain you are told so explicitly — keep calling with `fromPage` until you have the whole booklet, because marking a paper from a partial page set produces a wrong grade. Set purpose="grading" when a score will follow. |
| get_grading_batch | START HERE to grade an assignment. ONE call returns (a) Proctor's grading protocol for this specific paper — how to mark it, the rules that apply to its question types, and the exact ids to score against; (b) a FLAT marking key: one row per independently-scored item, sub-questions already split out, with expected answer, max score and any choice rule spelled out; (c) every submission's answers; and (d) each student's prior graded work so you can judge the paper against their record rather than in isolation. Use this instead of get_assignment + get_submission per student. Papers that are photographed answer sheets come back with hasImages=true — fetch those pages with get_submission_images before scoring them — then save everything with save_grades_bulk. |
| get_student_history | Everything Proctor holds on one student's past work: each graded assignment with its score, trend, per-concept mastery, the improvements they were asked to make, previous teacher recommendations, and any earlier integrity notes. Use it to answer questions about a student over time, and to prepare the historical read before re-grading or re-evaluating their work. Identify the student by id, name, or roll number. |
| save_grade | Save your grading of ONE submission. Beyond scores and feedback, attach the integrity read, concept mastery, historical analysis and teacher recommendations — they are what makes the report worth opening. Proctor does the arithmetic: it applies the paper's choice rules (any-N-of-M, either/or), totals the marks, works out the percentage and trend, links the paper to the roster student, and returns the report link. It also checks your question ids against the marking key and tells you about any it did not recognise or any question you left unscored — read the warnings field. Re-running for the same submission overwrites the previous grade. To save several papers, use save_grades_bulk instead. |
| save_grades_bulk | Save grading for MANY submissions in one call — the companion to get_grading_batch and the fastest way to finish a class. Each entry takes exactly the same fields as save_grade, and Proctor does the same arithmetic per paper: choice rules applied, marks totalled, trend computed, roster linked. One bad entry never blocks the rest: you get back saved[], failed[] and skipped[] separately, each saved entry carrying its report link and any warnings about unrecognised question ids or unscored questions. Every saved grade counts toward the monthly quota; if the quota runs out mid-batch the remainder is returned in skipped[] rather than silently dropped. Always prefer this over calling save_grade in a loop. |
| save_assignment_report | Write the assignment-level report: how the class did overall, which questions defeated them and why, the misconceptions worth reteaching, students needing attention, and what the teacher should do next. This is the analysis only possible with every paper in view, so produce it AFTER grading the batch. Score statistics (average, median, spread, distribution) are computed from the saved grades automatically — you supply the judgement, not the arithmetic. Re-running replaces the previous report. Returns the report link. |
| get_assignment_report | Read back the saved class report for an assignment, plus every student's report link. Use when the teacher asks how a class did, or to re-share the links after grading. |
| create_assignment | Create a new assignment (question paper). Each question has a prompt, optional expectedAnswer (the marking key) and maxScore. Created as a draft unless status is set. |
| update_assignment | Update fields on an existing assignment (title, description, dueDate, academicLevel, status). Does not modify questions. |
| add_student | Add a student to the roster. |
| create_document | Build a print-ready document and return a link the teacher can open, save as PDF, and hand out. Four kinds: • "question_paper" — the student question paper, laid out in the CBSE board format: school/class/subject header, roll-number box, numbered General Instructions, sections with their own instruction line, marks in the right margin, and internal choice printed as an alternative under a centred "OR". No watermark and no Proctor branding, so it can be distributed as the school's own paper. • "answer_key" — the same paper as the teacher's copy, with the marking scheme and model answers. Marked "do not distribute". • "student_report" — one student's graded report to hand back. Teacher-only material (integrity read, private notes) is left OUT unless you ask for it. • "class_report" — the class-wide analysis, ready to print for a department meeting. Pass the school name, class, subject and time allowed to fill the header properly — a paper without them still works but reads generically. Regenerating the same document replaces the old link. |
| list_documents | Documents built earlier that are still live, with their links. Use it to re-share a paper or report without rebuilding it. |
| list_knowledge_base | The teacher's uploaded reference material — syllabus documents, textbook chapters, marking guidelines, timetables. This is what grading can be grounded in, and what lesson planning should draw on. Returns each document's id, name, category and how much searchable text it holds. |
| search_knowledge_base | Find the passages in the teacher's uploaded material that are relevant to a topic or question. Use it to ground a marking decision in the prescribed textbook wording, to check what the syllabus actually requires before writing a paper, or to prepare a lesson from the teacher's own material rather than from general knowledge. Returns the actual text, with the document it came from. |
| get_timetable | The teacher's timetable as structured periods (day, time, subject, class, room) when one has been uploaded and parsed. Use it to answer scheduling questions, to plan when to reteach something a class got wrong, and to pick a realistic date when setting an assignment. |
| get_dashboard | One overview of where the teacher stands: assignments by status, papers waiting to be graded, recent grading activity, class averages, students who are falling behind, open re-evaluation requests, and this month's quota. Call this when the teacher asks an open question like "what needs my attention?" or "how are things going?" rather than fetching each piece separately. |
| get_batch_report | How one batch (class or section) is doing across everything they have been graded on: each student's average and trajectory, which assignments went worst, and who needs attention. This is the longitudinal view a single assignment report cannot give. Identify the batch by id or name. |
| list_reeval_requests | Students who have asked for their paper to be looked at again, with the reason they gave. Pending ones are the teacher's to-do list. Requires a plan with re-evaluation (Pro or School). |
| list_batches | The teacher's batches — their classes or sections — with how many students are in each, which knowledge-base documents ground that batch's grading, and whether a timetable is attached. Use this whenever the teacher talks about "my Class 10B" or "the morning batch" so you can resolve the name to a batch id. |
| create_batch | Create a batch (a class or section) to group students. Optionally attach knowledge-base documents so grading for this batch is grounded in that syllabus material, and link a timetable document. |
| update_batch | Rename a batch or change its knowledge-base and timetable settings. Only the fields you pass are changed. |
| assign_students_to_batch | Put students into a batch (or remove them from any batch by leaving batchId empty). Accepts student ids, names or roll numbers. Returns which students were matched and which were not, so nothing moves silently. |
| update_student | Change a student's details — name, email, roll number, class, section, or batch. Only the fields you pass are changed. |
| add_students_bulk | Add a whole class to the roster in one call — the fast way to set up at the start of term. Students already on the roster (same roll number, or same name when no roll number is given) are skipped rather than duplicated, and the skipped ones are listed back to you. Stops cleanly at the plan's student limit instead of failing the whole batch. |
| list_notifications | Notifications the teacher has sent, newest first, with who received each one and how many have read it. Use it to answer "did I already remind them?" before sending another. |
| send_notification | Send an in-app notification to students. Leave studentIds empty to notify the whole class. Requires a plan with notifications (Pro or School). |
| delete_assignment | Permanently delete an assignment AND all of its submissions and grade reports. Two-step: call once without confirmToken to see exactly what will be removed and get a token, then call again with that token to delete. |
| delete_submission | Permanently delete one student's submission and its grade report(s); the student is notified to resubmit. Two-step: call without confirmToken for a preview + token, then again with the token to delete. |
| delete_correction | Permanently delete a grade report (correction record). The student's submission itself is KEPT and goes back to ungraded, so it can be graded again — use this to throw away a bad grading run without making the student resubmit. Identify the report by correctionId, or pass submissionId to remove every report for one student's paper. Two-step: call without confirmToken for a preview plus a token, then again with the token to delete. Note that deleting a report does not refund the grade against the monthly quota. |
| delete_batch | Delete a batch (class or section). The students in it are KEPT on the roster — they just stop belonging to any batch — and their grade reports are untouched. Two-step: call without confirmToken for a preview plus a token, then again with the token to delete. |
| delete_student | Permanently remove a student from the roster. Their past grade reports are kept but become unlinked from the roster. Two-step: call without confirmToken for a preview + token, then again with the token to delete. |
纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。