Scoring Engine MCP Server
An MCP (Model Context Protocol) server for Scoring Engine - an open-source platform for running Red/White/Blue team cybersecurity competitions.
Features
This MCP server provides programmatic access to all Scoring Engine API functionality:
Scoreboard
- Get bar chart data (team scores)
- Get line chart data (score progression over rounds)
Overview
- Get current round data
- Get overview status for all teams and services
- Get column headers
- Get detailed competition data
Team Management
- Get team statistics (placement, score)
- Get team services with status and check history
- Get current service status
Service Management
- Get check history for services
- Update service account credentials (blue team)
- Update service host/port (blue team)
Statistics
- Get round statistics with up/down counts
Flags (Red/White team)
- Get active flags
- Get flag solve status
- Get flag scoring totals
Injects
- List team injects
- Get inject details
- Submit injects
- View/add comments
- List inject files
Notifications
- List all notifications
- Get unread notifications
Admin (White team only)
- Team/user management
- Engine control (pause/resume)
- Service configuration
- Inject template management
- Scoring and grading
- Settings management
Installation
npm install
npm run build
Configuration
Set the following environment variables:
| Variable | Description | Default | |----------|-------------|---------| | SCORING_ENGINE_URL | Base URL of your Scoring Engine instance | http://localhost | | SCORING_ENGINE_SESSION | Session cookie value for authentication | (empty) |
Getting the Session Cookie
- Log in to your Scoring Engine instance in a web browser
- Open Developer Tools (F12)
- Go to Application > Cookies
- Copy the value of the
sessioncookie
Usage with Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"scoringengine": {
"command": "node",
"args": ["/path/to/scoringengine-mcp/dist/index.js"],
"env": {
"SCORING_ENGINE_URL": "https://your-scoring-engine.example.com",
"SCORING_ENGINE_SESSION": "your-session-cookie-value"
}
}
}
}
Usage with Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"scoringengine": {
"command": "node",
"args": ["/path/to/scoringengine-mcp/dist/index.js"],
"env": {
"SCORING_ENGINE_URL": "https://your-scoring-engine.example.com",
"SCORING_ENGINE_SESSION": "your-session-cookie-value"
}
}
}
}
Available Tools
Scoreboard Tools
scoreboard_get_bar_data- Get team bar chart datascoreboard_get_line_data- Get team line chart data
Overview Tools
overview_get_round_data- Get current round infooverview_get_data- Get team/service overviewoverview_get_columns- Get column headersoverview_get_detailed_data- Get detailed data for display
Team Tools
team_get_stats- Get team placement and scoreteam_get_services- Get team's services with detailsteam_get_services_status- Get current service status
Service Tools
service_get_checks- Get check historyservice_update_account- Update account credentialsservice_update_host- Update service hostnameservice_update_port- Update service port
Stats Tools
stats_get_rounds- Get round statistics
Flags Tools (Red/White team)
flags_get_active- Get active flagsflags_get_solves- Get solve statusflags_get_totals- Get scoring totals
Injects Tools
injects_list- List team injectsinject_get- Get inject detailsinject_submit- Submit an injectinject_get_comments- Get inject commentsinject_add_comment- Add a commentinject_get_files- List inject files
Notifications Tools
notifications_list- List all notificationsnotifications_unread- Get unread notifications
Admin Tools (White team only)
admin_get_teams- List all teamsadmin_add_user- Create useradmin_add_team- Create teamadmin_update_password- Change user passwordadmin_toggle_engine- Pause/resume engineadmin_get_engine_status- Check if pausedadmin_get_engine_stats- Get engine statisticsadmin_get_worker_stats- Get worker statsadmin_get_queue_stats- Get queue statsadmin_get_round_progress- Get round progressadmin_update_check- Modify check resultsadmin_update_host- Change service hostadmin_update_port- Change service portadmin_update_points- Update point valuesadmin_update_worker_queue- Assign worker queueadmin_update_target_round_time- Set round durationadmin_update_worker_refresh_time- Set refresh intervaladmin_injects_get_templates- List inject templatesadmin_injects_get_template- Get template detailsadmin_injects_create_template- Create templateadmin_injects_update_template- Update templateadmin_injects_delete_template- Delete templateadmin_inject_grade- Grade an injectadmin_injects_get_scores- Get inject scoresadmin_injects_get_bar_chart- Get inject chart dataadmin_update_setting- Update settingsadmin_update_environment_info- Update environmentadmin_update_property- Update properties
Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run watch
# Run directly with ts-node
npm run dev
License
MIT






