stepik-mcp
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., "@stepik-mcpcreate a new course called 'Introduction to Python'"
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.
stepik-mcp
MCP server for managing Stepik courses from Claude Code, Cursor, or any MCP-compatible client.
20 Tools
Category | Tools |
Courses |
|
Sections |
|
Lessons |
|
Units |
|
Steps |
|
Health |
|
Related MCP server: mcp-stepik
Quick Start
1. Get API Credentials
Go to stepik.org/oauth2/applications/ → Create application → Client type: Confidential, Grant type: Client credentials.
Copy the Client ID and Client Secret.
2. Install
git clone https://github.com/seniorcat/stepik-mcp.git
cd stepik-mcp
pip install mcpOr with uv:
uv pip install mcp3. Configure
Set environment variables:
export STEPIK_CLIENT_ID=your-client-id
export STEPIK_CLIENT_SECRET=your-client-secretOr create a .env file next to the server script:
STEPIK_CLIENT_ID=your-client-id
STEPIK_CLIENT_SECRET=your-client-secret(Requires pip install python-dotenv)
4. Add to Claude Code
Add to ~/.claude/settings.json:
{
"mcpServers": {
"stepik": {
"command": "python3",
"args": ["/path/to/stepik_mcp_server.py"],
"env": {
"STEPIK_CLIENT_ID": "your-client-id",
"STEPIK_CLIENT_SECRET": "your-client-secret"
}
}
}
}5. Add to Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"stepik": {
"command": "python3",
"args": ["/path/to/stepik_mcp_server.py"],
"env": {
"STEPIK_CLIENT_ID": "your-client-id",
"STEPIK_CLIENT_SECRET": "your-client-secret"
}
}
}
}Course Hierarchy
Course
└── Section (Module 1, Module 2, ...)
└── Unit (binding)
└── Lesson
└── Step (text, video, quiz, ...)Typical workflow for building a course:
stepik_create_course → get course_id
stepik_create_section → get section_id (repeat per module)
stepik_create_lesson → get lesson_id (repeat per lesson)
stepik_create_unit → attach lesson to section
stepik_create_text_step → add content to lesson
stepik_publish_course → make it visibleUsage Examples
Once connected, your AI assistant can manage Stepik courses directly:
"Создай новый курс 'Python для начинающих'"
"Покажи все мои курсы"
"Добавь раздел 'Основы' в курс 12345"
"Создай урок 'Переменные и типы данных' и добавь в раздел 67890"
"Добавь текстовый шаг с объяснением в урок 11111"
"Создай тест с 4 вариантами ответа"
"Опубликуй курс 12345"Requirements
Python 3.10+
Stepik account with instructor access
mcpPython packagepython-dotenv(optional)
Notes
Lesson titles are limited to 64 characters by the Stepik API (enforced automatically)
Courses are created as drafts — use
stepik_publish_coursewhen readyOAuth2 tokens are cached and refreshed automatically
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
An MCP server that provides access to Testiny projects, test cases and test runs
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
An MCP server for deep research or task groups
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables LLMs to interact with the Moodle platform to manage courses, students, assignments, and quizzes.73 npmMIT
- FlicenseNot gradedqualityAmaintenanceMCP server for authoring courses on Stepik. Provides tools for session management, project creation, course synchronization, video upload, and publishing via the Stepik API.-
- AlicenseNot gradedqualityCmaintenanceAn MCP server that lets AI assistants author courses on Stepik: browse the catalogue, read course structure, create or edit courses, modules, lessons and steps through the Stepik REST API, while preventing publishing.MIT
- AlicenseAqualityBmaintenanceMCP server for Moodle that lets AI agents publish and manage pedagogical content — courses, lessons, quizzes, forums — via Moodle Web Services with idempotency.45MIT