Server data from the Official MCP Registry
Cybersecurity training, simulation, and incident response MCP server
Cybersecurity training, simulation, and incident response MCP server
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
3 files analyzed · No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
From the project's GitHub README.
CyberSim Pro is a professional-grade Model Context Protocol (MCP) server purpose-built for cybersecurity training, purple-team collaboration, and executive readiness. It equips AI assistants and automation pipelines with structured tools to generate scenarios, simulate adversaries, analyse telemetry, investigate incidents, perform forensics, and publish board-ready reports—all while recording an immutable audit trail.
stop_simulation kill switch, role-based prompt templates, and formal policy & ethics guide.# Clone the repository (or copy into your workspace)
cd cybersim-pro-mcp
# Install dependencies
npm install
# Build TypeScript sources
npm run build
# Start the MCP server over stdio
node build/index.js
# Build the image (from the repo root)
docker build -t cybersim-pro-mcp .
# Launch in stdio mode (for Claude, Cline, etc.)
docker run --rm -i cybersim-pro-mcp
Expose tools to REST clients or GPT Actions.
npm run serve:http # defaults to http://localhost:8787
Secure with environment variables:
CYBERSIM_API_KEY – require Authorization: Bearer <key> headerCYBERSIM_IP_ALLOW – comma-separated list (127.0.0.1,::1,local,203.0.113.10)CYBERSIM_APPROVAL_TOKEN – shared secret required for restricted tools (simulate_attack, stop_simulation, replay_telemetry)CYBERSIM_RBAC_CONFIG – optional path to a JSON role policy (see Role-Based Access & Approvals)./metrics/, ./controls/, and ./logs/ respectively.CYBERSIM_AUDIT_HMAC_KEY (optionally supply CYBERSIM_AUDIT_CHAIN_ID for multi-tenant tracking).CYBERSIM_AUDIT_SEAL_KEY (or reuse the HMAC key) to sign exported seals; set _ENCODING=base64 when providing base64 secrets.npm run audit:seal -- --log ./logs/audit.log --format json.gz
./logs/seals/ (JSON seal plus optional compressed bundle) and include chainHash, chainVerified, signature metadata, and the last approval token event.npm run audit:seal via CI/cron to push weekly bundles into your immutable evidence locker (see .github/workflows/audit-seal.yml for a GitHub Actions example).npm run compliance:report (see docs/COMPLIANCE_ROADMAP.md).Sample health & scenario creation:
curl -s http://localhost:8787/health
curl -s -X POST http://localhost:8787/tool/create_scenario \
-H 'Content-Type: application/json' \
-d '{
"type": "ransomware",
"difficulty": "advanced",
"environment": "corporate",
"sector": "finance",
"adversary_profile": "fin7",
"focus_cves": ["CVE-2024-21410"],
"operator": {"id": "alice", "role": "controller"},
"approval_token": "${CYBERSIM_APPROVAL_TOKEN}"
}' | jq
macOS path: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"cybersim-pro": {
"command": "node",
"args": ["/absolute/path/to/cybersim-pro-mcp/build/index.js"]
}
}
}
For Docker-backed execution:
{
"mcpServers": {
"cybersim-pro-docker": {
"command": "docker",
"args": ["run", "--rm", "-i", "cybersim-pro-mcp"]
}
}
}
Open Command Palette → “Cline: Open MCP Settings” and add:
{
"mcpServers": {
"cybersim-pro": {
"command": "node",
"args": ["/absolute/path/to/cybersim-pro-mcp/build/index.js"]
}
}
}
Wrapper scripts in ./scripts/ support runtime switching via CYBERSIM_RUNTIME.
Each tool can be invoked through MCP clients or directly via the HTTP bridge. Examples below use jq for clarity.
create_scenarioGenerate a tailored scenario with adaptive adversary content.
HTTP Request
curl -s -X POST http://localhost:8787/tool/create_scenario \
-H 'Content-Type: application/json' \
-d '{
"type": "apt",
"difficulty": "expert",
"environment": "cloud",
"sector": "government",
"adversary_profile": "apt29",
"focus_cves": ["CVE-2023-23397"]
}' | jq '.id, .description, .threatIntel'
What you get
SCN-...)Use the returned scenarioId to reference the scenario in follow-up drills, reports, or evidence.
simulate_attackSimulate a multi-phase attack and inspect the command-chain drill-down.
HTTP Request
curl -s -X POST http://localhost:8787/tool/simulate_attack \
-H 'Content-Type: application/json' \
-d '{
"attack_type": "ransomware",
"target": "FILESERVER-001",
"intensity": "high"
}' | jq '{simulationId, commandChain: .commandChain[0:5], phases: [.phases[0].artifacts[0]]}'
Highlights
commandChain array details redacted pseudo commands, safeguards, and MITRE references for each phase.phases include techniques, detection methods, and evidence artefacts.simulationId feeds into stop_simulation or reporting workflows.analyze_networkAnalyse network segments and receive detection artefacts plus coverage insights.
HTTP Request
curl -s -X POST http://localhost:8787/tool/analyze_network \
-H 'Content-Type: application/json' \
-d '{
"network_segment": "DMZ",
"duration": 30,
"focus": ["anomalies", "threats", "vulnerabilities"]
}' | jq '{
statistics: .statistics.bandwidthUtilization,
sigma: .detectionArtifacts.sigma[0],
splunk: .detectionArtifacts.splunk[0].query,
heatmap: .mitreHeatmap[0:3],
integration: .integrationHooks
}'
Output
investigate_incidentRun a timeline-driven investigation with evidence, root cause, containment, and remediation details.
HTTP Request
curl -s -X POST http://localhost:8787/tool/investigate_incident \
-H 'Content-Type: application/json' \
-d '{
"incident_id": "INC-2024-001",
"scope": "deep_dive"
}' | jq '{severity, timeline: .timeline.events[0:3], rootCause, containmentActions[0]}'
Deliverables
forensics_analysisProduce digital forensic artefacts for memory, disk, network, logs, or registry sources.
HTTP Request
curl -s -X POST http://localhost:8787/tool/forensics_analysis \
-H 'Content-Type: application/json' \
-d '{
"artifact_type": "disk",
"system_id": "WORKSTATION-001",
"analysis_depth": "comprehensive"
}' | jq '{artifactSummary: .findings[0], chainOfCustody: .chainOfCustody[0]}'
Expect curated findings, hash validation, custody records, and preservation guidance.
generate_reportGenerate executive, incident, vulnerability, or compliance reports with optional facilitation mode.
HTTP Request
curl -s -X POST http://localhost:8787/tool/generate_report \
-H 'Content-Type: application/json' \
-d '{
"report_type": "executive",
"incident_ids": ["INC-2024-001", "INC-2024-002"],
"include_recommendations": true,
"mode": "facilitation"
}' | jq '{
executiveSummary,
scorecard: .scorecard.metrics,
facilitationKit: .facilitationKit.agenda,
dashboard: .executiveDashboard.heatmap,
roadmap: .maturityRoadmap.milestones,
procurement: .procurementBrief.faqs
}'
Key sections:
stop_simulationKill a single simulation or all active runs with audit logging.
# Stop a specific simulation ID
target="SIM-1759281782112"
curl -s -X POST http://localhost:8787/tool/stop_simulation \
-H 'Content-Type: application/json' \
-d "{\"simulation_id\": \"$target\", \"reason\": \"Executive requested early termination\", \"operator\": {\"id\": \"alice\", \"role\": \"controller\"}, \"approval_token\": \"${CYBERSIM_APPROVAL_TOKEN}\"}"
# Stop everything (returns list of terminated runs)
curl -s -X POST http://localhost:8787/tool/stop_simulation \
-H 'Content-Type: application/json' \
-d '{"operator":{"id":"alice","role":"controller"},"approval_token":"'"${CYBERSIM_APPROVAL_TOKEN}"'"}'
The audit logger records the termination reason, counts, and timestamps for compliance evidence.
replay_telemetryOverlay raw telemetry (PCAP/EDR/SIEM exports) against a live simulation to validate coverage.
HTTP Request
curl -s -X POST http://localhost:8787/tool/replay_telemetry \
-H 'Content-Type: application/json' \
-d '{
"simulation_id": "SIM-1759281782112",
"telemetry": [
{"timestamp":"2024-05-01T10:00:00Z","indicator":"powershell.exe","description":"Beacon to rare domain","techniqueId":"t1059.001"}
],
"operator": {"id": "alice", "role": "controller"},
"approval_token": "'"${CYBERSIM_APPROVAL_TOKEN}"'"
}' | jq '{matchedTechniques, detectionGaps, observations}'
Matched techniques confirm detections fired; detectionGaps highlight phases lacking telemetry coverage. Recommended controls are appended automatically to the compensating-control feed.
list_metricsSummarise readiness metrics across all exercises.
curl -s -X POST http://localhost:8787/tool/list_metrics -H 'Content-Type: application/json' -d '{}' | jq
Outputs include total exercises, reports generated, and average detection/containment times alongside the latest trend entries.
export_controlsExport the consolidated compensating-control feed (detections, automations, gap closures).
curl -s -X POST http://localhost:8787/tool/export_controls -H 'Content-Type: application/json' -d '{}' | jq '.[0:5]'
Each entry includes category, source, priority, and payload ready for SIEM/SOAR ingestion.
sync_risk_registerGenerate REST payloads for governance platforms such as ServiceNow GRC, Archer, or OneTrust.
curl -s -X POST http://localhost:8787/tool/sync_risk_register \
-H 'Content-Type: application/json' \
-d '{
"system": "servicenow",
"incident_id": "INC-2024-001",
"priority": "Critical",
"owner": "risk.governance@example.com"
}' | jq
The response provides the endpoint, HTTP method, payload, and checklist for operators to update the risk register.
generate_validation_reportProduce an auditor-facing summary with hashed proof of recent CyberSim activity.
curl -s -X POST http://localhost:8787/tool/generate_validation_report -H 'Content-Type: application/json' -d '{}' | jq
The digest contains the SHA-256 hash, total entries, and redacted samples suitable for regulator briefings.
PluginRegistry (src/utils/pluginRegistry.ts) lets you register sector or vendor-specific intel providers. Each plugin can inject CVEs, notes, and detection enhancements.threatIntel.pluginInsights referencing contributing providers.Simulations include commandChain entries describing pseudo commands, safeguards, and technique references. Use these to:
Network analysis responses include:
generate_report outputs provide everything needed for leadership alignment:
logs/audit.log (configurable via CYBERSIM_AUDIT_LOG_DIR) and chained with SHA-256 hashes plus optional HMAC signatures (CYBERSIM_AUDIT_HMAC_KEY, CYBERSIM_AUDIT_CHAIN_ID).chainVerified, lastChainHash, and signature provenance.npm run audit:seal produces a signed seal and regulator bundle under logs/seals/, ready for object-lock storage or shareable attestations.npm run compliance:report surfaces control maturity, framework mappings, and roadmap freshness for monthly stakeholder updates.stop_simulation tool halts activity immediately and records the termination reason for traceability.generate_validation_report produces hashed digests and anomaly flags that auditors can cross-check against sealed exports.Identity Roadmap
docs/SSO_SCIM_DESIGN.md; prepare server.json with an identity block and customise config/role-mappings.example.json when enabling the gateway.POST /api/auth/oidc/callback (JSON body with id_token); SAML assertions: POST /api/sso/assert (form-encoded SAMLResponse supported). Fetch SAML metadata via GET /api/sso/metadata./api/scim/v2/Users, /api/scim/v2/Groups) require identity.scim.bearerToken or CYBERSIM_SCIM_TOKEN; weekly audit seal workflow captures provisioning evidence.identity.sso.oidc.mfaSatisfiedAmrValues / mfaSatisfiedAcrValues (defaults recognise common AMR/ACR values); sessions persist until sessionTtlMinutes expires or X-Cybersim-Session token is rotated.provenance block so scenarios, simulations, investigations, forensics, metrics, and control feeds all reference the initiating identity or operator.operator metadata is supplied, allowing downstream tools to align artefacts with human or automated actors even without an active IdP session.npm run migrate:provenance to backfill legacy metrics/control logs with the new provenance fields before exporting historical evidence.simulate_attack, stop_simulation, replay_telemetry) respect role policies defined via CYBERSIM_RBAC_CONFIG.CYBERSIM_APPROVAL_TOKEN), enabling dual-control or change-ticket workflows.sync_risk_register generates ready-to-post payloads for ServiceNow GRC, Archer, OneTrust, or custom systems.export_controls provides the compensating-control feed derived from detection packs, telemetry gaps, and automation hooks.docs/ROLE_BASED_PROMPTS.md.docs/POLICY_AND_ETHICS.md.docs/BENCHMARK_LIBRARY.md.docs/COMMUNITY_PROGRAM.md.main (or community/main when contributing to shared content).npm run build).docs/COMMUNITY_PROGRAM.md.docs/ROLE_BASED_PROMPTS.mddocs/POLICY_AND_ETHICS.mddocs/PLUGIN_ARCHITECTURE.mddocs/BENCHMARK_LIBRARY.mddocs/COMMUNITY_PROGRAM.mdFor assistance:
create_scenario → simulate_attack) to isolate issues.Released under the MIT License. Use, modify, and adapt CyberSim Pro MCP Server for authorised defensive purposes.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.