评分引擎MCP服务器
MCP(模型上下文协议)服务器 评分引擎 -一个用于举办红/白/蓝团队网络安全竞赛的开源平台。
特性
此MCP服务器提供对所有评分引擎API功能的编程访问:
记分牌
- 获取柱状图数据(团队得分)
- 获取折线图数据(各回合得分进展)
概述
- 获取当前轮次数据
- 获取所有团队和服务的概览状态
- 获取列标题
- 获取详细的竞争数据
团队管理
- 获取团队统计数据(位置、得分)
- 获取带有状态的团队服务并查看历史记录
- 获取当前服务状态
服务管理
- 获取服务的检查历史记录
- 更新服务帐户凭据(蓝队)
- 更新服务主机/端口(蓝队)
统计
- 获取上/下计数的圆形统计数据
旗帜(红/白队)
- 获取活动标志
- 获取标志解决状态
- 获取旗帜得分总数
注射
- 列表团队注入
- 获取注射详细信息
- 提交注射
- 查看/添加评论
- 列出注入文件
通知
- 列出所有通知
- 获取未读通知
管理员(仅限白队)
- 团队/用户管理
- 发动机控制(暂停/恢复)
- 服务配置
- 注入模板管理
- 评分和分级
- 设置管理
安装
npm install
npm run build配置
设置以下环境变量:
| 变量 | 描述 | 默认值 |
|---|---|---|
SCORING_ENGINE_URL | 您的评分引擎实例的基本URL | http://localhost |
SCORING_ENGINE_SESSION | 用于身份验证的会话cookie值 | (空) |
获取会话Cookie
- 在web浏览器中登录您的评分引擎实例
- 打开开发人员工具(F12)
- 转到应用程序>Cookie
- 复制的值
session曲奇
使用Claude Desktop
添加到您的Claude Desktop配置(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"
}
}
}
}使用Claude代码
添加到您的Claude Code MCP设置中:
{
"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"
}
}
}
}可用工具
记分牌工具
scoreboard_get_bar_data-获取团队条形图数据scoreboard_get_line_data-获取团队折线图数据
概述工具
overview_get_round_data-获取当前轮次信息overview_get_data-获取团队/服务概述overview_get_columns-获取列标题overview_get_detailed_data-获取详细数据以供显示
团队工具
team_get_stats-获得团队排名和得分team_get_services-获取团队服务详情team_get_services_status-获取当前服务状态
维修工具
service_get_checks-获取检查历史记录service_update_account-更新帐户凭据service_update_host-更新服务主机名service_update_port-更新服务端口
统计工具
stats_get_rounds-获取圆形统计数据
旗帜工具(红/白团队)
flags_get_active-获取活动标志flags_get_solves-获取解决状态flags_get_totals-获取得分总数
注入工具
injects_list-列表团队注入inject_get-获取注射详细信息inject_submit-提交注射inject_get_comments-获取注入评论inject_add_comment-添加评论inject_get_files-列出注入文件
通知工具
notifications_list-列出所有通知notifications_unread-获取未读通知
管理工具(仅限白色团队)
admin_get_teams-列出所有团队admin_add_user-创建用户admin_add_team-创建团队admin_update_password-更改用户密码admin_toggle_engine-暂停/恢复发动机admin_get_engine_status-检查是否已暂停admin_get_engine_stats-获取发动机统计信息admin_get_worker_stats-获取员工统计数据admin_get_queue_stats-获取队列统计信息admin_get_round_progress-取得进展admin_update_check-修改检查结果admin_update_host-更改服务主机admin_update_port-更改服务端口admin_update_points-更新点值admin_update_worker_queue-分配工作队列admin_update_target_round_time-设定轮次持续时间admin_update_worker_refresh_time-设置刷新间隔admin_injects_get_templates-列出注入模板admin_injects_get_template-获取模板详细信息admin_injects_create_template-创建模板admin_injects_update_template-更新模板admin_injects_delete_template-删除模板admin_inject_grade-A级注射admin_injects_get_scores-获取注射分数admin_injects_get_bar_chart-获取注入图表数据admin_update_setting-更新设置admin_update_environment_info-更新环境admin_update_property-更新属性
发展
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run watch
# Run directly with ts-node
npm run dev许可证
麻省理工学院
