Engineering

The Proctor AI Stack: How We Grade a Class in Minutes

August 2026 · 9 min read · By Upendra Gariminti

Every teacher who has tried Proctor AI asks the same question after the first grading run. How is this actually working. This is the honest answer, from the person who built it. If you are a teacher, this is a look under the hood. If you are an engineer, this is the shape of the system.

The one-line version

Proctor AI is an agent that reads a class of handwritten papers, marks each answer against a rubric the teacher provides, and returns every result as a draft the teacher can review and approve. The agent is grounded on the specific marking scheme for the specific paper in front of it, which is why the marks feel like the teacher's own.

  • 93% Agreement with human grading
  • 10s Per single paper
  • 3min For a class of 40
  • 0 Papers used to train models

Step 1: The intake

The teacher uploads one PDF of the whole class. The system splits pages by the answer-sheet header, matches each split to a roster student using a fuzzy matcher, and stores the images. If a page does not match anyone, we flag it rather than guess. The teacher never wants a paper attached to the wrong student.

Step 2: Reading handwriting the way a teacher would

OCR is the easy part. Reading a real classroom answer sheet is not. Students cross things out, add margin notes, draw arrows to earlier answers, and write out of order. We use a multi-stage pipeline: a layout model finds the question boundaries first, then a handwriting model reads inside each region with the question text and the ideal answer in the context. That context is the difference between reading words and reading answers.

Step 3: Grading grounded on the marking scheme

This is where a lot of ed-tech AI goes wrong. Ungrounded models grade against a vague sense of what a good answer looks like, which is fine for essays and terrible for maths. Proctor AI grades every question with a rubric-in-context: the teacher's rubric, the reference answer, and, for CBSE and ICSE classes, the official marking scheme retrieved via RAG. The grader assigns marks per rubric item, so the teacher can see exactly why a mark was given or withheld.

Step 4: Integrity analysis you can defend

Copying and AI-written answers are a real problem. Confidently accusing the wrong student is a worse one. Our integrity layer compares answers across the whole class, then across the student's own history, and returns evidence: which lines match, which paragraphs are stylistically anomalous, which diagrams are near duplicates. It never issues a verdict. The teacher gets the evidence and makes the call.

Step 5: The Claude MCP

The newest layer sits on top of everything else. The Proctor AI MCP turns every grading tool into something the teacher can invoke by chatting with Claude. Add the connector once, and every workflow, from split-and-grade to integrity check to feedback drafting, becomes a plain-English request. This matters because a lot of teachers already use Claude for lesson planning. We wanted them to grade in the same window they already have open.

Why MCP and not a plugin

MCP is the open protocol. Anthropic supports it in Claude, Claude Code, and the CLI. Teachers should not have to learn a new interface every time a model releases a new UI. If a school uses Claude Desktop today and switches to Claude Code next year, the same MCP endpoint keeps working.

The infra choices

  • Auth: Clerk, so teachers can sign in with the same account they use everywhere.
  • Storage: images offloaded to Cloudflare R2, because student answer sheets are heavy and egress on other providers eats the free plan alive.
  • Payments: Razorpay for Indian schools and coaching centres, because that is what the market already trusts.
  • Model routing: multiple providers behind a common interface, so a model outage never breaks grading day.
  • Observability: every grading job is a traceable pipeline, because when a teacher asks why a mark was given, the answer needs to be exact.

What is on the roadmap next

  1. Deeper support for Indian regional languages: Hindi, Kannada, Tamil, Telugu, Marathi.
  2. A native Google Classroom integration, so rosters and rubrics flow both ways.
  3. A batch-scale grading tier for schools, so a whole board exam can be handed off overnight.
  4. Better parent-facing report exports, in the languages the parents actually read.
  5. An open marking-scheme library for CBSE, ICSE, IB, and IGCSE, contributed by teachers, so the grader is grounded on real scheme text and not a paraphrase.
Every technical choice we have made is downstream of one question: does this get a teacher home earlier tonight?

How to try it

Grab a class of papers you would rather not grade this week. Go to https://agent.proctorai.io, upload the PDF, and ask the agent to grade them. If you use Claude, connect the MCP by following the guide at https://proctorai.io/claude-ai-teacher-mcp. Then tell me what broke. I want to know. That is how this gets better.

Frequently asked questions

Does Proctor AI train models on student data?

No. We do not use student answer sheets or teacher rubrics to train any model. Grading is grounded at inference time on the rubric and marking scheme for the specific paper, and the data stays in the teacher's Proctor AI account.

What accuracy does Proctor AI actually achieve?

Around 93 percent agreement with human grading across our pilot data set, and every mark is a draft the teacher can review and change. Accuracy is measured against the teacher's own final marks, not a separate rubric.

How does the Claude MCP fit in?

The Proctor AI MCP exposes every grading tool as a callable action for Claude. Once a teacher adds the connector once, they can grade, run integrity checks, and pull reports by chatting with Claude on the web, desktop, or Claude Code.

Get started free with the Proctor AI grading agent