Skip to main content
Glama

tool_get_regrade_detail

Retrieve detailed information about a specific regrade request, including student messages, rubric items, grader responses, and submission links for instructor review.

Instructions

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).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
course_idYes
question_idYes
submission_idYes

Implementation Reference

  • The core business logic function get_regrade_detail that fetches regrade information.
    def get_regrade_detail(course_id: str, question_id: str, submission_id: str) -> str:
        """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 links to the student's submission.
        Requires instructor/TA access.
    
        Args:
            course_id: The Gradescope course ID.
            question_id: The question ID (from regrade request listing).
            submission_id: The submission ID (from regrade request listing).
        """
        if not course_id or not question_id or not submission_id:
            return "Error: course_id, question_id, and submission_id are required."
    
        try:
            conn = get_connection()
            url = (
                f"{conn.gradescope_base_url}/courses/{course_id}"
                f"/questions/{question_id}/submissions/{submission_id}/grade"
            )
            resp = conn.session.get(url)
        except AuthError as e:
            return f"Authentication error: {e}"
        except Exception as e:
            return f"Error fetching regrade detail: {e}"
    
        if resp.status_code != 200:
            return f"Error: Cannot access grading page (status {resp.status_code})."
    
        soup = BeautifulSoup(resp.text, "html.parser")
        grader = soup.find(attrs={"data-react-class": "SubmissionGrader"})
        if not grader:
            return "Error: SubmissionGrader component not found."
    
        try:
  • The tool wrapper tool_get_regrade_detail registered with @mcp.tool() which calls the core business logic.
    def tool_get_regrade_detail(
        course_id: str, question_id: str, submission_id: str
    ) -> str:
        """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).
        """
        return get_regrade_detail(course_id, question_id, submission_id)

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