MyCourseVille MCP Server
MyCourseVille MCPSocket
MCP-сервер, который даёт ИИ-агененту доступ к вашему аккаунту MyCourseVille: новые задания с деаданиями и описаниями, учебные материалы курсов и опубликованные оцен — плюс сообщение лент «что изменилось с прошлого раза».
Личный инструмент для работы с данными вашего собств. Размериватр поинтервал разумным и никогда не преметчим свои учётные данные.
Как это работает
У MCV есть официальный API OA СSUA2 (/pi/v1/публи/get/*), но он треубет регистрирция прилож для получения client_id/client_secret, and — and его имена endpoints не replicated not довументированы. Этот сервер вместого этого in ходит в сисет точно так же, как это деалет веб-клиент MCV — по умолча proceed через node "IT Chula SSO", либо через обычную форму MCV, зате constructed" any such — затем чистарирует same, серрализованные страниц курса, сайт отдаёт browsersрау: главную страницу курса — for materials, /assignмет — deadlines, /portfolio-<student id` — scores. См. docs/ENDCпин.мд.
Полученные данные попада в локальный снимток SQLite. Каждая синхонизция свесть with этому с нимок and дотисывает записы в журнал евентос — то есть журнал, that reads whats_new, and врется he can be said — "сервака может toldт вам, что появилось за время, поскольк you look at once". Фоновый опрольтлер периодически обновляет данные, так что нов задание словется даже when no "чат" открыт.
О «new»: MCV не даёт надёт transit metстки времени, therefore first_seен — время, when серvers впервые увидил — used as prox. Форирова the first sync "зата" спокон "pretн жe все данные, чем сообщать о том, что весь вашем сем — это novое.
Related MCP server: UofT Student Helper MCP Server
Устанova
uv sync --extra dev
cp .env.example .env # then fill in MCV_USERNAME / MCV_PASSWORD
uv run mcv-mcp --selftest--сельфтest входит в сисем, вываливается одne sync, and выживает, how much coursов, assignments, material, and grades наshedl. "Довстав esла пержде чем подключалять агента."
Зарегистрируйте "Claus Code":
claude mcp add mcv -- uv --directory C:\Users\velys\Documents\mcp_mcv run mcv-mcpThen "спросите:а «Какимика срочный собственная?», «Anything new on MCV since васчаir?», Скачайте последних слайд по для Comp Prog."*
Tools
Tool | Отвечает на вопрос |
| О новых/измённых assignments, materials and grades with current point in time. |
| Что должно быть сделано в close N days, soonest first |
| Курсы, на которых ин выписаны, по the choice — one semast. |
| Сues with deadline + description |
| Подробная информаmция about one assignment |
| Файлы, опубликновенные in course (паgets, name, URL, no) |
| Coхраня фил локально; извлекает text from PDF, чтобы it could be addressed |
| Опубликованные «scores». |
| "Forу Ent to renew (full=true for all semesters). |
| "Diagnostics: status of login, last sync, counts rows |
"Введите |
"Состояние "Зе" "
Configuration
Variable | Default | Meaning |
| — |
|
|
|
|
|
| Poll interval (min output 10) |
|
| Set |
|
| Where D D, cookies and downloads "alive". |
"State" — **outside the repo. "Coocи" retains, so restорты don't force to log in again.
"Запусть пуллер |отделльными (например, under Task Scheduler) with:
uv run python -m mcv_mcp.pollerLayout
src/mcv_mcp/
config.py settings, URLs, state paths
client.py Chula SSO login, cookie persistence, throttled AJAX transport
parsers.py HTML -> dicts (pure functions, fixture-tested)
store.py SQLite snapshot + event log
sync.py orchestration + background poller
server.py MCP tool definitionsMCV's markup — only fragile part, and it is limited to parsers.py. If something пристаёт "верevом" row, so "рати свежи фикстуру (as button in docs/ENDПoints.m) and "отремонтируйте" "селекото" там.
Status
Проверено на реальном аккаунте: вход, all. Вез=тly, all pour parses. ! Обнаружение изменений verified N to N. Характерna sync pulled 9 courses, 20 assignments (each with parsed deadline), 112 materials and 69 оцен; next sync показал ноль "изм» так что the дифф-log wait until something actually moves.
Limit known:
Published only "detected by polling, not "push" . As soon as a grade appears, it appears as a
grade_changedсобытиеwithin "one poll interval (default 30 minutes)."** Only periods синх is only.** Unless
full=trueis passed tosync_now.MCV's parsing is хрупкое . If any normal "parser starts returning zero rows, then сcapture fresh fixture and "отрезь selector — see docs/ENDCиints.m.
Development
uv run pytestMaintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Canvas LMS and Gradescope, allowing users to query courses, assignments, modules, calendar events, and find relevant resources using natural language.59ISC
- FlicenseNot gradedqualityNot gradedmaintenanceEnables University of Toronto students to access academic data from ACORN and Quercus via AI assistants. It provides tools to retrieve course schedules, enrollment details, syllabi, assignments, and announcements.
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access Canvas LMS course content, including assignments, modules, announcements, and files, to help students manage their coursework.59ISC
- AlicenseNot gradedqualityDmaintenanceEnables AI to read MyCourseVille data locally, including assignments, deadlines, grades, announcements, and course materials.1MIT
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Brazilian Open Finance MCP — 30+ banks (Itaú, Nubank, etc.) to Claude/Cursor. Read-only.
Cross-AI personal memory. Save once in ChatGPT, recall in Claude, Mistral, Grok, or any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/aongzera/mcv-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server