CyberShield-MCP
CyberShield MCP is a comprehensive MCP server designed for autonomous security defense on Windows systems, providing AI-supported tools and diagnostics. It offers secure control through platforms like Claude Desktop and LangChain agents, and facilitates easy integration and deployment via FastAPI and Docker.
🛡️ CyberShield MCP — Servidor MCP de Defensa Autónoma (Windows)
CyberShield MCP es un servidor MCP (Model Context Protocol) completamente funcional diseñado para ejecutar herramientas defensivas, consultar recursos del sistema y tomar decisiones de seguridad con apoyo de inteligencia artificial.
Funciona sobre Windows, expone comandos críticos del sistema de forma segura, y puede ser controlado desde Claude Desktop o mediante agentes LangChain, creando así una defensa contextual, precisa y autónoma.
⚙️ Requisitos y dependencias
💡 Solo compatible con Windows por ahora (utiliza netsh
, ping
, Get-WinEvent
, etc.)
Instalación rápida:
pip install mcp[cli] langchain langchain-ollama fastapi uvicorn requests
Si usás variables de entorno en .env
, ejecutá:
mcp install -f
📂 Estructura del proyecto
cybershield_mcp/
├── server.py # Punto de entrada principal
├── pyproject.toml # Configuración del proyecto (con uv o poetry)
├── README.md # Descripción del proyecto
├── .env # Variables de entorno (si usás `mcp install -f`)
│
├── tools/ # Herramientas de defensa y diagnóstico
│ ├── __init__.py
│ ├── firewall.py # Bloqueo y desbloqueo de puertos/IPs
│ ├── diagnostics.py # Ping y escaneo con nmap
│ ├── logs.py # Análisis de logs con Context
│ ├── hardening.py # Fortalecimiento del sistema
│ ├── agent_response.py # Acciones automáticas y diagnóstico rápido
│ ├── network_watch.py # Conexiones activas y detección de IPs raras
│ ├── eventlog_analyzer.py # Revisión de eventos de seguridad (logins fallidos, privilegios)
│ └── processes.py # Escaneo y gestión de procesos activos
│
├── resources/
│ ├── __init__.py
│ └── firewall_state.py # Consulta del estado actual del firewall
│
├── prompts/
│ ├── __init__.py
│ └── threat_response.py # Prompt para decidir acción ante amenazas
│
├── utils/
│ ├── __init__.py
│ └── commands.py # Funciones comunes para subprocess seguro
│
├── fastapi_mcp_server.py # Exposición HTTP de herramientas MCP para integración externa
├── agent_langchain.py # Agente IA con LangChain + Ollama usando MCP vía FastAPI
├── Dockerfile # Imagen Docker del servidor FastAPI
├── docker-compose.yml # Despliegue simplificado con Docker Compose
🧠 Modos de uso con IA
🧠 Claude Desktop
- Instalar tu servidor en Claude:
uv run mcp install server.py --name "CyberShield Agent"
- Ejecutar el servidor MCP:
uv run mcp dev server.py
- Claude ahora podrá usar frases como:
- "Haz ping a 8.8.8.8"
- "Bloquea la IP 192.168.1.50"
- "Activa el modo cuarentena"
- "¿Estoy bajo ataque?"
🔗 LangChain + Ollama (modo agente autónomo)
- Levantar el servidor FastAPI:
uvicorn fastapi_mcp_server:app --port 4242
- Usar
agent_langchain.py
para lanzar un agente con herramientas como:
bloquear ip automáticamente
diagnóstico del sistema
listar procesos sospechosos
python agent_langchain.py
- El agente decidirá con tu LLM cuándo ejecutar herramientas defensivas (bloqueo, diagnóstico, etc.)
🐳 Integración con Docker
Dockerfile
Ya incluido en el proyecto. Crea una imagen del servidor FastAPI para correr en cualquier entorno.
Para construir y correr:
docker build -t cybershield-api .
docker run -p 4242:4242 --name cybershield cybershield-api
O con docker-compose
:
docker-compose up --build
Esto te da:
- Reproducibilidad
- Despliegue rápido
- Entorno controlado
- Posibilidad de llevar tu MCP a servidores Linux sin instalación directa
🧪 Testing con MCP Inspector
Corré:
uv run mcp dev server.py
Y abrí el Inspector Web cuando interactúes con Claude o LangChain.
Podés ver:
- Funciones ejecutadas
- Argumentos pasados
- Tiempos de respuesta y errores
💬 Ejemplos rápidos (Claude o LangChain)
🛠 @tool
: do_ping(host: str)
"Haz ping a 8.8.8.8"
📦 @resource
: firewall://rules
"Muéstrame las reglas activas del firewall"
🧠 @prompt
: suggest_block_action(threat_description)
"He detectado conexiones sospechosas desde 192.168.1.42. ¿Qué debería hacer?"
🔗 FastAPI
🧰 ¿Qué podés hacer con CyberShield MCP?
✅ Automatizar defensa en sistemas Windows
✅ Ejecutar comandos críticos mediante IA
✅ Fortalecer el sistema y reducir superficie de ataque
✅ Coordinar respuestas desde agentes IA o modelos conversacionales
✅ Exponer herramientas como endpoints HTTP para integraciones más amplias
✅ Desplegarlo fácilmente en cualquier entorno con Docker
¿Listo para una defensa con cerebro? Clonalo, conectalo con Claude o tu agente LangChain, ¡y empezá a blindar tu sistema! 💥