Описание
MCP configuration to link AI agents with a CTFd instance.
README
A lightweight and extensible Model Context Protocol (MCP) server for interacting with any CTFd instance. This project enables AI tools and automation to authenticate, retrieve challenges, and submit flags through a stable API layer.
Overview
This project acts as a bridge between CTFd and AI-driven systems by providing a unified interface. It supports multiple authentication modes, dynamic base URL control, and FastAPI endpoints for debugging and integration.
The server is validated using the official demo instance at https://demo.ctfd.io.
Features
- Dynamic BASE_URL configuration
- Token and cookie authentication
- Username/password login
- List challenges with optional filtering
- Submit flags programmatically
- Compatible with MCP-based AI tools
- Clean and extensible Python codebase
Installation
Install the MCP server using Python:
git clone https://github.com/YourUser/ctfd-mcp-server.git
cd ctfd-mcp-server
pip install -r requirements.txt
Create your environment configuration:
cp .env.example .env
Edit .env as needed:
BASE_URL=https://demo.ctfd.id
CTFD_TOKEN=
CTFD_COOKIE=
Running the MCP Server
Start the server with Python:
python mcp_server.py
The default FastAPI server runs at:
http://127.0.0.1:8000
Example MCP Configuration
If you are using a client such as Claude Desktop or a compatible MCP host, configure it as follows:
{
"mcpServers": {
"ctfd-mcp": {
"command": "python",
"args": ["mcp_server.py"],
"env": {
"BASE_URL": "https://demo.ctfd.io"
}
}
}
}
Usage/Examples
Set Token
{
"method": "set_token",
"params": { "token": "your_token_here" }
}
Get Challanges
{
"method": "challenges",
"params": {}
}
Sumbit Flag
{
"method": "submit_flag",
"params": {
"challenge_id": 3,
"flag": "flag{example_payload}"
}
}
API Endpoints (FastAPI)
| Method | Path | Description |
|---|---|---|
| POST | /set_token | Set authentication token |
| POST | /set_cookie | Set session cookie |
| POST | /login | Login with credentials |
| GET | /api/v1/challenges | Retrieve challenges |
| POST | /api/v1/flags | Submit a flag |
Support
For support, email [email protected] or open an issue through the GitHub repository. Community contributions and improvements are always welcome.
License
Установка Ctfd
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/MrJamescot/ctfd-mcp-serverFAQ
Ctfd MCP бесплатный?
Да, Ctfd MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Ctfd?
Нет, Ctfd работает без API-ключей и переменных окружения.
Ctfd — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Ctfd в Claude Desktop, Claude Code или Cursor?
Открой Ctfd на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Ctfd with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
