Ctfd MCP Server

A Model Context Protocol (MCP) server for interacting with any CTFd v3 instance. It runs locally over stdio via the published package.

People who work with ctf tools, ctfd and security and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

VERIFIED ACTIVE

LAST COMMIT 2026-09-21 · ★ 6 · #71 OF 216 MAINTAINED SECURITY · VERIFIED 2026-09-30

MIT · Python servers · how we verify → /methodology

01 · Install Ctfd

before you install - you'll need

Set CTFD_BASE_URL, CTFD_ADMIN_TOKEN, CTFD_MCP_TRANSPORT before connecting.

Claude Code

claude mcp add mrjamescot-ctfd-mcp-server -- uvx ctfd-mcp-server

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "mrjamescot-ctfd-mcp-server": {
      "command": "uvx",
      "args": [
        "ctfd-mcp-server"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

license MIT - declared in the repository

pypi package ctfd-mcp-server - check the name against the project README before installing (PyPI has no namespace ownership)

registry namespace io.github.MrJamescot is GitHub-verified and matches the repo owner

03 · What Ctfd can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

Limitations (from the README)

- Requires CTFd v3+. The /api/v1 routes used are standard CTFd v3 API routes. - Form login depends on CTFd's web session flow (CSRF nonce extraction is best-effort). API tokens are the recommended authentication method. - difficulty is not a standard CTFd field; challenge value (points) is returned instead. - solved filtering uses CTFd's solved_by_me flag, which is only meaningful when authenticated. - Instance "vers

Latest releases

v1.0.4 · 2026-09-21

v1.0.3 · 2026-09-20

v1.0.2 · 2026-09-20

04 · Who maintains Ctfd

CTFd is maintained by mrjamescot. It's the only MCP server we track from this author; the repo dates to Nov 2025.

05 · Facts

category
security - ranked #71 of 216 actively-maintained security servers as of 2026-09-30.
release cadence
5 releases in the last 90 days (latest 2026-09-21)
registry
io.github.MrJamescot/ctfd-mcp-server (active, first published 2026-09-20 · 3 versions)
packages
pypi:ctfd-mcp-server

06 · Ctfd FAQ

What is Ctfd?

A Model Context Protocol (MCP) server for interacting with any CTFd v3 instance. It runs locally over stdio via the published package.

Is Ctfd still maintained?

Yes - as of 2026-09-30, its last commit was 2026-09-21 and it shipped 5 releases in the last 90 days. We re-verify nightly.

How do I install Ctfd?

Run `uvx ctfd-mcp-server`. The README documents 3 environment variables (CTFD_BASE_URL, CTFD_ADMIN_TOKEN, CTFD_MCP_TRANSPORT) to set first. Set CTFD_BASE_URL, CTFD_ADMIN_TOKEN, CTFD_MCP_TRANSPORT before connecting. You can also paste the ready-made client config above.

Does Ctfd run locally?

Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Ctfd