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
| Name | Required | Description | Default |
|---|---|---|---|
| course_id | Yes | ||
| question_id | Yes | ||
| submission_id | Yes |
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: - src/gradescope_mcp/server.py:346-361 (registration)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)