CTFtime MCP Server
Provides programmatic access to CTFtime.org data for retrieving information about CTF competitions, team rankings, and event results. It enables users to search for upcoming events, analyze team performance, and access historical competition data through a standardized interface.
README
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.
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.