hewimetall

mcp-stepik

Community hewimetall
Updated

mcp tool for create curses for stepic platform via ai

mcp-stepik

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

Run (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

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

Cursor / HTTP MCP

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

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

  • Architecture: docs/architecture/OVERVIEW.md
  • ADR: docs/adr/

Dev

make develop
make test
make lint
make cov-rust

Диск

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

MCP Server · Populars

MCP Server · New

    ROCTUP

    1C Metacode MCP Server

    MCP сервер с встроенным AI агентом для поиска по графу метаданных и кода конфигураций 1С

    Community ROCTUP
    nhevers

    r0x-os

    Official SDK, Claude Code plugin and facilitator docs for r0x, the x402 facilitator for Robinhood Chain.

    Community nhevers
    scarletkc

    Vexor

    A semantic search engine for files and code.

    Community scarletkc
    marmutapp

    SuperBased Observer

    Local-first cost & token tracking for Claude Code, Cursor, Codex & 23 more AI coding agents — proxy-accurate per-model spend, an MCP server your agent can query, and an opt-in team rollup. 100% local, no telemetry.

    Community marmutapp
    Intuition-Lab

    Persome

    Local-first macOS Runtime that turns cross-app activity into an inspectable personal model for MCP agents.

    Community Intuition-Lab