CTFtime MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_upcoming_ctfsB | Retrieve upcoming CTF events from CTFtime.org. Args: limit: Maximum number of events to return (1-100, default: 10) days_ahead: Number of days to look ahead (default: 30) Returns: Formatted list of upcoming CTF events with details |
| get_event_detailsA | Retrieve detailed information about a specific CTF event. Args: event_id: The CTFtime event identifier Returns: Comprehensive event details including format, weight, prizes, and participants |
| get_past_ctfsB | Retrieve past CTF events from CTFtime.org. Args: limit: Maximum number of events to return (1-100, default: 10) days_back: Number of days to look back (default: 30) Returns: Formatted list of past CTF events with details |
| get_top_teamsA | Retrieve top-ranked CTF teams from CTFtime.org. Args: year: Specific year for rankings (default: current year) limit: Maximum number of teams to return (1-100, default: 10) Returns: Ranked list of top CTF teams with scores |
| get_top_teams_by_countryA | Retrieve top CTF teams from a specific country. Args: country_code: ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN') limit: Maximum number of teams to return (default: 10) Returns: Ranked list of top teams from the specified country |
| get_team_infoA | Retrieve detailed information about a specific CTF team. Args: team_id: The CTFtime team identifier Returns: Team details including rating history, country, and aliases |
| get_event_resultsB | Retrieve CTF event results and scores. Args: year: Specific year for results (default: all available) Returns: Competition results with top teams and scores per event |
| search_eventsB | Search for CTF events by name, description, or organizer. Args: query: Search keywords limit: Maximum number of results (default: 20) include_past: Include past events in search (default: True) include_upcoming: Include upcoming events in search (default: True) Returns: Matching CTF events sorted by relevance |
| get_ctf_calendarB | Retrieve CTF events calendar for a specific month. Args: month: Month number 1-12 (default: current month) year: Year (default: current year) Returns: Calendar view of CTF events organized by date |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_ctf_event | Generate analysis prompt for a specific CTF event. |
| find_beginner_ctfs | Generate prompt to identify beginner-friendly CTF competitions. |
| team_performance_analysis | Generate performance analysis prompt for a CTF team. |
| weekly_ctf_briefing | Generate weekly CTF competition briefing. |
| country_ctf_scene | Generate analysis prompt for a country's CTF community. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| ctftime_info | General information about CTFtime.org and this MCP server. |
| ctf_formats | Detailed information about CTF competition formats. |
| challenge_categories | Comprehensive guide to CTF challenge categories. |
TDQS
Scored across 9 tools
Every tool has a clearly distinct purpose with no ambiguity. Each tool targets a specific aspect of CTF data (calendar, event details, results, past events, team info, top teams, top teams by country, upcoming events, search) with clear boundaries. The descriptions reinforce distinct use cases, making misselection unlikely.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_ctf_calendar, get_event_details, search_events). The naming is predictable and readable throughout, with 'get_' as the dominant verb prefix for retrieval operations and 'search_' for the search function, maintaining uniformity.
With 9 tools, the count is well-scoped for a CTFtime server, covering key operations like event retrieval, team rankings, and search. Each tool earns its place by addressing a specific need in the domain, avoiding bloat while providing comprehensive coverage for typical agent workflows.
The tool set offers strong coverage for retrieving CTF events, results, and team information, with no dead ends. Minor gaps exist, such as the lack of tools for user-specific data (e.g., personal team participation) or administrative actions, but agents can work around these for core querying tasks.