CTFtime
FreeNot checkedIntegrates with CTFtime.org to retrieve cybersecurity competition data including upcoming events, team rankings, historical results, and event search capabiliti
About
Integrates with CTFtime.org to retrieve cybersecurity competition data including upcoming events, team rankings, historical results, and event search capabilities for tracking competitive cybersecurity performance and planning competition schedules.
README
A Model Context Protocol (MCP) server providing programmatic access to CTFtime.org data. Retrieve information about CTF competitions, team rankings, event details, and competition results through a standardized interface.
MCP Compatible Python 3.13+ License: MIT MCP Badge
Features
Tools
| Tool | Description |
|---|---|
get_upcoming_ctfs |
Retrieve upcoming CTF events with configurable time range |
get_past_ctfs |
Retrieve historical CTF events |
get_event_details |
Get comprehensive information about a specific event |
get_top_teams |
Query global CTF team rankings |
get_top_teams_by_country |
Query regional team rankings by country code |
get_team_info |
Retrieve detailed team information and statistics |
get_event_results |
Access competition results and scores |
search_events |
Search events by name, description, or organizer |
get_ctf_calendar |
View monthly calendar of CTF events |
Prompts
| Prompt | Description |
|---|---|
analyze_ctf_event |
Generate analysis for a specific CTF event |
find_beginner_ctfs |
Identify beginner-friendly competitions |
team_performance_analysis |
Analyze team performance metrics |
weekly_ctf_briefing |
Generate weekly competition summary |
country_ctf_scene |
Analyze regional CTF community |
Resources
| Resource URI | Description |
|---|---|
ctftime://info |
Server and platform documentation |
ctftime://formats |
CTF competition format reference |
ctftime://categories |
Challenge category documentation |
Installation
Prerequisites
- Python 3.13 or higher
- uv (recommended) or pip
Using uv (Recommended)
git clone https://github.com/0x-Professor/CTF-time-mcp.git
cd ctf-times-mcp
uv sync
Using pip
git clone https://github.com/yourusername/ctf-times-mcp.git
cd ctf-times-mcp
pip install -e .
Usage
Running the Server
# Using uv
uv run server.py
# Using Python directly
python server.py
Development Mode
# Launch with MCP Inspector for testing
uv run mcp dev server.py
Client Configuration
To add the CTFtime MCP server to Claude Desktop, run this command:
uv run mcp install server.py --name "CTFtime"
Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"ctftime": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ctf-times-mcp", "server.py"]
}
}
}
VS Code with Continue
Add to your Continue configuration:
{
"mcpServers": [
{
"name": "ctftime",
"command": "uv",
"args": ["run", "server.py"],
"cwd": "/path/to/ctf-times-mcp"
}
]
}
Example Queries
Once connected to an MCP-compatible client:
- "List upcoming CTF competitions for the next two weeks"
- "Get details for CTF event ID 2345"
- "Show the top 20 CTF teams globally"
- "Find CTF teams from Germany"
- "Search for CTF events related to DEF CON"
- "Display the CTF calendar for March 2026"
API Reference
This server interfaces with the CTFtime.org API.
Endpoints Used
| Endpoint | Purpose |
|---|---|
/api/v1/events/ |
Event listing with date filters |
/api/v1/events/{id}/ |
Individual event details |
/api/v1/top/ |
Global team rankings |
/api/v1/top/{year}/ |
Year-specific rankings |
/api/v1/top-by-country/{code}/ |
Country-specific rankings |
/api/v1/teams/{id}/ |
Team information |
/api/v1/results/ |
Competition results |
Rate Limiting
The CTFtime.org API is provided for data analysis and application development. Implement appropriate request throttling to respect server resources.
Competition Formats
| Format | Description | Skill Level |
|---|---|---|
| Jeopardy | Category-based challenges (Web, Crypto, Pwn, Rev, Forensics) | All levels |
| Attack-Defense | Real-time offensive and defensive operations | Advanced |
| Mixed | Combination of Jeopardy and Attack-Defense | Intermediate+ |
| Hack Quest | Narrative-driven progressive challenges | Learning |
Challenge Categories
| Category | Focus Area |
|---|---|
| Web | Web application security vulnerabilities |
| Crypto | Cryptographic analysis and exploitation |
| Pwn | Binary exploitation and memory corruption |
| Reverse | Static and dynamic binary analysis |
| Forensics | Digital artifact investigation |
| OSINT | Open source intelligence gathering |
| Misc | Programming, trivia, unconventional challenges |
Project Structure
ctf-times-mcp/
├── server.py # MCP server implementation
├── pyproject.toml # Project configuration and dependencies
└── README.md # Documentation
Development
Testing
# Run with MCP Inspector
uv run mcp dev server.py
# Execute tests
uv run pytest
Code Style
This project follows PEP 8 conventions with type annotations throughout.
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/enhancement) - Commit changes (
git commit -m 'Add enhancement') - Push to branch (
git push origin feature/enhancement) - Open a Pull Request
License
This project is licensed under the MIT License. See LICENSE for details.
Acknowledgments
- CTFtime.org - Competition tracking platform and API
- Model Context Protocol - Protocol specification
- MCP Python SDK - Server implementation framework
Disclaimer
This is an independent project and is not affiliated with or endorsed by CTFtime.org. Please review and comply with CTFtime.org's terms of service and API usage guidelines.
Installing CTFtime
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/0x-professor/ctf-time-mcpFAQ
Is CTFtime MCP free?
Yes, CTFtime MCP is free — one-click install via Unyly at no cost.
Does CTFtime need an API key?
No, CTFtime runs without API keys or environment variables.
Is CTFtime hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install CTFtime in Claude Desktop, Claude Code or Cursor?
Open CTFtime on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare CTFtime with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
