Skip to main content
Glama

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.

Related MCP server: canvas-lms

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
F
license - not found
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A
    license
    -
    quality
    D
    maintenance
    MCP server for Canvas LMS with automatic OAuth authentication. Enables interaction with courses, assignments, grades, modules, discussions, quizzes, files, calendar, messaging, and more without manual API token management.
    Last updated
    122
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    An MCP server for Microweber sites that wraps the existing HTTP API to manage content (pages, posts, products) and media without installing any plugin. It uses admin credentials and handles session + CSRF authentication automatically.
    Last updated

View all related MCP servers

Related MCP Connectors

  • MCP server for the Inistate platform: module discovery, entry management, and activity submission.

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • A MCP server built for developers enabling Git based project management with project and personal…

View all MCP Connectors

Latest Blog Posts

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/hewimetall/mcp-stepik'

If you have feedback or need assistance with the MCP directory API, please join our Discord server