Labsco
MCP SERVER

Qingma Yizhan Auto Answer

by shibig666

Walk a 青马易战 course question by question from a chat client — fetch the next item with its options, submit an answer, read back whether it was right.

Education, Tutoring & Study Tools
Summary
The server moves questions and answers; the judgement is the model's.

There is no answer key here — the server fetches an item, the model picks from the options, and the platform says right or wrong. That also means each item is a one-shot: the repository's own guidance is to submit once and move on rather than retry, so a wrong answer stays wrong. Everything hinges on a session cookie you paste in by hand, which is the whole authentication story and the thing that will break first.

What it is

An MCP server for the 青马易战 study platform. It authenticates with a session cookie copied out of your browser, lists the courses on your account, and then hands the assistant one question at a time — the text, the option list and the item's uuid — so the model can choose and the server can submit.

What you get
  • The course list on your account, returned as course id to course name — `get_courses`
  • The next question in a course: description, question type, the lettered options, how many there are, and a uuid to answer against — `get_question`
  • An answer submitted for one question id, with the platform's own verdict returned — `submit_question`
Requirements

An account on the platform and its `JSESSIONID` cookie, which you copy from the browser developer tools and pass on every call — it expires, and a stale value means re-copying it. Python 3.11+, the uv package manager, and the httpx, mcp and pycryptodome dependencies; `uv sync` installs them, and a client entry runs `uv` with `--directory` pointing at the checkout and `main.py` as the target. The project name in pyproject is `QMYZ-MCP` (0.1.0). The repository states it is for study and research and asks users to observe the platform's terms of use.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary