MCP Hub
Back to servers

CTF-time-mcp

A tool for retrieving data from CTFtime.org, allowing users to track Capture The Flag competitions, browse team rankings, and access event results and calendars through the Model Context Protocol.

Stars
2
Tools
9
Updated
Jan 16, 2026
Validated
Feb 11, 2026

CTFtime MCP Server

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

Features

Tools

ToolDescription
get_upcoming_ctfsRetrieve upcoming CTF events with configurable time range
get_past_ctfsRetrieve historical CTF events
get_event_detailsGet comprehensive information about a specific event
get_top_teamsQuery global CTF team rankings
get_top_teams_by_countryQuery regional team rankings by country code
get_team_infoRetrieve detailed team information and statistics
get_event_resultsAccess competition results and scores
search_eventsSearch events by name, description, or organizer
get_ctf_calendarView monthly calendar of CTF events

Prompts

PromptDescription
analyze_ctf_eventGenerate analysis for a specific CTF event
find_beginner_ctfsIdentify beginner-friendly competitions
team_performance_analysisAnalyze team performance metrics
weekly_ctf_briefingGenerate weekly competition summary
country_ctf_sceneAnalyze regional CTF community

Resources

Resource URIDescription
ctftime://infoServer and platform documentation
ctftime://formatsCTF competition format reference
ctftime://categoriesChallenge 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

EndpointPurpose
/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

FormatDescriptionSkill Level
JeopardyCategory-based challenges (Web, Crypto, Pwn, Rev, Forensics)All levels
Attack-DefenseReal-time offensive and defensive operationsAdvanced
MixedCombination of Jeopardy and Attack-DefenseIntermediate+
Hack QuestNarrative-driven progressive challengesLearning

Challenge Categories

CategoryFocus Area
WebWeb application security vulnerabilities
CryptoCryptographic analysis and exploitation
PwnBinary exploitation and memory corruption
ReverseStatic and dynamic binary analysis
ForensicsDigital artifact investigation
OSINTOpen source intelligence gathering
MiscProgramming, 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.

Reviews

No reviews yet

Sign in to write a review