Command Palette

Search for a command to run...

UnylyUnyly
Browse all

CTFtime

FreeNot checked

Integrates with CTFtime.org to retrieve cybersecurity competition data including upcoming events, team rankings, historical results, and event search capabiliti

GitHubEmbed

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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/enhancement)
  3. Commit changes (git commit -m 'Add enhancement')
  4. Push to branch (git push origin feature/enhancement)
  5. Open a Pull Request

License

This project is licensed under the MIT License. See LICENSE for details.

Acknowledgments

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.

from github.com/0x-professor/ctf-time-mcp

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-mcp

FAQ

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

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