challenge
Get details for a specific challenge by name or ID.
Work a CTFd instance from the assistant: list challenges, read one, submit the flag, watch the scoreboard.
LABSCO SUMMARY
CTFs come and go weekly, and the base URL, the token and the cookie can all be set from inside the session — so joining a new event does not mean restarting a client. The read side is the useful half: challenges and progress in the same place as the work.
A client for any CTFd instance. It authenticates three ways, lists and opens challenges, submits flags, and reports where you stand — with the target instance set at runtime rather than baked in.
Node, run over stdio from npm as ctfd-mcp-server through npx or a global install. Point it at a CTFd instance with BASE_URL and give it a credential — CTFD_TOKEN in the environment, or a cookie or username and password supplied in the session. It is validated against the official demo instance at https://demo.ctfd.io.
One command plus a key — npx ctfd-mcp-server, then supply credentials
USE CASES
Point the server at the instance and authenticate with whichever credential you have — token, cookie or login.
List the challenges in the category you are strongest in, then open the promising ones for their full text.
Send it against the challenge by name or ID and read whether it was accepted.
Read the scoreboard and your own solves together, so effort goes where the points still are.
Check the connection health before assuming the platform is down or the session has expired.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
challengeGet details for a specific challenge by name or ID.
challengesList all challenges from CTFd, with optional category filter.
healthCheck health status of the CTFd connection.
loginLogin to CTFd with username and password.
progressGet the current user's progress and solves.
scoreboardGet the CTFd scoreboard.
set_base_urlSet the base URL for the CTFd instance.
set_cookieSet session cookie for CTFd authentication.
set_tokenSet authentication token for CTFd API.
submit_flagSubmit a flag for a challenge.
BEFORE YOU INSTALL
10 tools when we connected. set_base_url, set_token, set_cookie and login configure the server mid-session rather than exposing CTFd features; submit_flag is the tool that scores.
All 4 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 10 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx ctfd-mcp-server{
"mcpServers": {
"ctfd": {
"command": "npx",
"args": [
"-y",
"ctfd-mcp-server"
],
"env": {
"BASE_URL": "https://demo.ctfd.io",
"CTFD_TOKEN": "<YOUR_CTFD_TOKEN>"
}
}
}
}codex mcp add ctfd -- npx -y ctfd-mcp-server{
"amp.mcpServers": {
"ctfd": {
"command": "npx",
"args": [
"-y",
"ctfd-mcp-server"
],
"env": {
"BASE_URL": "https://demo.ctfd.io",
"CTFD_TOKEN": "<YOUR_CTFD_TOKEN>"
}
}
}
}