Google Classroom MCP for AI. Manage classes, assignments, and grades via AI commands.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
Google Classroom MCP connects your AI agent directly to your course data. Manage entire classes—from creating assignments and posting announcements to tracking submissions and grading work—all through conversation.
It's the control panel for all things LMS, letting you handle student rosters and coursework deadlines without opening a browser.
What your AI can do
Create announcement
Posts an important update or reminder to the course feed for all students.
Create course
Sets up a new class container, generating a unique ID for future reference.
Create course work
Creates an assignment or quiz with specific points and due dates visible to the whole class.
You can list all active classes or create a brand-new course within Google Classroom.
Check the full enrollment list, identifying both students and assigned teachers for any given class.
Create coursework with specific due dates, visible to every student in the course.
See exactly who has submitted work, who is late, or who hasn't started yet for any given assignment.
The agent can retrieve specific student submissions, grade the work, and return it to them automatically.
Ask an AI about this
Waiting for input…
Google Classroom MCP: 14 Tools
Use these tools to manage every aspect of your academic content, from listing all courses to tracking individual student submissions and returning grades.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Google Classroom on VinkiusCreate Announcement
Posts an important update or reminder to the course feed for all students.
Create Course
Sets up a new class container, generating a unique ID for future reference.
Create Course Work
Creates an assignment or quiz with specific points and due dates visible to the...
Get Course
Retrieves detailed information about a single, specified course using its ID.
Get Submission
Fetches all the details for one student's specific attempt at an assignment.
List Announcements
Lists recent important updates and announcements posted to the course stream.
List Course Work
Provides a full list of all assignments, showing their title, due date, and if they're published or drafts.
List Courses
Gets a master list of every course you are associated with in Google Classroom.
List Students
Generates the current enrollment roster for a specific class, useful for auditing or...
List Submissions
Checks all student submissions for one assignment, showing who submitted, their...
List Teachers
Lists every teacher associated with a course to verify team roles.
Return Submission
Marks an assignment as graded and returns the work to the student, alerting them of the grade.
Turn In Submission
Simulates a student clicking 'Turn In' on an assignment that they have already created.
Update Course
Allows you to make changes to the overall details of an existing course container.
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Google Classroom, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Google Classroom. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 14 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
The old way of managing class assignments was a multi-tab nightmare.
Today, if you want to see who handed in the last quiz and what grade they got, you open Google Classroom. Then you navigate to the 'Grades' tab. You filter by assignment name, then scroll down through dozens of student names, checking status indicators one by one. If you need to check a whole class roster, that’s another manual trip to another dashboard.
With this MCP, all that clicking and filtering disappears. You simply ask your agent: 'Show me the grade summary for the last quiz.' It runs the necessary checks across student submissions, compiling the status directly into your conversation window.
The Google Classroom MCP gives you full control over coursework.
You don't have to manually create assignments and then remember to publish them. The agent handles creating the course work, setting the max points, and publishing it instantly for all students in the class to see when ready. It’s a single action that covers multiple manual steps.
What you get is complete administrative control over your academic content. You can manage everything—from initial setup using `create_course` to final grading with `return_submission`—all through conversational commands.
What your AI can actually do with this
Managing an educational environment involves juggling multiple moving parts: courses, due dates, who submitted what, and how many points they earned. This MCP lets your AI agent talk directly to Google Classroom. You can ask it to list all active classes or check the roster for a specific course. Need to grade? Your agent reviews submissions and returns work to students with a single command.
It's built for people who manage classrooms, not just files. When you connect this MCP via Vinkius, your AI client gets access to an entire set of educational tools, letting you handle the full cycle from lesson planning to final grades through natural conversation.
019d8443-97db-72c6-ac37-a5c5f3639581 Here's how it actually works
The bottom line is that once it's connected, all of Google Classroom's core functions become natural commands for your AI client.
First, subscribe to this MCP and provide your Google Classroom OAuth Access Token.
Next, connect that token to your preferred AI client (Claude, Cursor, etc.).
Then, you start by asking your agent a direct question, like 'What submissions are due for Math 101?' The agent runs the necessary tool calls and gives you the answer.
Who is this actually for?
Teachers who spend hours manually checking grades are the primary users here. If you manage multiple classes or courses and hate repetitive administrative tasks, this is for you. Admins using it save time on roster checks; students use it to track their progress.
Posts weekly announcements, creates new assignments, and uses the MCP to list submissions across 30+ students for grading.
Needs to monitor course rosters and ensure all necessary courses are created or updated before the academic year starts.
Checks the status of a specific assignment, verifies if their work was successfully turned in, and reviews grades.
What Changes When You Connect
Stop manually checking grade books. By calling list_submissions, your agent instantly shows who turned in work, who's late, and the current status for all students on one screen.
Never miss a student enrollment detail again. Use list_students to quickly pull up an accurate roster or verify if a specific student was assigned to the course.
Keep everyone updated without opening the web app. Posting important reminders is as simple as calling create_announcement, and it lands right in the class feed.
Grade cycles are faster than ever. After reviewing work, you just need to run return_submission to give back grades and notify students immediately.
Creating new material takes seconds. You can use create_course_work to set up a quiz or assignment with due dates for the whole class without leaving your chat window.
See it in action
The end-of-unit grading crunch
A teacher needs to grade 50 submissions from 'Midterm Project.' Instead of opening the web app, they ask their agent to run list_submissions for that assignment. The agent immediately returns a summary: 42 submitted, 3 late, and 5 missing. They then use return_submission on the graded work.
Adding an emergency reminder
The admin realizes there's a policy change for next week. Instead of sending emails to every class list, they just tell their agent to call create_announcement for all relevant courses, making sure the update hits the course stream instantly.
Verifying student enrollment
Before starting a new semester, an admin needs to confirm the official list of students. They ask their agent to use list_students for Course ID 12345; it returns the full roster and confirms all necessary staff are listed using list_teachers.
Setting up a new curriculum module
The department head needs to launch a brand-new elective. They ask their agent to use create_course, get the ID, and then immediately follow up by calling list_course_work to ensure they set the initial mandatory assignments.
The honest tradeoffs
Assuming all student data is in one list
Asking your agent, 'Show me all grades.' The agent can't do that because grading requires knowing which specific assignment and course you mean. It needs multiple calls.
You must specify the resource hierarchy. First, run list_courses to get the ID. Then use list_course_work with that ID for the assignment name. Finally, call list_submissions using the resulting Assignment ID and Course ID.
Trying to update a course without an ID
Telling your agent, 'Change the syllabus description.' This fails because the system needs to know which specific class you're talking about. It can't guess.
You must first run list_courses to identify the correct Course ID. Then use that ID when calling update_course with the new details.
Forgetting a student needs to submit first
Telling your agent, 'Grade this submission.' This fails because submissions must be actively tracked and potentially submitted by the user before grading can happen.
First, ensure the student has created their work (if necessary) using turn_in_submission. Then you can check the details with get_submission and finally call return_submission.
When It Fits, When It Doesn't
Use this MCP if your primary job involves managing resource lifecycles within an LMS. Specifically, if you need to track student progress across multiple assignments or post mandatory class updates, this is the tool. Don't use it if your goal is simple file sharing or collaborating on documents outside of the formal assignment structure; for that, a general document management MCP would be better. If you only need to see one static list—like just checking who is enrolled—you might get away with list_students, but if you ever need to create an assignment, post an announcement, or track grades, this MCP is necessary because it provides the full mutation control layer.
Questions you might have
How do I use list_courses to find all my classes? +
Running list_courses provides a master overview of every course you have access to. This is essential because it gives you the specific Course IDs you'll need for almost every subsequent action, like listing students or checking announcements.
Can I check student grades using list_submissions? +
Yes, list_submissions shows key data points including the grade and whether the submission was late. It’s your central tool for tracking performance against an assignment's due date.
What is the difference between create_course_work and get_course? +
create_course_work builds a new assignment or quiz, giving it a deadline. get_course just pulls all the general details about an existing course container; it doesn't deal with specific lessons.
How do I post an announcement without going to Google Classroom? +
You use the create_announcement tool. Just tell your agent what you want to say and which course, and it posts the update directly into the course stream for everyone to see.
How do I use list_teachers to find out who can grade work in a course? +
The tool lists all teachers assigned to your specific Google Classroom. This confirms which users have the permissions needed for grading actions, like returning submissions or viewing grades.
What is the prerequisite before I use turn_in_submission? +
You must ensure the student has first created a submission draft. Running this tool finalizes the work, mimicking the 'Turn In' button click in the Classroom UI and making it ready for grading.
Using update_course, what data fields can I modify on an existing class? +
You need to provide the course ID and specify which metadata field you want to change. This lets you maintain or adjust core details about a course without needing to recreate it.
If I use get_submission, what specific data points will I receive? +
You retrieve detailed information on one student's work. This includes the grade assigned, the submission state (e.g., returned or new), and key metadata about that specific assignment.
How do I get a Google Classroom access token? +
Go to Google Cloud Console, enable the Google Classroom API, create OAuth 2.0 credentials, and generate an access token with scopes: classroom.courses, classroom.rosters, classroom.profile. Use Google's OAuth Playground for quick testing.
Can I create and grade assignments? +
Yes! Use create_course_work to create assignments with due dates and max points. Use list_submissions to see who turned in work, then get_submission to review individual student work. After grading, use return_submission to send it back to the student.
Can I manage student enrollment? +
This MCP focuses on read-only operations for safety: listing students/teachers, viewing assignments, and tracking submissions. To add/remove students, use the Google Classroom web interface directly.
We've already built the connector for Google Classroom. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 14 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.