Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Stepik

БесплатноНе проверен

MCP server for authoring courses on Stepik. Provides tools for session management, project creation, course synchronization, video upload, and publishing via th

GitHubEmbed

Описание

MCP server for authoring courses on Stepik. Provides tools for session management, project creation, course synchronization, video upload, and publishing via the Stepik API.

README

MCP-сервер для авторства курсов на Stepik: FastMCP (HTTP) + Rust StateStore/TaskStore, workflow как в mcp-presentation.

Пакеты

Пакет Import Роль
mcp-stepik-core mcp_stepik FastMCP + TaskStore + CLI
mcp-stepik-state mcp_state sessions / workspaces (rusqlite)

Стек: Python 3.12+ · FastMCP · Rust 1.95 / PyO3 · rusqlite · httpx · Pydantic.

Happy path (workflow)

create_session
  → create_project(project_id)
  → checkout_workspace(session_id, project_id)
  → save_course_ir(session_id, ir_json)   # Pydantic validate → course.ir.json
  → sync_course(session_id)               # task: IR → Stepik API
  → upload_video(session_id, "assets/a.mp4")  # task: upload + poll ready
  → get_course_page_url(session_id)       # https://stepik.org/course/{id}/
  → publish_course(session_id)            # task: is_enabled=true

Пример IR: examples/demo/course.ir.json
Schema: schemas/course.ir.schema.json

Production (Docker / GHCR)

Image: ghcr.io/hewimetall/mcp-stepik
Tags: 0.1.0, 0.1, 0, latest (built on git tag v*).

export STEPIK_CLIENT_ID=...
export STEPIK_CLIENT_SECRET=...

# one-shot
docker run --rm -p 8000:8000 \
  -e STEPIK_CLIENT_ID -e STEPIK_CLIENT_SECRET \
  -v mcp-stepik-data:/data \
  ghcr.io/hewimetall/mcp-stepik:0.1.0

# or compose
docker compose up -d

Container defaults: listen 0.0.0.0:8000, persist under /data (state, projects, workspaces).
MCP endpoint: http://<host>:8000/mcp

OAuth app: https://stepik.org/oauth2/applications/
(Confidential + Client credentials)

If the package is private: echo $GHCR_TOKEN | docker login ghcr.io -u USER --password-stdin

Cursor / HTTP MCP

{
  "mcpServers": {
    "mcp-stepik": {
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

Run locally (HTTP only)

uv sync --extra dev
(cd packages/mcp-stepik-state && maturin develop)
maturin develop

export STEPIK_CLIENT_ID=...
export STEPIK_CLIENT_SECRET=...
export MCP_STEPIK_HOST=127.0.0.1
export MCP_STEPIK_PORT=8000
uv run mcp-stepik

Env for data dirs (optional):

export MCP_STEPIK_STATE=/abs/path/state
export MCP_STEPIK_PROJECTS=/abs/path/projects
export MCP_STEPIK_WORKSPACES=/abs/path/workspaces

Tools

Workflow / state

create_session, get_session, list_sessions,
create_project, checkout_workspace, create_workspace, get_workspace,
list_workspaces, set_active_workspace, remove_workspace,
save_course_ir, sync_course, upload_video, publish_course,
get_task_status, get_course_page_url

Stepik CRUD

Courses / sections / lessons / units / steps:
text, choice, code, video, string, number, matching, sorting, free-answer, review

  • stepik_health_check, stepik_list_courses, …

Docs

Dev

make develop
make test
make lint
make cov-rust

Диск

state/tasks.db  state/sessions.db
projects/<id>/
workspaces/<ws_id>/course.ir.json

from github.com/hewimetall/mcp-stepik

Установка Stepik

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/hewimetall/mcp-stepik

FAQ

Stepik MCP бесплатный?

Да, Stepik MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Stepik?

Нет, Stepik работает без API-ключей и переменных окружения.

Stepik — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Stepik в Claude Desktop, Claude Code или Cursor?

Открой Stepik на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Stepik with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории media