原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

ClassDojo Classroom MCP

作者:Eason0in版本 0.2.0i★ –i在你的电脑上运行
注册名称io.github.Eason0in/classdojo-mcp

安装

概览

作者提供的说明(英文原文)

Unofficial local-first MCP for ClassDojo roster imports and classroom skill synchronization.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "classdojo": {
      "command": "npx",
      "args": [
        "-y",
        "classdojo-mcp"
      ],
      "env": {
        "CLASSDOJO_CDP_URL": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add classdojo --env CLASSDOJO_CDP_URL=your-value -- npx -y classdojo-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "classdojo": {
      "command": "npx",
      "args": [
        "-y",
        "classdojo-mcp"
      ],
      "env": {
        "CLASSDOJO_CDP_URL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "classdojo": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "classdojo-mcp"
      ],
      "env": {
        "CLASSDOJO_CDP_URL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • CLASSDOJO_CDP_URL env
    Loopback Chrome DevTools Protocol URL for the signed-in ClassDojo browser session.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Eason0in 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32688 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32688 个服务器的 33% 更新
  • 基础检查结果等于或优于此分类中其他 32688 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

ClassDojo Classroom MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.2.0)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, 御府和田玉 在售作品查询

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

ClassDojo Classroom MCP

An unofficial, local-first Model Context Protocol (MCP) server for teachers who need to inspect and import Excel/XLSX student rosters or review, synchronize, and verify ClassDojo classroom skills. It works with any MCP client that can launch a local stdio server, including Claude Desktop, Codex, Cursor, and VS Code.

[!IMPORTANT]

This community project is not affiliated with, endorsed by, or supported by ClassDojo. It uses the signed-in ClassDojo teacher website through a local browser adapter because an official public ClassDojo API/MCP is not yet available. ClassDojo UI changes may require an adapter update.

繁體中文文件:docs/README.zh-TW.md

Why this MCP server exists

ClassDojo's bulk paste flow can interpret a leading number as list numbering instead of part of a student's display name. This server keeps roster changes reviewable and supports two explicit formats:

  • seat_number_dot_name: creates names such as 1.Student A one at a time so the seat number is preserved.
  • name_only: uses ClassDojo's faster bulk paste flow when seat numbers are not needed; it is rejected if a source class contains duplicate names.

Every write requires a fresh 15-minute preview ID plus confirm: true. After saving, the server reads the class back and compares names and counts.

What it can do

ToolWrites dataPurpose
classdojo_doctorNoCheck the local browser connection, login state, and visible classes.
classdojo_list_classesNoList visible three-digit classes in the teacher session.
classdojo_inspect_workbookNoScan every sheet for likely class, seat-number, and student-name columns.
classdojo_get_rosterNoRead a current ClassDojo class roster.
classdojo_get_skillsNoRead positive and needs-work skills with points and icons.
classdojo_get_ui_stateNoDetect dialogs that may block roster work; it never dismisses them.
classdojo_preview_roster_importNoCompare workbook students with ClassDojo and create a short-lived preview ID.
classdojo_apply_roster_importYesApply one preview with confirm: true, save, and read back for verification.
classdojo_verify_roster_against_workbookNoCompare expected and actual counts, missing names, and unexpected names.
classdojo_preview_skill_syncNoCompare a preset, source class, or inline rule list with target classes and create a short-lived preview ID.
classdojo_apply_skill_syncYesExactly synchronize one skill preview with confirm: true, then read every class back.
classdojo_verify_skill_syncNoIndependently compare current skills with the selected rule source.

The classdojo_configure_skill_rules MCP prompt guides a client through the built-in traditional_chinese_classroom_v1 preset, asks whether the user wants changes, shows the complete final list, and keeps preview, approval, apply, and verification as separate steps.

The workbook inspector does not assume fixed sheet names or column positions. It scans the whole workbook for common Chinese and English class/seat/name headers. Preview and verification then require an explicit non-empty sheetNames selection plus class mappings, preventing an Agent from silently combining duplicate or unrelated sheets.

Safe workflow

  1. Run classdojo_doctor.
  2. Run classdojo_inspect_workbook and select the intended sheet and detected class blocks.
  3. Run classdojo_preview_roster_import with an explicit studentNameFormat.
  4. Review class mappings, counts, missing seat numbers, and additions.
  5. Only after human approval, call classdojo_apply_roster_import with the returned previewId and confirm: true.
  6. Run classdojo_verify_roster_against_workbook for an independent read-back check.
PreviewRead-back verification

All screenshots contain synthetic data only.

Safe classroom-skill workflow

The built-in Traditional Chinese preset contains nine positive skills and six needs-work skills. It is public package data and uses a neutral preset ID; it does not contain a teacher name, account identifier, or student data.

  1. Start with the classdojo_configure_skill_rules prompt, or call classdojo_get_skills to inspect a source class.
  2. Review the complete preset and make any additions, removals, point changes, or icon changes.
  3. Call classdojo_preview_skill_sync with exactly one source: the built-in preset, a three-digit source class, or a complete inline skill list.
  4. Review every target's additions, updates, and removals.
  5. Only after human approval, call classdojo_apply_skill_sync with the one-time previewId and confirm: true.
  6. Call classdojo_verify_skill_sync for an independent comparison.

Skill synchronization is an exact replacement. If a class changes after preview, the apply stops rather than overwriting the newer state. Matching classes are left unchanged, and a partial failure requires a fresh preview before retrying.

Requirements

  • Node.js 20 or newer
  • Chrome or another Chromium browser with Chrome DevTools Protocol (CDP)
  • A ClassDojo teacher account that you sign in to yourself
  • An MCP client that supports local stdio servers

The MCP server never asks for a ClassDojo password, cookie, or API token.

Start the local browser adapter

Use a dedicated browser profile and sign in to ClassDojo in that window.

macOS
open -na "Google Chrome" --args \

--remote-debugging-port=9222 \ --user-data-dir="$HOME/.classdojo-mcp-chrome"

Linux
google-chrome \

--remote-debugging-port=9222 \ --user-data-dir="$HOME/.classdojo-mcp-chrome"

Windows PowerShell
& "$env:ProgramFiles\\Google\\Chrome\\Application\\chrome.exe" \`

--remote-debugging-port=9222 \` --user-data-dir="$env:LOCALAPPDATA\\classdojo-mcp-chrome"

Keep the debugging port on loopback. Anyone who can reach a CDP endpoint may be able to control its browser session.

Install in an MCP client

Install from the public npm package with the same command in every client:

npx -y classdojo-mcp

Contributors can alternatively clone this repository, run npm ci && npm run build, and replace the command with node plus the absolute path to dist/cli.js.

Claude Desktop and Cursor
{

"mcpServers": { "classdojo": { "command": "npx", "args": ["-y", "classdojo-mcp"], "env": { "CLASSDOJO_CDP_URL": "http://127.0.0.1:9222" } } } }

VS Code
{

"servers": { "classdojo": { "type": "stdio", "command": "npx", "args": ["-y", "classdojo-mcp"], "env": { "CLASSDOJO_CDP_URL": "http://127.0.0.1:9222" } } } }

Codex

Add this to ~/.codex/config.toml:

[mcp_servers.classdojo]

command = "npx" args = ["-y", "classdojo-mcp"]

[mcp_servers.classdojo.env] CLASSDOJO_CDP_URL = "http://127.0.0.1:9222"

Client UI and configuration locations change over time; refer to the client's current documentation. The transport itself is standard MCP stdio and is not Codex-specific.

Example tool inputs

Inspect a workbook first:

{

"workbookPath": "/absolute/path/to/students.xlsx" }

Create a preview with synthetic class mappings:

{

"workbookPath": "/absolute/path/to/students.xlsx", "sheetNames": ["Grade 5"], "studentNameFormat": "seat_number_dot_name", "includeStudentDetails": false, "mappings": [ { "classdojoClassName": "503", "sourceClassName": "Grade 5 Class 3" } ] }

Apply only after reviewing the preview:

{

"previewId": "00000000-0000-4000-8000-000000000000", "confirm": true }

Preview IDs expire after 15 minutes, live only in the running MCP process, and are consumed by the first apply attempt. This reduces accidental replay and duplicate imports. If one class fails, the result names the verified classes and the classes that can be retried after generating a new preview.

Preview the built-in classroom-skill preset for multiple targets:

{

"rulesSource": { "type": "preset", "presetId": "traditional_chinese_classroom_v1" }, "targetClassNames": ["502", "503", "504"] }

Use {"type":"class","className":"501"} to copy a live source class. To modify the preset, send {"type":"inline","skills":[...]} with the complete final list; each rule requires category, name, and integer points, while iconId is optional. Positive points must be 0..5, needs-work points must be -5..0, and names must be unique.

Privacy and security

  • Workbook parsing and browser automation run locally on the teacher's computer.
  • The project does not run a hosted MCP service and does not persist credentials or student rosters.
  • Student names may still pass through the selected MCP client/AI provider. Review that provider's retention and privacy terms before using real student data.
  • Never attach real workbooks, student screenshots, browser profiles, cookies, or diagnostic logs containing personal data to a public issue.
  • Writable operations are limited to confirmed roster imports and confirmed classroom-skill synchronization. Awarding points, attendance, messaging, family invitations, and other ClassDojo features remain unavailable.

See docs/PRIVACY.md, SECURITY.md, and the threat model.

Troubleshooting

SymptomCheck
Browser connection failsConfirm the dedicated Chrome window is still running with --remote-debugging-port=9222.
Not logged inSign in manually in the dedicated window, then rerun classdojo_doctor.
No classes are visibleOpen the teacher class page and confirm the account has access.
Import is blockedRun classdojo_get_ui_state; close family-invitation or welcome dialogs yourself.
Seat numbers disappearUse studentNameFormat: "seat_number_dot_name"; bulk paste is only used for name_only.
Workbook columns are not detectedOpen an issue with a synthetic workbook that reproduces the header layout.
Verification differsStop writing, compare missingStudents and unexpectedStudents, then create a new preview.

Project status and roadmap

Version 0.2.x is experimental. The web UI adapter is intentionally isolated so a future official ClassDojo API can replace it without changing the public MCP tool workflow.

Planned work:

  • additional synthetic workbook layouts and locale coverage
  • MCP client compatibility matrix and Inspector smoke tests
  • official API adapter if ClassDojo grants Early Access
  • optional read-only tools only after a privacy and permissions review

This project will not reverse-engineer or promise undocumented ClassDojo REST endpoints as a stable public API.

Development

npm ci

npm test npm run build npm audit --omit=dev npm pack --dry-run

The stdio protocol uses stdout; never add console.log calls to the server. Use stderr for diagnostics. See CONTRIBUTING.md before opening a pull request.

Community metada

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx