plato mcp

- 부산대학교 학습관리시스템인 PLATO를 이용하기 위한 MCP(model context protocol)입니다.

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетНужен API-ключГлобальныйБесплатноМожет изменять данные

Что умеет

  • List Courses: List the courses the logged-in PLATO account is enrolled in.
  • Get Course Contents: Get a course's weekly sections, modules, and file links.
  • List Assignments: List assignments across one or more courses, with due dates.

Какие данные видит

Нужен ли аккаунт

Нужен API-ключ из настроек сервиса

  • 부산대학교 학습관리시스템인 PLATO를 이용하기 위한 MCP(model context protocol)입니다.
  • 웹이나 앱에 있는 채팅을 사용하시기 보단 AGENT (claude code, codex,opencode 등)을 이용하시는 것을 추천드립니다.
  • 공지사항,성적, 수강하시는 수업명, 과제가 어떤게 있는지 AI가 알 수 있고 과제를 제출하고 Q&A를 올리는 과정 또한 MCP를 통해 진행 하실 수 있습니다.
  • 이 프로젝트는 오픈소스로 공개되어 있으며, 누구나 기여하실 수 있습니다. 버그 제보, 기능 제안, PR 모두 환영합니다.
  • Unofficial MCP server for PLATO (plato.pusan.ac.kr), Pusan National University's Moodle-based LMS. Read courses, grades, assignments, calendar, and notices/Q&A; submit assignments and post Q&A questions with mandatory preview-before-send confirmation. I recommend using an agent (claude code, codex, opencode, etc.) rather than using chat on the web or apps.

Как подключить

Как подключить plato mcp к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://plato-mcp.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить plato mcp к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://plato-mcp.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить plato mcp к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://plato-mcp.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (14)

Технические названия из tools/list. Нужны только разработчикам.

list_coursesList the courses the logged-in PLATO account is enrolled in.
get_course_contentsGet a course's weekly sections, modules, and file links.
list_assignmentsList assignments across one or more courses, with due dates.
get_assignment_detailGet one assignment's details and this account's submission status.
submit_assignmentSubmit plain-text content for an assignment. IRREVERSIBLE once dry_run=False. Call with dry_run=True (default) first, show the preview to the user, and only call again with dry_run=False after they explicitly confirm. File attachments are not supported -- text only.
get_gradesGet this account's grade items for a course, if visible.
list_calendar_eventsList upcoming calendar events within the next `days_ahead` days.
get_unread_messagesGet this account's unread PLATO notifications.
list_noticesList announcements posted to a course's Notices board.
get_notice_detailGet the full text of one notice/announcement.
list_qnaList questions posted to a course's Q&A board.
get_qna_detailGet one Q&A question's text. Does not include replies -- see issue #23.
post_qna_questionPost a new question to a course's Q&A board. IRREVERSIBLE and VISIBLE to the instructor once dry_run=False (posted as private/secret by default). Call with dry_run=True (default) first, show the preview to the user, and only call again with dry_run=False after they explicitly confirm.
download_course_fileDownload a course file (the `fileurl` from get_course_contents). Running locally (stdio, e.g. Claude Code/Desktop): saves the file to `save_path` on this machine and returns the saved path -- `save_path` is required in this case. Running as a remote/hosted server (streamable-http, e.g. reached via a Claude.ai web/mobile Connector): this server's own disk is not reachable by you, so do NOT pass `save_path` -- it will be rejected. Instead the file is fetched here and returned inline as base64 content for you to decode and present, unless it's too large, in which case a direct authenticated download URL is returned instead (that URL embeds a live PLATO access token: do not share it or a chat transcript containing it). Only common course-material extensions are allowed (pdf, office docs, images, zip, txt); local downloads over the configured size limit are rejected.