campus-edu-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CAMPUS_EDU_COOKIE | No | Cookie value; only used with `import-session --from-env`. | |
| CAMPUS_EDU_BASE_URL | No | The base URL of the school's academic affairs (教务) system. | |
| CAMPUS_EDU_DATA_DIR | No | Directory used to store data (encrypted session files, etc.). | |
| CAMPUS_EDU_HTTP_TOKEN | No | A random string of at least 32 characters used as the Bearer token for the experimental Streamable HTTP transport. | |
| CAMPUS_EDU_COOKIE_FILE | No | Path to a cookie file used when the system keyring is unavailable (set in the MCP client's env). | |
| CAMPUS_EDU_MIN_INTERVAL | No | Minimum interval (in seconds) between requests; defaults to at most 1 request every 2 seconds. | |
| CAMPUS_EDU_ALLOW_UNVERIFIED | No | Set to 1 to enable the unverified zfsoft_v9 vendor (default disabled). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_timetableA | 查询本人课表。 year 为学年起始年(如 2025 表示 2025-2026 学年),term 为 1/2/3;不填则取当前学期。 |
| get_examsA | 查询本人考试安排(时间、地点、座位号)。参数同 get_timetable。 |
| get_gradesA | 查询本人成绩。 |
| get_termsA | 列出教务系统可选的学期(current=true 为系统默认学期)。已在一所强智校只读实测。 |
| get_empty_classroomsA | 查询某教学周某天的空闲教室(只读,不会提交借用申请)。 |
| session_statusA | 检查教务会话是否已导入、是否仍然有效。不会返回任何 Cookie 内容。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct resource (timetable, exams, grades, terms, session, empty classrooms) with no functional overlap. An agent can unambiguously pick the right tool for any academic query.
Five tools follow a consistent snake_case 'get_noun' pattern (get_timetable, get_exams, get_grades, get_terms, get_empty_classrooms). session_status breaks the verb pattern but remains readable and snake_case, a minor deviation.
Six tools is well-scoped for a read-only campus query server, with each tool earning its place covering a distinct informational need.
The read-only surface covers the core academic queries (schedule, exams, grades, terms, session, classrooms) well. Gaps are mostly write/action operations (e.g. course selection, applications) that are arguably out of scope for a read-only design.