mcp-stepik
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-stepikcreate a new session and project for my Python course"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-stepik
MCP-сервер для авторства курсов на Stepik: FastMCP (HTTP) + Rust StateStore/TaskStore, workflow как в mcp-presentation.
Пакеты
Пакет | Import | Роль |
|
| FastMCP + TaskStore + CLI |
|
| sessions / workspaces (rusqlite) |
Стек: Python 3.12+ · FastMCP · Rust 1.95 / PyO3 · rusqlite · httpx · Pydantic.
Related MCP server: SAIR MCP Server
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 -dContainer 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-stepikEnv for data dirs (optional):
export MCP_STEPIK_STATE=/abs/path/state
export MCP_STEPIK_PROJECTS=/abs/path/projects
export MCP_STEPIK_WORKSPACES=/abs/path/workspacesTools
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
Changelog:
CHANGELOG.mdArchitecture:
docs/architecture/OVERVIEW.mdADR:
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.jsonThis server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
MCP server for Crowdin — projects, files, strings, translation progress, tasks, and members.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for Russian books search, details, and recommendation candidates.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP 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.59 npmMIT
- AlicenseBqualityCmaintenanceA local MCP server that exposes the SAIR Competition Public API as tools for MCP clients, enabling account introspection, competition browsing, submissions, playground operations, cheatsheet management, and Contributor Network interactions.48MIT
- FlicenseNot gradedqualityBmaintenanceMCP server for building presentations (PDF/web) with a task-based async pipeline, enabling session management, project creation, presentation IR saving, git commits, building, and deployment.-
- AlicenseNot gradedqualityDmaintenanceMCP server for managing Stepik courses, sections, lessons, units, and steps from any MCP-compatible client.MIT