CTFtime MCP服务器
一种模型上下文协议(MCP)服务器,提供对 CTFtime.org 数据。通过标准化界面检索有关CTF比赛、球队排名、赛事详情和比赛结果的信息。
   ](https://lobehub.com/mcp/0x-professor-ctf-time-mcp)
特性
工具
| 工具 | 说明 |
|---|---|
get_upcoming_ctfs | 使用可配置的时间范围检索即将发生的CTF事件 |
get_past_ctfs | 检索历史CTF事件 |
get_event_details | 获取有关特定事件的全面信息 |
get_top_teams | 查询全球CTF团队排名 |
get_top_teams_by_country | 按国家代码查询区域团队排名 |
get_team_info | 检索详细的团队信息和统计数据 |
get_event_results | 获取比赛结果和分数 |
search_events | 按名称、描述或组织者搜索事件 |
get_ctf_calendar | 查看CTF活动的月历 |
提示
| 提示 | 描述 |
|---|---|
analyze_ctf_event | 生成特定CTF事件的分析 |
find_beginner_ctfs | 确定适合初学者的比赛 |
team_performance_analysis | 分析团队绩效指标 |
weekly_ctf_briefing | 生成每周比赛总结 |
country_ctf_scene | 分析区域CTF社区 |
资源
| 资源URI | 描述 |
|---|---|
ctftime://info | 服务器和平台文档 |
ctftime://formats | CTF竞赛格式参考 |
ctftime://categories | 挑战类别文档 |
安装
先决条件
- Python 3.13或更高版本
- 紫外线 (推荐)或pip
使用紫外线(推荐)
git clone https://github.com/0x-Professor/CTF-time-mcp.git
cd ctf-times-mcp
uv sync使用pip
git clone https://github.com/yourusername/ctf-times-mcp.git
cd ctf-times-mcp
pip install -e .用法
运行服务器
# Using uv
uv run server.py
# Using Python directly
python server.py开发模式
# Launch with MCP Inspector for testing
uv run mcp dev server.py客户端配置
要将CTFtime MCP服务器添加到Claude Desktop,请运行以下命令:
uv run mcp install server.py --name "CTFtime"克劳德桌面版
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"ctftime": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ctf-times-mcp", "server.py"]
}
}
}VS代码并继续
添加到“继续”配置中:
{
"mcpServers": [
{
"name": "ctftime",
"command": "uv",
"args": ["run", "server.py"],
"cwd": "/path/to/ctf-times-mcp"
}
]
}查询示例
连接到MCP兼容客户端后:
- “列出未来两周即将举行的CTF比赛”
- “获取CTF事件ID 2345的详细信息”
- “展示全球排名前20的CTF团队”
- “查找来自德国的CTF团队”
- “搜索与DEF CON相关的CTF事件”
- “显示2026年3月的CTF日历”
API 参考
此服务器与 CTFtime.org API.
使用的端点
| 终点 | 目的 |
|---|---|
/api/v1/events/ | 带有日期过滤器的事件列表 |
/api/v1/events/{id}/ | 个人活动详情 |
/api/v1/top/ | 全球团队排名 |
/api/v1/top/{year}/ | 年度排名 |
/api/v1/top-by-country/{code}/ | 国别排名 |
/api/v1/teams/{id}/ | 团队信息 |
/api/v1/results/ | 竞赛结果 |
速率限制
提供CTFtime.org API用于数据分析和应用程序开发。实施适当的请求限制以尊重服务器资源。
竞赛形式
| 格式 | 描述 | 技能等级 |
|---|---|---|
| 危险 | 基于类别的挑战(Web、加密、Pwn、Rev、取证) | 所有级别 |
| 攻击防御 | 实时攻防作战 | 高级 |
| 混合 | 危险与攻防结合 | 中级+ |
| Hack Quest | 叙事驱动的渐进式挑战 | 学习 |
挑战类别
| 类别 | 重点领域 |
|---|---|
| Web | Web应用程序安全漏洞 |
| Crypto | 密码分析和利用 |
| Pwn | 二进制漏洞利用和内存损坏 |
| 反向 | 静态和动态二元分析 |
| 取证 | 数字文物调查 |
| OSINT | 开源情报收集 |
| 杂项 | 编程、琐事、非传统挑战 |
项目结构
ctf-times-mcp/
├── server.py # MCP server implementation
├── pyproject.toml # Project configuration and dependencies
└── README.md # Documentation发展
测试
# Run with MCP Inspector
uv run mcp dev server.py
# Execute tests
uv run pytest代码风格
本项目遵循PEP 8规范,并全程使用类型注释。
贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/enhancement) - 提交更改(
git commit -m 'Add enhancement') - 推送到分支(
git push origin feature/enhancement) - 打开拉取请求
许可证
该项目根据MIT许可证获得许可。看 许可证 了解详情。
致谢
- CTFtime.org -竞争跟踪平台和API
- 模型上下文协议 -协议规范
- MCP Python SDK -服务器实施框架
免责声明
这是一个独立的项目,不隶属于CTFtime.org或由其认可。请查看并遵守CTFtime.com的服务条款和API使用指南。
