get_review_status
Check review completion status for assigned papers in OpenReview conferences. Specify venue ID and role to monitor reviewer progress.
Instructions
Check review completion status for all your assigned papers.
Args: venue_id: The venue identifier. role: Your role — 'reviewer', 'area_chair', or 'senior_area_chair'. Default: 'area_chair'.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| venue_id | Yes | ||
| role | No | area_chair |
Implementation Reference
- The get_review_status function retrieves and formats the review status for papers assigned to the user within a specific venue.
async def get_review_status(venue_id: str, role: str = "area_chair") -> str: """Check review completion status for all your assigned papers. Args: venue_id: The venue identifier. role: Your role — 'reviewer', 'area_chair', or 'senior_area_chair'. Default: 'area_chair'. """ client = get_client() profile_id = client.profile.id group_name = ROLE_MAP.get(role) if not group_name: return f"Unknown role '{role}'." my_edges = client.get_all_edges( invitation=f"{venue_id}/{group_name}/-/Assignment", tail=profile_id, ) if not my_edges: return f"No papers assigned to you as {role} for {venue_id}." lines = [f"## Review Status for {venue_id} (as {role})\n"] total_complete = 0 total_papers = len(my_edges) for edge in my_edges: note = client.get_note(edge.head) title = note.content.get("title", {}).get("value", "Untitled") paper_number = note.number reviewer_edges = client.get_all_edges( invitation=f"{venue_id}/Reviewers/-/Assignment", head=edge.head, ) expected = len(reviewer_edges) reviews = client.get_all_notes( invitation=f"{venue_id}/Submission{paper_number}/-/Official_Review" ) submitted = len(reviews) status = "COMPLETE" if submitted >= expected else "INCOMPLETE" if submitted >= expected: total_complete += 1 lines.append(f"- **#{paper_number}: {title}** — {submitted}/{expected} reviews [{status}]") lines.insert(1, f"**Overall:** {total_complete}/{total_papers} papers have all reviews in.\n") return "\n".join(lines) - src/openreview_mcp/tools/reviews.py:65-66 (registration)Registration of the get_review_status tool using the @mcp.tool decorator.
@mcp.tool() async def get_review_status(venue_id: str, role: str = "area_chair") -> str: