← Back to home@praisethefacts

dsh-plugin-google-classroom

Google Classroom MCP bundle for DeepSeek Harness: read-only courses, coursework, due dates, announcements, rosters and submissions as mcp__google-classroom__* tools.

Stars
0
Language
JavaScript
Created
Oct 6, 2026
Updated
Oct 6, 2026
GitHub repo

Introduction

dsh-google-classroom

Google Classroom tools for DeepSeek Harness, served by the google-classroom-mcp server. Once installed, the model sees read-only tools such as mcp__google-classroom__list_courses and mcp__google-classroom__list_due_soon.

This is a configuration-only DSH bundle: a package.json with a dsh.bundle.patch and a cordis.patch.yml that inserts one @deepseek-ai/dsh-mcp-client row. It ships no Host or Client code.

Prerequisites

  1. A Google OAuth client for the Classroom API. Follow Google Classroom MCP — Setup steps 1–3: create an OAuth desktop client, save it as ~/.google-classroom-mcp/client_secret.json, and run the one-time sign-in (uvx --from git+https://github.com/praisethefacts/google-classroom-mcp@v0.1.0 google-classroom-mcp-auth).
  2. uv (provides uvx). Install from astral.sh/uv or pip install uv. The bundle uses uvx to fetch and run the server on demand, so no separate pip install is needed.

Install

In DeepSeek Harness, open Plugins in the sidebar and enter one of these specs, then finish with Enable now:

  • github:praisethefacts/dsh-plugin-google-classroom — straight from GitHub
  • an absolute path to this directory, if you cloned it

Or from a terminal:

dsh plugin --profile <profile> add github:praisethefacts/dsh-plugin-google-classroom

Replace <profile> with your profile name (for example web or desktop).

Verify

Ask the model something like "What do I have due this week?" or call mcp__google-classroom__list_courses. The first tool call may be slow while uvx downloads the server and its dependencies; later calls are fast.

If every tool call returns No valid Google credentials found..., the one-time sign-in has not run yet — see Prerequisites. Google API errors naming scopes mean the OAuth consent screen was not authorized with the read-only Classroom scopes; delete ~/.google-classroom-mcp/token.json and sign in again.

Configuration

The default row runs:

uvx --from git+https://github.com/praisethefacts/google-classroom-mcp@v0.1.0 google-classroom-mcp

To use a preinstalled or locally cloned server instead, edit cordis.patch.yml before installing and change command/args:

- insert:
    - id: mcp-google-classroom
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: google-classroom
        transport: stdio
        command: google-classroom-mcp

DSH scrubs ambient variables whose names look like credentials (KEY, PASSWORD, SECRET, TOKEN) before launching stdio children, so this bundle relies on the token files under ~/.google-classroom-mcp/, never on environment variables.

Tools

All tools are read-only:

ToolReturns
list_coursesCourses you teach or attend
get_courseOne course with description and enrollment code
list_courseworkAssignments, quizzes, questions and materials, with due dates
list_due_soonUpcoming coursework across all active courses
list_announcementsRecent announcements in a course
list_teachers / list_studentsRosters (name, email)
list_submissionsSubmission state and grades for one assignment

Development

npm install
npm test

The tests parse cordis.patch.yml and check the bundle declaration without a running harness.

License

MIT