这是一个通过 Claude 和其他支持 MCP 协议的 AI 助手提供对 Google Classroom 数据访问的 MCP(模型上下文协议)服务器。
要通过 Smithery 自动安装 Google Classroom MCP 服务器给 Claude Desktop:
npx -y @smithery/cli install @faizan45640/google-classroom-mcp-server --client claude
npm install
credentials.json 的文件中:{
"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"]
}
}
node index.js auth
这将启动一个浏览器窗口以完成 OAuth 流程,并将您的凭据保存到 tokens.json 文件中。
claude_desktop_config.json(通常位于 %APPDATA%\Claude\),以便配置 Claude 使用此服务器:{
"mcpServers": {
"class": {
"command": "node",
"args": [
"PATH_TO_YOUR_DIRECTORY\\index.js"
]
}
}
}
该服务器提供了几个与 Google Classroom 交互的工具:
courses - 列出您所有的 Google Classroom 课程使用 'courses' 工具获取您所有 Google Classroom 课程的列表
course-details - 获取特定课程的详细信息使用带有 courseId 参数的 'course-details' 工具来获取特定课程的详细信息和公告
参数:
courseId:课程的 ID(可以从 courses 工具中获得)assignments - 获取特定课程的作业使用带有 courseId 参数的 'assignments' 工具来获取特定课程的作业和您的提交
参数:
courseId:课程的 ID(可以从 courses 工具中获得)该服务器请求以下 Google Classroom API 权限:
classroom.courses.readonly - 访问课程信息classroom.announcements.readonly - 访问课程公告classroom.coursework.me.readonly - 访问您的作业和任务classroom.rosters.readonly - 访问班级名单如果您遇到权限错误,请尝试:
再次运行身份验证命令以刷新权限:
node index.js auth
如果您的应用程序处于测试模式,请确保您的 Google 账户已作为测试用户添加到 Google Cloud 控制台
检查 authenticateAndSaveCredentials 函数中的 OAuth 范围,确保它们符合您的需求
tokens.json 文件中