Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GRADESCOPE_EMAILYesThe email address associated with your Gradescope account.
GRADESCOPE_PASSWORDYesThe password for your Gradescope account.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
tool_list_courses

List all Gradescope courses for the authenticated user.

Returns courses grouped by role (instructor vs student), including course ID, name, semester, and assignment count.

tool_get_assignments

Get all assignments for a specific Gradescope course.

Returns a table of assignments with names, IDs, dates, status, and grades.

Args:
    course_id: The Gradescope course ID (found via list_courses).
tool_get_assignment_details

Get detailed information about a specific assignment.

Returns the assignment name, dates, submission status, and grade.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID (found via get_assignments).
tool_get_course_roster

Get the full roster (students, TAs, instructors) for a course.

Returns a table grouped by role with name, email, SID, and submission count.
Requires instructor or TA access to the course.

Args:
    course_id: The Gradescope course ID.
tool_upload_submission

Upload files as a submission to a Gradescope assignment.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    file_paths: List of absolute file paths to upload.
    leaderboard_name: Optional leaderboard display name.
    confirm_write: Must be True to perform the upload.
tool_get_extensions

Get all student extensions for a specific assignment.

Returns a table of extensions with user ID, name, and modified dates.
Requires instructor or TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
tool_set_extension

Add or update an extension for a student on an assignment.

If the student already has an extension, it will be overwritten.
At least one date must be provided. Dates must be in order:
release_date <= due_date <= late_due_date.

Requires instructor or TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    user_id: The student's Gradescope user ID (found via get_course_roster).
    release_date: Extension release date (ISO format: YYYY-MM-DDTHH:MM).
    due_date: Extension due date (ISO format: YYYY-MM-DDTHH:MM).
    late_due_date: Extension late due date (ISO format: YYYY-MM-DDTHH:MM).
    confirm_write: Must be True to apply the extension update.
tool_modify_assignment_dates

Modify the dates of an assignment (release, due, late due).

At least one date must be provided. Only the provided dates will be changed.
Requires instructor or TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    release_date: New release date (ISO format: YYYY-MM-DDTHH:MM), or None to keep unchanged.
    due_date: New due date (ISO format: YYYY-MM-DDTHH:MM), or None to keep unchanged.
    late_due_date: New late due date (ISO format: YYYY-MM-DDTHH:MM), or None to keep unchanged.
    confirm_write: Must be True to apply the date change.
tool_rename_assignment

Rename an assignment on Gradescope.

Requires instructor or TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    new_title: The new title for the assignment.
    confirm_write: Must be True to perform the rename.
tool_get_assignment_submissions

Get all submissions for an assignment (instructor/TA only).

Returns a list of submission IDs and file counts.
Note: May be slow for large classes as it fetches each submission individually.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
tool_get_student_submission

Get a specific student's most recent submission (instructor/TA only).

Returns links to the submission files.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    student_email: The student's email address.
tool_get_assignment_graders

Get the list of graders assigned to a specific question (instructor/TA only).

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID within the assignment.
tool_get_assignment_outline

Get the question/rubric outline for an assignment.

Returns the hierarchical question structure with IDs, types, weights, and
question text. Essential for understanding how an assignment is structured.
Requires instructor/TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
tool_export_assignment_scores

Export per-question scores for an assignment.

Returns a summary table with student names, total scores, statistics,
and per-question breakdowns. Requires instructor/TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
tool_get_grading_progress

Get the grading progress dashboard for an assignment.

Shows each question's grading status: how many submissions have been graded,
assigned graders, and completion percentage. Requires instructor/TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
tool_get_regrade_requests

List all regrade requests for an assignment.

Returns a table of pending and completed regrade requests with student name,
question, grader, status, and identifiers for fetching details.
Requires instructor/TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
tool_get_regrade_detail

Get detailed information about a specific regrade request.

Shows the student's regrade message, the current rubric, applied rubric items,
the grader's response (if any), and submission page links. Use question_id and
submission_id from the regrade request listing.
Requires instructor/TA access.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID (from get_regrade_requests).
    submission_id: The submission ID (from get_regrade_requests).
tool_get_assignment_statistics

Get comprehensive statistics for an assignment.

Returns assignment-level summary (mean, median, min/max, std dev) and
per-question breakdowns. Highlights low-scoring questions.
Requires instructor/TA access.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
tool_get_submission_grading_context

Get full grading context for a question submission.

Returns current rubric items (with IDs), applied evaluations, score,
comments, point adjustment, navigation URLs (next/prev/ungraded),
and submission page images. Use this before applying grades.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID.
    submission_id: The question submission ID.
tool_apply_grade

Apply a grade to a student's question submission.

Can apply/remove rubric items, set point adjustments, and add comments.
**WARNING**: This modifies student grades.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID.
    submission_id: The question submission ID.
    rubric_item_ids: List of rubric item IDs to apply (checked). Items NOT
        in this list will be unchecked. Pass None to keep unchanged.
    point_adjustment: Submission-specific point adjustment. Pass None to keep.
    comment: Grader comment. Pass None to keep unchanged.
    confidence: Agent's self-assessed grading confidence (0.0-1.0).
        Below 0.6 = rejected. 0.6-0.8 = warning. Above 0.8 = OK.
        Pass None to skip confidence gating (manual mode).
    confirm_write: Must be True to save the grade.
tool_get_question_rubric

Get rubric items for a question without needing a submission ID.

Auto-discovers a submission to extract rubric data. Use when you know
the question_id from outline but don't have a submission ID yet.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID from outline.
tool_create_rubric_item

Create a new rubric item for a question.

**WARNING**: Changes the rubric for ALL submissions.

Weight semantics depend on the question's scoring type:
- **Positive scoring:** Items ADD points (use positive weights).
- **Negative scoring:** Items DEDUCT from max (use negative weights).

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID.
    description: Rubric item description.
    weight: Point value — see scoring-type note above.
    confirm_write: Must be True to create the rubric item.
tool_get_next_ungraded

Navigate to the next ungraded submission.

Returns the full grading context for the next ungraded submission,
or a message that all submissions are graded.

Args:
    course_id: The current course ID.
    question_id: The current question ID.
    submission_id: The current Question Submission ID (optional).
        If omitted or invalid (e.g. a Global Submission ID), the tool
        will auto-discover a valid submission to navigate from.
    output_format: "markdown" (default) or "json".
tool_update_rubric_item

Update an existing rubric item's description or weight.

**WARNING**: Changes cascade to ALL submissions with this item applied.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID.
    rubric_item_id: The rubric item ID to update.
    description: New description, or None to keep unchanged.
    weight: New point value, or None to keep unchanged.
    confirm_write: Must be True to apply the update.
tool_delete_rubric_item

Delete a rubric item from a question.

**WARNING**: Removes the item from ALL submissions and recalculates scores.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID.
    rubric_item_id: The rubric item ID to delete.
    confirm_write: Must be True to delete the item.
tool_get_answer_groups

List all answer groups for a question (AI-Assisted Grading).

Shows clusters of similar student answers. Grade one group to
grade all members at once — much more efficient than 1-by-1.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID.
    output_format: "markdown" or "json" for structured output.
tool_get_answer_group_detail

Get detail for one answer group: members, crops, graded status.

Use this to inspect what answers are in a group before batch-grading.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID.
    group_id: The answer group ID.
    output_format: "markdown" or "json" for structured output.
tool_grade_answer_group

Batch-grade ALL submissions in an answer group at once.

**WARNING**: This grades N students at once. Use with caution.

Args:
    course_id: The Gradescope course ID.
    question_id: The question ID.
    group_id: The answer group ID.
    rubric_item_ids: Rubric item IDs to apply.
    point_adjustment: Point adjustment.
    comment: Grader comment.
    confirm_write: Must be True to apply grades.
tool_prepare_grading_artifact

Prepare a cached /tmp markdown artifact for grading a question.

The artifact includes the prompt, rubric, reference-answer notes, page URLs,
crop regions, and a confidence gate for auto-grading.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    question_id: The question ID to prepare.
    submission_id: Optional sample submission ID to use for rubric/page context.
tool_assess_submission_readiness

Assess whether an agent should auto-grade a specific submission.

Returns a crop-first read plan, fallback rules for whole-page/adjacent-page
reads, and a coarse confidence score that can be used to skip or escalate.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    question_id: The question ID.
    submission_id: The question submission ID.
tool_cache_relevant_pages

Download the crop page and neighboring pages to /tmp for local review.

This is useful for scanned exams where the prompt is only available in page
images and where agents may need to inspect adjacent pages before grading.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    question_id: The question ID.
    submission_id: The question submission ID.
tool_prepare_answer_key

Prepare a complete answer key for an entire assignment.

Extracts ALL questions from the outline (prompt text, reference answers,
explanations) and saves to /tmp/gradescope-answerkey-{assignment_id}.md.
Run this ONCE before grading to avoid re-fetching question details.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
tool_smart_read_submission

Get a smart, tiered reading plan for a student's submission.

Returns page URLs in priority order:
- Tier 1: Crop region only (read FIRST)
- Tier 2: Full page (if answer overflows crop)
- Tier 3: Adjacent pages (if still incomplete)

Also returns confidence score and recommended action.

Args:
    course_id: The Gradescope course ID.
    assignment_id: The assignment ID.
    question_id: The question ID.
    submission_id: The question submission ID.

Prompts

Interactive templates invoked by user choice

NameDescription
summarize_course_progressGenerate a summary of all assignment progress for a course. Useful for getting a quick overview of upcoming deadlines, submission status, and grades.
manage_extensions_workflowWalk through the process of managing extensions for an assignment. Guides the user through viewing current extensions and adding new ones.
check_submission_statsCheck submission statistics for an assignment. Provides an overview of how many students have submitted.
generate_rubric_from_outlineGenerate rubric suggestions for an assignment based on its question outline. Analyzes the assignment structure and proposes rubric items for each question.
grade_submission_with_rubricGrade a student's submission using the assignment rubric. Reads the assignment outline, fetches the student's submission, and produces a detailed grading report.
review_regrade_requestsReview all pending regrade requests for an assignment. AI reviews each student's regrade argument against the rubric and original grading, then suggests accept/reject with reasoning.
auto_grade_questionSmart auto-grading workflow for a single question. Guides the agent through the complete grading pipeline: 1. Prepare answer key (once per assignment) 2. For each submission: smart read → assess → grade → navigate next 3. Uses confidence gating to skip uncertain submissions

Resources

Contextual data attached and managed by the client

NameDescription
resource_coursesCurrent list of all Gradescope courses for the authenticated user.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yuanpeng-Li/gradescope-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server