mcp
com.secdim/mcpVersion 1.0.1Personalised developer security learning pathways from SecDim's challenges and courses.
Status
Responds307 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:14 UTC
- Latency
- 307 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://mcp.secdim.com/mcpResponds307 msNo sign-in
Claude Code
claude mcp add --transport http secdim https://mcp.secdim.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: secdim
Remote MCP server URL: https://mcp.secdim.com/mcpCursor
{
"mcpServers": {
"secdim": {
"url": "https://mcp.secdim.com/mcp"
}
}
}VS Code
code --add-mcp '{"name":"secdim","type":"http","url":"https://mcp.secdim.com/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
7 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
fetch
Fetch detailed content for a specific SecDim Play lab (hands-on, scored challenge).
Args:
id: Lab ID in format "lab:slug" (e.g., "lab:xss-dom")
Returns:
Dictionary containing:
- id: The lab ID
- title: Lab title
- content: Detailed content in markdown format
- metadata: Additional lab information
| Not declared | Not declared | Not declared | Not declared |
get_learn_course
Get a SecDim Learn course's details, including its syllabus of topics.
Args:
course_slug: The course's slug, as returned by search_learn_courses
(e.g. "owasp-top-10")
Returns:
Dictionary with the course's title, description, image, slug, "difficulty"
label and a "topics" list. Each topic includes its title, description,
category, slug, kind (e.g. text/video/lab), level, subscription tier,
duration and completion status.
Use get_learn_topic with the course slug and a topic's slug to view its content.
| Not declared | Not declared | Not declared | Not declared |
get_learn_topic
Get a SecDim Learn topic's content.
Args:
course_slug: The course's slug, as returned by search_learn_courses
(e.g. "owasp-top-10")
topic_slug: The topic's slug, as returned by get_learn_course
(e.g. "introduction-secure-coding")
Returns:
Dictionary with the topic's title, description, category, kind, level,
subscription tier, duration, completion status and "file_content" (the
topic's content in AsciiDoc format).
If the topic requires a SecDim Learn subscription that the current account
does not have, an "error" explaining this is returned instead.
| Not declared | Not declared | Not declared | Not declared |
get_secdim_profile
Fetch a SecDim player's profile: scores, completed challenges, skills,
security interests and an experience estimate.
Use this tool to understand a player's demonstrated secure coding ability
before building a learning pathway. The profile includes actual challenge
completion data (by difficulty level) and security topics the player has
practised — weight this demonstrated performance over a user's self-reported
level when deciding what difficulty and topics to recommend.
The 'guidance' field provides a ready-to-use summary of what difficulty and
topics to target next, and whether the player is new, intermediate or
experienced.
Args:
secdim_username: The player's SecDim username (e.g. "alice")
Returns:
Dictionary with scores, challenges_solved breakdown, skills (languages
and technologies), completed_challenges list, security_interests,
experience_estimate and guidance. If the user doesn't exist or an error
occurs, returns an error dict.
| Not declared | Not declared | Not declared | Not declared |
search
Search for SecDim Play secure coding labs (hands-on, scored challenges).
This tool searches across SecDim Play's hands-on secure coding labs based on the
search query. The backend API handles parsing of vulnerability names, CWE IDs, and OWASP IDs.
Language can be specified using the format "lang:javascript".
Args:
query: Search query that may include:
- Vulnerability names (e.g., "XSS", "SQL injection")
- CWE IDs (e.g., "79")
- OWASP IDs (e.g., "A03:2021")
Examples:
- "XSS lang:javascript" - searches for XSS labs in JavaScript
- "SQL injection lang:Python" - searches for SQL injection labs in Python
- "79" - searches for labs related to CWE-79
Returns:
Dictionary with search results containing:
- results: List of matching SecDim Play labs with id, title, snippet, and metadata
| Not declared | Not declared | Not declared | Not declared |
search_learn_courses
Search SecDim Learn courses.
SecDim Learn provides tutorial-based courses (mixing video, text and hands-on
lab topics) covering secure coding, secure design, vibe coding security, devsecops,
and cloud security. Many courses are complementary or prerequisite to hands-on,
scored SecDim Play challenges/labs.
Use this tool to:
- Browse the SecDim Learn course catalogue
- Find courses related to a topic, language, or technology (e.g. "OWASP Top 10",
"fuzzing", "Python")
Args:
search: Optional search term to filter courses by title, description, or tags.
If omitted, returns the full course catalogue.
Returns:
Dictionary with a "courses" list. Each course includes its title, description,
image, slug, tags, numeric "level" (1=beginner, 2=intermediate, 3=advanced) and
a "difficulty" label.
Use get_learn_course with a course's slug to view its syllabus of topics.
| Not declared | Not declared | Not declared | Not declared |
search_play_challenges
Return a list of hands-on SecDim Play secure coding challenges (labs) related to a detected or suspected vulnerability.
SecDim Play challenges are scored, hands-on labs: find and fix a real vulnerability
in running code to earn points and badges.
Use this tool to:
- Find hands-on SecDim Play labs for specific vulnerabilities like XSS, SQL Injection, etc.
- Explore OWASP Top 10 vulnerabilities and related labs
- Provide additional resources and guides to help developers improve their secure coding skills
For structured tutorial content (text, video, and lab-based courses) on the same
vulnerability, use search_learn_courses (SecDim Learn) instead or in addition.
Args:
search: Search term for the vulnerability (e.g., 'xss', 'sql-injection', 'injection')
cwe: Common Weakness Enumeration (CWE) ID to filter by
owasp: OWASP category to filter by (e.g., 'a03:2021')
technology: Technology or framework to filter by (e.g., 'react', 'django')
language: Programming language to filter by (e.g., 'javascript', 'python')
difficulty: Difficulty level to filter by (e.g., 'trivial', 'easy', 'medium', 'hard')
type: Challenge format to filter by (e.g., 'battle', 'exploitation', 'incident-response')
mitre: MITRE ATT&CK ID to filter by (e.g., 'T1102.003')
SecDim Play challenges (labs) each simulate a real vulnerability. They are scored according to
the following difficulty levels:
- Trivial: Easy to find and path vulnerabilities. It can be completed in 5-10 minutes. 1-15 points.
- Easy: Known vulnerabilities. It can be completed in 10-30 minutes. 16-35 points.
- Medium: Known vulnerabilities but require defence-in-depth patch. It can be completed in 20-30 minutes. 36-70 points.
- Hard: Hard to find or patch vulnerabilities. It can be completed in 30-60 minutes. 71-100 points.
- Battle: SecDim Flagship attack and defence challenge that | Not declared | Not declared | Not declared | Not declared |
Details
- Registry status
- Active
- Published
- Jul 20, 2026
- Updated
- Jul 20, 2026
- Website
- Not given
- Categories (suggested)
- Developer toolsSecuritySuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared