OctoWatch DLP MCP Server
Servidor MCP para OctoWatch DLP (Nuvem ou On-Premise)
Documentação
Servidor MCP OctoWatch DLP
Pacote PyPI: octowatch-mcp · produto: octowatchdlp.com (não relacionado a outros produtos chamados “OctoWatch”).
Servidor Model Context Protocol (MCP) somente leitura para OctoWatch DLP Cloud — monitoramento de funcionários e prevenção de perda de dados. Pergunte ao Cursor, Claude ou VS Code sobre riscos, tempo ocioso, produtividade e monitoramento em linguagem natural.
- Produto: octowatchdlp.com
- Documentação do produto: octowatchdlp.com/docs/
- Console Web: app.octowatchdlp.com
- Catálogo de API no aplicativo: app.octowatchdlp.com/api/
SDK MCP Python v2 (MCPServer). Construído para SecOps e gestores — companheiro de código aberto do console OctoWatch.
Conteúdo: Status · Onde nos encontrar · Pré-requisitos · Exemplos de perguntas · Segurança · Limitações · Início rápido · Sua conta · Ferramentas · Configuração · Documentação · Contribuição
Status
Alpha (v0.5.1). APIs e formatos de ferramentas podem mudar; fixe uma versão do PyPI em configurações de produção.
Falhas de ferramentas retornam MCP is_error (ToolError). Todas as ferramentas anunciam read_only_hint.
Onde nos encontrar
O MCP roda localmente (sem MCP hospedado pela ExtrLabs). Os catálogos apontam para PyPI / GitHub; você fornece o login do Cloud via env.
| Canal | Link |
|---|---|
| PyPI | octowatch-mcp |
| Registro MCP Oficial | io.github.extralabs/octowatch-mcp |
| GitHub | extralabs/octowatch-mcp-server |
| Cursor Marketplace | Manifesto do plugin .cursor-plugin — formulário de publicação (revisão manual) |
| Diretórios | Glama · mcpservers.org · mcpfind.org · mcpmarket.com · PulseMCP · awesome-mcp-servers#13003 (mcp.so ignorado — pago) |
| cursor.directory | Open Plugins: raiz .mcp.json + .cursor-plugin/plugin.json — reenvie após estes estarem em main |
Notas para mantenedores de diretórios / Marketplaces: docs/distribution.md.
Pré-requisitos
- Python 3.10+
- Um host compatível com MCP (Cursor, Claude Desktop, VS Code, …)
- Acesso de rede ao host da sua API Cloud (padrão
https://cloud.octowatchdlp.com)
Exemplos de perguntas
- “Quais Riscos no último dia?”
- “Quem ficou ocioso por mais tempo ontem?”
- “Resumo de produtividade para Contabilidade”
- “Mostrar teclas de Monitoramento para Emily”
- “Encontrar palavra-chave
invoiceno monitoramento da semana passada” - “Listar usuários e grupos”
Cenários curtos
| Objetivo | Pergunte algo como… |
|---|---|
| DLP / ocorrências de política | “Resuma os riscos de hoje por usuário e regra” |
| Tempo ocioso (sem alertas formais) | “Quem ficou ocioso mais de 2 horas ontem?” |
| Principais apps/sites | “Principais aplicativos para o grupo Contabilidade nos últimos 7 dias” |
| Busca por palavra-chave | “Pesquise no monitoramento por confidential nos últimos 30 dias” |
| Diretório | “Liste usuários e grupos e mostre informações do AliasID 4” |
Segurança e privacidade
Os padrões usam a conta demo pública.
Não coloque senhas de produção na configuração do MCP ou no git. Use variáveis de ambiente e um operador de console com privilégios mínimos.
Sem gravações, sem downloads de binários de capturas de tela/vídeo.
As respostas do monitoramento podem conter dados sensíveis de funcionários (atividade, trechos de teclas, metadados de e-mail). Trate a saída das ferramentas como confidencial. Política completa: SECURITY.md.
Limitações
- Somente leitura — não substitui o console completo (Console Web)
- Sem downloads de binários de capturas de tela/vídeo (apenas metadados do stream)
- Não é um espelho da documentação do produto ou do catálogo REST — esses permanecem em docs e /api/
- Alpha — espere mudanças significativas entre versões menores até 1.0
Início rápido (PyPI)
Use os selos Instalar no topo deste README (Cursor / VS Code; credenciais demo). Primeiro, garanta que a CLI esteja disponível:
pip install octowatch-mcp
Ou configure manualmente — exemplo para mcpServers estilo Cursor / Claude (credenciais demo):
{
"mcpServers": {
"octowatch": {
"command": "octowatch-mcp",
"env": {
"OCTOWATCH_API_BASE": "https://cloud.octowatchdlp.com",
"OCTOWATCH_EMAIL": "demo@octowatchdlp.com",
"OCTOWATCH_PASSWORD": "demo"
}
}
}
}
Arquivos prontos: examples/cursor-mcp-pypi.json, examples/claude-desktop-pypi.json. Passos por host: docs/hosts.md.
Reinicie o host e tente: “Usando OctoWatch, com quem estou logado?” ou “Liste riscos da última semana.”
As credenciais demo funcionam sem .env. Seja gentil com o tenant demo compartilhado (evite loops agressivos de agentes).
A partir do código-fonte
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
Use examples/cursor-mcp.json / examples/claude-desktop.json e defina cwd para o seu clone (Windows: D:\\path\\to\\octowatch-mcp-server).
ChatGPT e outros hosts
Não há um único arquivo de configuração JSON público para ChatGPT que enviemos ainda — ChatGPT / produtos similares geralmente usam conectores MCP remotos em vez de um processo local command stdio.
- Para agentes desktop locais, prefira Cursor, Claude Desktop ou VS Code com os exemplos acima.
- Se o seu host suportar MCP personalizado via HTTP, você pode executar
octowatch-mcp --transport streamable-http(somente localhost por padrão) e registrar esse endpoint conforme a documentação do host — veja docs/hosts.md.
Sua conta (e-mail / senha)
O OctoWatch Cloud ainda exige um login no console. O MCP não armazena senhas para você — o host as passa como env do processo.
| Modo | O que definir |
|---|---|
| Demo (experimentação) | Padrões / selos Instalar: demo@octowatchdlp.com / demo |
| Seu tenant | E-mail e senha do seu operador com privilégios mínimos no MCP env (ou plugin Configurar do Cursor) |
| Variável | Significado |
|---|---|
OCTOWATCH_EMAIL | E-mail do operador do console |
OCTOWATCH_PASSWORD | Senha do console (isSecret nos metadados do Registro) |
OCTOWATCH_API_BASE | Host da API Cloud se não for o cloud público padrão |
Recomendado: coloque-os no bloco env do JSON do host MCP — examples/cursor-mcp-pypi-with-env.json / examples/claude-desktop-pypi-with-env.json. Variáveis do plugin Cursor: .cursor-plugin/plugin.json.
Alternativamente, para uma instalação a partir do código-fonte, copie .env.example → .env ao lado do diretório de trabalho do processo.
Nunca envie senhas reais. Verifique os mesmos dados no Console Web. Passo a passo: docs/hosts.md.
Ferramentas principais
| Ferramenta | Área do Cloud | Notas |
|---|---|---|
octowatch_whoami | Sessão de autenticação | Conta / host (sem senha) |
list_users_groups | Árvore de diretórios | Tipo 0 raiz, 1 grupo, 2 usuário |
list_risks | Riscos + Analytics | Padrão mode=summary |
list_anomalies | Alertas | Desvios formais (não ociosidade) |
get_idle_summary | Produtividade | Classificar por InactiveTime |
get_activity_summary | Atividade | Principais apps/sites |
get_timesheet | TimeSheet | Horas trabalhadas vs. esperadas |
get_productivity_summary | Produtividade + analytics | Resumo por usuário |
list_reports | Relatórios | Tarefas agendadas + processamento |
Ferramentas de cobertura do console
| Ferramenta | Área do Cloud | Notas |
|---|---|---|
get_analytics | Analytics | view=overall|disciplina|activity|productivity |
get_dashboard | Dashboard | Widgets; blobs removidos |
get_chrono | Chrono | Linha do tempo |
get_day_structure | Estrutura do dia | list ou detail |
list_monitoring | Monitoramento | Um tipo; compacto por padrão |
search_monitoring | Ferramentas → Pesquisa | filter_key entre tipos |
get_activity_detail | Janela de atividade | Drill-down |
list_online | Ao vivo | Somente presença |
list_stream_meta | Stream | Somente metadados |
list_directory | Editar Get* | usuários/grupos/computadores/… |
get_user_info | Cartão do usuário | AliasID / computador |
get_account_readonly | Conta Get* | Sem Set*/PIN |
list_api_coverage | (estático) | Resumo de lacunas |
Argumentos completos, roteamento e cenários: docs/TOOLS.md.
Prompts/recursos MCP: docs/MCP.md.
Configuração
| Env | Padrão | Significado |
|---|---|---|
OCTOWATCH_API_BASE | https://cloud.octowatchdlp.com | Host da API (serverBase) |
OCTOWATCH_EMAIL | demo@octowatchdlp.com | Operador do console |
OCTOWATCH_PASSWORD | demo | Somente demo por padrão |
OCTOWATCH_DEFAULT_DAYS | 1 | Lookback quando as ferramentas omitem datas/período |
OCTOWATCH_TOOLSETS | all | all | core | console (console inclui core) |
octowatch-mcp # stdio (default)
octowatch-mcp --transport streamable-http # http://127.0.0.1:8000/mcp
Períodos e filtros
Prefira period=today|yesterday|last_7_days|last_30_days, ou date_from / date_to.
- Valores somente de data cobrem o dia calendário completo (
date_to→23:59:59). user_idopcional (AliasID) egroup_idna maioria das ferramentas de leitura.- Corpo POST
TreeviewUsers: todos →NodeType=-666666; grupo →NodeType=14; usuário →NodeType=1.
Documentação
| Doc | Conteúdo |
|---|---|
| docs/README.md | Índice de documentos |
| docs/hosts.md | Instalação por host + seu login |
| docs/TOOLS.md | Referência de ferramentas + quando usar qual |
| docs/MCP.md | Protocolo, recursos, prompts |
| docs/API.md | Auditoria de cobertura MCP (não é um espelho REST completo) |
| docs/troubleshooting.md | Falhas comuns |
| docs/registry.md | Registro MCP Oficial (server.json) |
| docs/distribution.md | Diretórios, Marketplace, canais hospedados adiados |
Produto e console
Roadmap
Planejado (não agendado): orçamentos de payload mais rígidos, limites de taxa no cliente, conclusões de argumentos, ícone do servidor, UI opcional de Apps MCP, avaliações de roteamento de ferramentas. Metadados do Registro: docs/registry.md. Superfície do protocolo: docs/MCP.md.
Contribuição
Veja CONTRIBUTING.md. Changelog: CHANGELOG.md. Problemas: GitHub Issues.
Licença
MIT — veja LICENSE.