Skip to main content
Glama
dbolatti

CyberSecurityLab MCP Server

by dbolatti

Cybersecurity MCP Learning Laboratory

This repository is a progressive learning and experimentation laboratory for:

  • Model Context Protocol (MCP)

  • Building cybersecurity MCP servers

  • Studying MCP security

  • Experimenting with AI-assisted software development

Repository Structure

The repository is organized as a monorepo of independent learning laboratories (labs). Each lab is a self-contained OpenCode workspace with its own:

  • Virtual environment (.venv)

  • Dependencies (requirements.txt)

  • OpenCode configuration (opencode.json)

  • MCP server implementation

Labs are located in the labs/ directory and are numbered sequentially to reflect the learning progression.

Related MCP server: Vulnerable MCP Server

Lab Index

Lab

Directory

Status

Description

Lab 01

labs/lab01-basic-mcp

✅ Completed and validated

Basic MCP server with simulated threat intelligence: check_ip tool, security://assets resource, investigate_ioc prompt. Integrated with OpenCode via stdio.

Lab 02

labs/lab02-threat-intel-api

✅ Completed and validated

MCP server wrapping the AbuseIPDB API: check_ip tool with real external API calls. Includes environment variable handling, server-side API key isolation, local input validation before external API invocation, normalized external threat-intelligence responses, distinction between MCP and the underlying REST API, and live external data non-determinism.

Lab 03

labs/lab03-multiple-tools

✅ Implemented

MCP server exposing multiple cybersecurity tools: check_ip, check_hash, and analyze_log. Uses local deterministic logic and simulated data. Demonstrates tool selection by the LLM/agent.

Lab 04

labs/lab04-dynamic-resources

✅ Completed and validated

MCP server demonstrating dynamic MCP Resources: static resources (security://assets, security://events/recent), resource template (security://assets/{asset_id}), and runtime-generated resource (security://runtime/session). Validated OpenCode consumption of MCP Resources, observed context reuse vs fresh reads, and documented security implications.

Lab 05

labs/lab05-siem

✅ Completed and validated

MCP server providing a controlled read-only abstraction layer over a simulated SIEM dataset. Resources: security://siem/events/recent, security://siem/events/{event_id}. Tools: search_events, get_security_summary. Demonstrates distinction between MCP Tools and Resources, resource discovery and URI-based resource access, filtered Tool queries versus direct Resource reads, validation ladder: syntax compilation, import, MCP connectivity, functional behavior, and that activating a virtual environment does not imply dependencies are installed.

Lab 06

labs/lab06-multi-mcp

✅ Completed and validated

Multi-MCP server demonstrating autonomous tool selection across cyber-siem and cyber-ti, evidence fusion, and LLM inference with strict read-only access.

Lab 07

labs/lab07-identity-authorization

✅ Completed and validated

Identity and authorization lab: MCP server enforced authorization server-side; tested alice (events:read) allowed search_events, bob denied; carol (summary:read) allowed get_security_summary, alice denied; unknown identities denied UNKNOWN_IDENTITY; prompt-based authorization bypass attempts failed with ACCESS_DENIED; observed identity-binding limitation where claimed identity influenced authorization; documented security principles and architectural lessons.

Lab 08

labs/lab08-identity-binding

✅ Completed and validated

Authentication and identity binding: MCP server authenticates via CYBERLAB_TOKEN, derives identity server-side, enforces authorization post-authentication, default deny, read-only capabilities.

Lab 09

labs/lab09-hitl-actions

✅ Completed and validated

High-Impact Tools, Human-in-the-Loop and Excessive Agency

Lab 10

labs/lab10-secure-agentic-soc

✅ Implemented and validated

Secure multi-MCP agentic SOC lab with three MCP servers: cyber-soc, cyber-ti, cyber-response. End-to-end workflow: Incident → SOC evidence → Threat Intelligence → correlation/reasoning → proposal → human approval → execution → independent verification.

All labs 01 through 10 have been implemented and validated.

Setup Instructions

  1. Clone the repository

  2. Navigate to a lab directory (e.g., cd labs/lab01-basic-mcp)

  3. Install dependencies: pip install -r requirements.txt

  4. Configure environment variables if required (see lab-specific README)

  5. Launch OpenCode from the lab directory to access the MCP server

Note: Each lab is an independent OpenCode workspace. You must launch OpenCode from within the lab directory to use its configured MCP server.

Security Focus

This laboratory emphasizes secure MCP practices:

  • Secrets (e.g., API keys) are kept outside version control using .env files

  • Internal exceptions are not exposed to the LLM; sanitized error messages are returned

  • Tool descriptions and contracts are carefully crafted to influence correct tool selection by the model

  • Input validation and response normalization prevent injection attacks

  • Each lab builds on previous lessons to progressively introduce security considerations

See ROADMAP.md for the planned learning progression.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A remote MCP server that exposes mock application security testing data (applications, scans, issues) for LLM clients to query security posture using natural language.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides programmatic access to the SOLVE-IT digital forensics knowledge base, enabling LLMs to query, navigate, and search forensic techniques, weaknesses, mitigations, objectives, and citations.
    2
    MIT