Skip to main content
Glama
Nemoyuzx
by Nemoyuzx

WTS-bupt-unOfficial-mcp

Unofficial BUPT Mobile Academic MCP (Model Context Protocol) Service: Query today's empty classrooms, class schedules, and a combined query of both.

The service request is adapted and ported from the open-source project where_to_study.

⚠️ This project is an unofficial service for learning and communication purposes only. Do not misuse it. By using it, you agree to assume all account-related risks.

Features (MCP Tools)

Tool

Description

get_campuses

Campus information (Xitucheng 01 / Shahe 04) and main teaching buildings

get_classrooms

Query today's empty classrooms, supports filtering by campus_id / slot (periods 1-14) / building

get_schedule

Query class schedule, defaults to current week, supports week (week number) or date (week containing the date)

get_today_overview

Combined query: today's classes + number of free classrooms per period + free classrooms for the current period + free classrooms for the entire day

Related MCP server: mydy-lms

Quick Start

1. Clone and Install

git clone https://github.com/Nemoyuzx/WTS-bupt-unOfficial-mcp.git
cd WTS-bupt-unOfficial-mcp
npm install
npm run build

2. Configure Environment Variables

export BUPT_USER_NO=你的学号
export BUPT_PWD=你的移动教务密码
export BUPT_CAMPUS_ID=01        # 可选,默认 01=西土城;04=沙河
export BUPT_TERM_START_DATE=    # 可选,学期开学日 YYYY-MM-DD(无法从接口推断时兜底)

3. Run Directly

node dist/index.js

4. Connect to Claude Desktop / Cursor or Other MCP Clients

Add the following configuration to your MCP client (stdio mode):

{
  "mcpServers": {
    "wts-bupt": {
      "command": "node",
      "args": ["/绝对路径/WTS-bupt-unOfficial-mcp/dist/index.js"],
      "env": {
        "BUPT_USER_NO": "你的学号",
        "BUPT_PWD": "你的密码",
        "BUPT_CAMPUS_ID": "01"
      }
    }
  }
}

Usage Examples

Ask the MCP client:

  • "Check which empty classrooms are available in Shahe campus during period 3 today"

  • "What classes do I have this week?"

  • "Which classrooms are empty right now?" (combined query: get_today_overview)

Development and Testing

npm test        # 使用 where_to_study 的原始响应样例做解析器单测
npm run build   # 编译到 dist/

Directory Structure

src/
├── index.ts                 # MCP 服务入口(4 个工具)
├── api.ts                   # 移动教务 HTTP 客户端(登录/课表/空教室)
├── date.ts                  # 北京时区日期/周次/节次工具
├── parsers/
│   ├── classrooms.ts        # 空教室响应解析(移植 SJDClassroomParser)
│   └── schedule.ts          # 课表响应解析(移植 SJDScheduleParser + ScheduleLogic)
└── types.ts                 # 数据模型(Course / Classroom / 节次时刻表)
test/
└── run-tests.ts             # 单元测试(含参考项目原始响应样例)

License

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • An MCP server for deep research or task groups

  • MCP server for Zooza — class scheduling, attendance, and booking for activity businesses.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nemoyuzx/WTS-bupt-unOfficial-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server