OctoWatch DLP MCP Server
Servidor MCP para OctoWatch DLP (Cloud o On-Premise)
Documentación
Servidor MCP OctoWatch DLP
Paquete PyPI: octowatch-mcp · producto: octowatchdlp.com (no relacionado con otros productos llamados "OctoWatch").
Servidor de solo lectura Model Context Protocol (MCP) para OctoWatch DLP Cloud monitoreo de empleados y prevención de pérdida de datos — pregúntale a Cursor, Claude o VS Code sobre riesgos, tiempo de inactividad, productividad y monitoreo en lenguaje natural.
- Producto: octowatchdlp.com
- Documentación del producto: octowatchdlp.com/docs/
- Consola web: app.octowatchdlp.com
- Catálogo de API en la aplicación: app.octowatchdlp.com/api/
SDK de Python MCP v2 (MCPServer). Construido para SecOps y gerentes — compañero de código abierto de la consola OctoWatch.
Contenido: Estado · Dónde encontrarnos · Requisitos previos · Preguntas de ejemplo · Seguridad · Limitaciones · Inicio rápido · Tu cuenta · Herramientas · Configuración · Documentación · Contribuciones
Estado
Alfa (v0.5.1). Las API y las formas de las herramientas pueden cambiar; fija una versión de PyPI en configuraciones de producción.
Los fallos de herramientas devuelven MCP is_error (ToolError). Todas las herramientas anuncian read_only_hint.
Dónde encontrarnos
El MCP se ejecuta localmente (sin MCP alojado por ExtrLabs). Los catálogos apuntan a PyPI / GitHub; tú proporcionas el inicio de sesión de Cloud mediante variables de entorno.
| Canal | Enlace |
|---|---|
| PyPI | octowatch-mcp |
| Registro oficial de MCP | io.github.extralabs/octowatch-mcp |
| GitHub | extralabs/octowatch-mcp-server |
| Marketplace de Cursor | Manifiesto del plugin .cursor-plugin — formulario de publicación (revisión manual) |
| Directorios | Glama · mcpservers.org · mcpfind.org · mcpmarket.com · PulseMCP · awesome-mcp-servers#13003 (mcp.so omitido — de pago) |
| cursor.directory | Open Plugins: raíz .mcp.json + .cursor-plugin/plugin.json — reenviar después de que estén en main |
Notas para mantenedores de directorios / marketplaces: docs/distribution.md.
Requisitos previos
- Python 3.10+
- Un host compatible con MCP (Cursor, Claude Desktop, VS Code, …)
- Acceso de red a tu host de API de Cloud (por defecto
https://cloud.octowatchdlp.com)
Preguntas de ejemplo
- "¿Qué Riesgos hubo en el último día?"
- "¿Quién estuvo inactivo más tiempo ayer?"
- "Resumen de productividad para Contabilidad"
- "Mostrar pulsaciones de teclado de Monitoreo para Emily"
- "Buscar la palabra clave
invoiceen el monitoreo de la semana pasada" - "Listar usuarios y grupos"
Escenarios cortos
| Objetivo | Pregunta algo como… |
|---|---|
| DLP / coincidencias de políticas | "Resume los riesgos de hoy por usuario y regla" |
| Tiempo de inactividad (no alertas formales) | "¿Quién estuvo inactivo más de 2 horas ayer?" |
| Principales aplicaciones/sitios | "Principales aplicaciones para el grupo Contabilidad en los últimos 7 días" |
| Búsqueda de palabras clave | "Busca en el monitoreo confidential en los últimos 30 días" |
| Directorio | "Lista usuarios y grupos, luego muestra información para AliasID 4" |
Seguridad y privacidad
Los valores predeterminados usan la cuenta demo pública.
No pongas contraseñas de producción en la configuración de MCP ni en git. Usa variables de entorno y un operador de consola con privilegios mínimos.
Sin escrituras, sin descargas de binarios de capturas de pantalla/video.
Las respuestas de monitoreo pueden contener datos sensibles de empleados (actividad, fragmentos de pulsaciones de teclado, metadatos de correo). Trata la salida de las herramientas como confidencial. Política completa: SECURITY.md.
Limitaciones
- Solo lectura — no es un reemplazo completo de la consola (Consola web)
- Sin descargas de binarios de capturas de pantalla/video (solo metadatos de transmisión)
- No es un espejo de la documentación del producto ni del catálogo REST — esos permanecen en docs y /api/
- Alfa — espera cambios importantes entre versiones menores hasta 1.0
Inicio rápido (PyPI)
Usa las insignias de Instalación en la parte superior de este README (Cursor / VS Code; credenciales demo). Primero asegúrate de que la CLI esté disponible:
pip install octowatch-mcp
O configura manualmente — ejemplo para Cursor / estilo Claude mcpServers (credenciales demo):
{
"mcpServers": {
"octowatch": {
"command": "octowatch-mcp",
"env": {
"OCTOWATCH_API_BASE": "https://cloud.octowatchdlp.com",
"OCTOWATCH_EMAIL": "demo@octowatchdlp.com",
"OCTOWATCH_PASSWORD": "demo"
}
}
}
}
Archivos listos: examples/cursor-mcp-pypi.json, examples/claude-desktop-pypi.json. Pasos por host: docs/hosts.md.
Reinicia el host y luego prueba: "Usando OctoWatch, ¿con quién estoy conectado?" o "Lista los riesgos de la última semana."
Las credenciales demo funcionan sin un .env. Sé amable con el tenant demo compartido (evita bucles agresivos de agentes).
Desde el código fuente
git clone https://github.com/extralabs/octowatch-mcp-server.git
cd octowatch-mcp-server
python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
pip install -e .
cp .env.example .env # optional
python -m octowatch_mcp
Usa examples/cursor-mcp.json / examples/claude-desktop.json y establece cwd a tu clon (Windows: D:\\path\\to\\octowatch-mcp-server).
ChatGPT y otros hosts
No hay una configuración JSON pública única de ChatGPT que enviemos todavía — ChatGPT / productos similares a menudo usan conectores MCP remotos en lugar de un proceso local command stdio.
- Para agentes de escritorio locales, prefiere Cursor, Claude Desktop o VS Code con los ejemplos anteriores.
- Si tu host admite MCP personalizado sobre HTTP, puedes ejecutar
octowatch-mcp --transport streamable-http(solo localhost por defecto) y registrar ese endpoint según la documentación del host — consulta docs/hosts.md.
Tu cuenta (correo / contraseña)
OctoWatch Cloud aún necesita un inicio de sesión de consola. El MCP no almacena contraseñas por ti — el host las pasa como variables de entorno del proceso.
| Modo | Qué configurar |
|---|---|
| Demo (prueba) | Valores predeterminados / insignias de instalación: demo@octowatchdlp.com / demo |
| Tu tenant | Correo y contraseña de tu operador con privilegios mínimos en MCP env (o plugin de Cursor Configurar) |
| Variable | Significado |
|---|---|
OCTOWATCH_EMAIL | Correo del operador de consola |
OCTOWATCH_PASSWORD | Contraseña de consola (isSecret en metadatos del Registro) |
OCTOWATCH_API_BASE | Host de API de Cloud si no es la nube pública predeterminada |
Recomendado: ponlos en el bloque env del JSON del host MCP — examples/cursor-mcp-pypi-with-env.json / examples/claude-desktop-pypi-with-env.json. Variables del plugin de Cursor: .cursor-plugin/plugin.json.
Alternativamente, para una instalación desde el código fuente, copia .env.example → .env junto al directorio de trabajo del proceso.
Nunca confirmes contraseñas reales. Verifica los mismos datos en la Consola web. Tutorial: docs/hosts.md.
Herramientas principales
| Herramienta | Área de Cloud | Notas |
|---|---|---|
octowatch_whoami | Sesión de autenticación | Cuenta / host (sin contraseña) |
list_users_groups | Árbol de directorio | Tipo 0 raíz, 1 grupo, 2 usuario |
list_risks | Riesgos + Analíticas | Por defecto mode=summary |
list_anomalies | Alertas | Desviaciones formales (no inactividad) |
get_idle_summary | Productividad | Clasificar por InactiveTime |
get_activity_summary | Actividad | Principales aplicaciones/sitios |
get_timesheet | TimeSheet | Horas trabajadas vs esperadas |
get_productivity_summary | Productividad + analíticas | Resumen por usuario |
list_reports | Informes | Programados + tareas de procesamiento |
Herramientas de cobertura de consola
| Herramienta | Área de Cloud | Notas |
|---|---|---|
get_analytics | Analíticas | view=overall|disciplina|activity|productivity |
get_dashboard | Panel | Widgets; blobs eliminados |
get_chrono | Chrono | Línea de tiempo |
get_day_structure | Estructura del día | list o detail |
list_monitoring | Monitoreo | Un tipo; compacto por defecto |
search_monitoring | Herramientas → Búsqueda | filter_key entre tipos |
get_activity_detail | Ventana de actividad | Profundización |
list_online | En vivo | Solo presencia |
list_stream_meta | Transmisión | Solo metadatos |
list_directory | Editar Get* | usuarios/grupos/computadoras/… |
get_user_info | Tarjeta de usuario | AliasID / computadora |
get_account_readonly | Cuenta Get* | Sin Set*/PIN |
list_api_coverage | (estático) | Resumen de brechas |
Argumentos completos, enrutamiento y escenarios: docs/TOOLS.md.
Prompts/recursos de MCP: docs/MCP.md.
Configuración
| Env | Predeterminado | Significado |
|---|---|---|
OCTOWATCH_API_BASE | https://cloud.octowatchdlp.com | Host de API (serverBase) |
OCTOWATCH_EMAIL | demo@octowatchdlp.com | Operador de consola |
OCTOWATCH_PASSWORD | demo | Solo demo por defecto |
OCTOWATCH_DEFAULT_DAYS | 1 | Retroceso cuando las herramientas omiten fechas/período |
OCTOWATCH_TOOLSETS | all | all | core | console (la consola incluye el núcleo) |
octowatch-mcp # stdio (default)
octowatch-mcp --transport streamable-http # http://127.0.0.1:8000/mcp
Períodos y filtros
Prefiere period=today|yesterday|last_7_days|last_30_days, o date_from / date_to.
- Los valores solo de fecha cubren el día calendario completo (
date_to→23:59:59). - Opcional
user_id(AliasID) ygroup_iden la mayoría de las herramientas de lectura. - Cuerpo POST
TreeviewUsers: todo →NodeType=-666666; grupo →NodeType=14; usuario →NodeType=1.
Documentación
| Doc | Contenido |
|---|---|
| docs/README.md | Índice de documentos |
| docs/hosts.md | Instalación por host + tu inicio de sesión |
| docs/TOOLS.md | Referencia de herramientas + cuándo-usar-cuál |
| docs/MCP.md | Protocolo, recursos, prompts |
| docs/API.md | Auditoría de cobertura de MCP (no un espejo REST completo) |
| docs/troubleshooting.md | Fallos comunes |
| docs/registry.md | Registro oficial de MCP (server.json) |
| docs/distribution.md | Directorios, Marketplace, canales alojados diferidos |
Producto y consola
Hoja de ruta
Planificado (no programado): presupuestos de payload más ajustados, límites de tasa del lado del cliente, completaciones de argumentos, ícono del servidor, UI opcional de aplicaciones MCP, evaluaciones de enrutamiento de herramientas. Metadatos del Registro: docs/registry.md. Superficie del protocolo: docs/MCP.md.
Contribuciones
Consulta CONTRIBUTING.md. Registro de cambios: CHANGELOG.md. Problemas: GitHub Issues.
Licencia
MIT — consulta LICENSE.