cyberedu_get_session_statusLABSCO SUMMARY
The cookie is set once and persists, which is why this is usable across sessions.
Storing credentials to a permission-restricted file means you authenticate once rather than re-pasting a cookie at every restart, and tenant selection persists with it. The setup detail that catches people: the client is a git submodule, so a clone without --recursive installs a server with nothing behind it, and the client config must point at the virtual environment's Python by full path.
What it is
The official server for the CyberEdu CTF platform. Tools are discovered from the platform client by introspection, so a method added upstream becomes a tool without a code change here, and every name is prefixed cyberedu_ to avoid collisions.
What you get
- Session handling:
cyberedu_set_session_cookiestores your cookie to disk once,cyberedu_get_session_statusreports what is stored,cyberedu_switch_tenantmoves between organisations andcyberedu_clear_sessionwipes it - Challenges:
cyberedu_list_challengeswith filters,cyberedu_get_challenge,cyberedu_get_challenge_difficulties,cyberedu_get_challenge_tags,cyberedu_subscribe_to_challenge - Working a challenge:
cyberedu_start_service,cyberedu_get_service_status,cyberedu_extend_service,cyberedu_restart_service, andcyberedu_download_filewith an optional save path - Flags:
cyberedu_get_flagandcyberedu_submit_flag - Contests get the same set again —
cyberedu_list_contests,cyberedu_get_contest_ranks,cyberedu_get_contest_challenge,cyberedu_start_contest_service,cyberedu_submit_contest_flagand the rest - Identity:
cyberedu_check_auth,cyberedu_get_user_info,cyberedu_list_tenants,cyberedu_get_current_tenant_info
Requirements
A CyberEdu session cookie — the cyberedu_session value copied from your browser's developer tools after signing in at https://app.cyber-edu.co. Set it once through the tool and it persists to ~/.cyberedu-mcp/session.json with owner-only permissions; CYBEREDU_SESSION_COOKIE and CYBEREDU_TENANT work as an alternative. Clone with --recursive because the platform client is a submodule, create a virtual environment and pip install -e ".[local]", then point your client at the venv's Python with -m cyberedu_mcp — MCP clients run outside your activated environment. The Python package is cyberedu-mcp, version 0.1.0.
Setup effort
Build from source — git clone --recursive https://github.com/CyberEDU-Cyber-Range/cyberedu-mcp.git
USE CASES
Finding a challenge worth doing
List challenges filtered by difficulty and tag instead of scrolling the archive.
Getting set up to solve one
Subscribe, start the service, and pull the challenge files to a local folder.
Submitting the answer
Send the flag from the conversation and see whether it was accepted.
Not running out of time mid-solve
Check the service status and extend it before it expires.
Competing in a contest
List contests, read the leaderboard, and work contest challenges with the contest-scoped calls.
33 tools
Listed in project docs. Your client may show a different list.
cyberedu_set_session_cookiecyberedu_switch_tenantcyberedu_clear_sessioncyberedu_check_authcyberedu_get_user_infocyberedu_list_tenantscyberedu_get_current_tenant_infocyberedu_get_usercyberedu_list_challengescyberedu_get_challengecyberedu_get_challenge_difficultiescyberedu_get_challenge_tagscyberedu_subscribe_to_challengecyberedu_get_flagcyberedu_submit_flagcyberedu_download_filecyberedu_start_servicecyberedu_get_service_statuscyberedu_extend_servicecyberedu_restart_servicecyberedu_list_contestscyberedu_get_contestcyberedu_get_contest_rankscyberedu_get_contest_challengecyberedu_subscribe_to_contest_challengecyberedu_get_contest_flagcyberedu_submit_contest_flagcyberedu_download_contest_filecyberedu_start_contest_servicecyberedu_get_contest_service_statuscyberedu_extend_contest_servicecyberedu_restart_contest_serviceBEFORE YOU INSTALL
What to know first
Tools you get
33 tools named in the project's documentation.
Optional
CYBEREDU_SESSION_COOKIE in your environment
Where it runs
All 5 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone --recursive https://github.com/CyberEDU-Cyber-Range/cyberedu-mcp.git
cd cyberedu-mcp
# Create a virtual environment and install both packages into it
python3 -m venv venv
source venv/bin/activate
pip install -e ".[local]"MCP Clients
Cursor, Claude Desktop
{
"mcpServers": {
"cyberedu": {
"command": "<YOUR_PATH_TO_CYBEREDU_MCP>/venv/bin/python3",
"args": [
"-m",
"cyberedu_mcp"
]
}
}
}The configuration on this page does not set CYBEREDU_SESSION_COOKIE.
VS Code
{
"servers": {
"cyberedu": {
"type": "stdio",
"command": "<YOUR_PATH_TO_CYBEREDU_MCP>/venv/bin/python3",
"args": [
"-m",
"cyberedu_mcp"
]
}
}
}The configuration on this page does not set CYBEREDU_SESSION_COOKIE.
Antigravity, Windsurf
{
"mcpServers": {
"cyberedu": {
"command": "<YOUR_PATH_TO_CYBEREDU_MCP>/venv/bin/python3",
"args": [
"-m",
"cyberedu_mcp"
],
"env": {}
}
}
}The configuration on this page does not set CYBEREDU_SESSION_COOKIE.