Google-Classroom-MCP-server
1
Github Watches
3
Github Forks
1
Github Stars
Google Classroom MCP Server
An MCP (Model Context Protocol) server that provides access to Google Classroom data through Claude and other AI assistants that support the MCP protocol.
Setup
Prerequisites
- Node.js (v16 or higher)
- A Google Cloud Platform project with the Google Classroom API enabled
- OAuth 2.0 client credentials for the Google Classroom API
Installation
Installing via Smithery
To install Google Classroom MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @faizan45640/google-classroom-mcp-server --client claude
Installing Manually
- Clone this repository
- Install dependencies:
npm install
- Place your Google OAuth client credentials in a file named
credentials.jsonin the project root:
{
"web": {
"client_id": "YOUR_CLIENT_ID",
"project_id": "YOUR_PROJECT_ID",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "YOUR_CLIENT_SECRET",
"redirect_uris": ["http://localhost:3000/auth/google/callback"]
}
}
- Authenticate with Google:
node index.js auth
This will launch a browser window to complete the OAuth flow and save your credentials to tokens.json.
- Configure Claude to use this server by updating
claude_desktop_config.json(typically in%APPDATA%\Claude\):
{
"mcpServers": {
"class": {
"command": "node",
"args": [
"PATH_TO_YOUR_DIRECTORY\\index.js"
]
}
}
}
Usage
Available Tools
The server provides several tools for interacting with Google Classroom:
1. courses - List all your Google Classroom courses
Use the 'courses' tool to get a list of all your Google Classroom courses
2. course-details - Get detailed information about a specific course
Use the 'course-details' tool with the courseId parameter to get details and announcements for a specific course
Parameters:
-
courseId: The ID of the course (can be obtained from thecoursestool)
3. assignments - Get assignments for a specific course
Use the 'assignments' tool with the courseId parameter to get assignments and your submissions for a specific course
Parameters:
-
courseId: The ID of the course (can be obtained from thecoursestool)
Example Prompts for Claude
- Show me all my Google Classroom courses
- Get details for my Math course with ID 123456789
- Show me all assignments for my History course with ID 987654321
Permissions
The server requests the following Google Classroom API permissions:
-
classroom.courses.readonly- To access course information -
classroom.announcements.readonly- To access course announcements -
classroom.coursework.me.readonly- To access your coursework and assignments -
classroom.rosters.readonly- To access class rosters
Troubleshooting
If you encounter permission errors, try:
-
Running the auth command again to refresh permissions:
node index.js auth -
Ensuring your Google account is added as a test user in the Google Cloud Console if your app is in testing mode
-
Checking the OAuth scopes in the
authenticateAndSaveCredentialsfunction to ensure they match your needs
Notes
- This server is designed to be used with Claude AI or other MCP-compatible assistants
- All API requests are made using your authenticated Google account
- Token refresh is handled automatically by the server
- Sensitive credentials are stored locally in the
tokens.jsonfile
相关推荐
I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.
I find academic articles and books for research and literature reviews.
Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.
Confidential guide on numerology and astrology, based of GG33 Public information
Advanced software engineer GPT that excels through nailing the basics.
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Converts Figma frames into front-end code for various mobile frameworks.
Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.
La aplicación AI de escritorio todo en uno y Docker con trapo incorporado, agentes de IA, creador de agentes sin código, compatibilidad de MCP y más.
Plataforma de automatización de flujo de trabajo de código justo con capacidades de IA nativas. Combine el edificio visual con código personalizado, auto-anfitrión o nube, más de 400 integraciones.
Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx
🧑🚀 全世界最好的 llM 资料总结(数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Resumen de los mejores recursos del mundo.
Una lista curada de servidores de protocolo de contexto del modelo (MCP)
Espejo dehttps: //github.com/agentience/practices_mcp_server
Reviews
user_r3SIdVzS
I've been using mcp-server by itskd0001 and I must say it’s fantastic! It's reliable and robust, making my server management tasks so much simpler. Highly recommend it to anyone in need of a superb server solution. Check it out at https://mcp.so/server/mcp-server/itskd0001.