# Testes de Prompts - Active Directory MCP
## Pré-requisitos
- Servidor MCP rodando (PM2)
- Token de autenticação válido
- Cliente configurado (Skills, Ramada ou Wink)
---
## 1. Health Check
```bash
curl http://mcp.servidor.one:8850/health
```
**Resposta esperada:**
```json
{
"status": "healthy",
"service": "mcp-ad-skills-http",
"ldap_connection": "connected"
}
```
---
## 2. Listar Prompts Disponíveis
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "list_prompts",
"arguments": {}
},
"id": 1
}'
```
**Validação:**
- `success: true`
- `total: 15`
- `categories.gestores`: array com 7 prompts
- `categories.analistas`: array com 8 prompts
---
## 3. Teste de Prompts para Gestores
### 3.1 Security Audit (sem disabled)
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_security_audit",
"arguments": {
"include_disabled": false
}
}
},
"id": 1
}'
```
**Validação:**
- `prompt_name: "ad_security_audit"`
- `format: "detalhado"`
- Mensagens contêm instruções para executar `get_inactive_users`, `get_password_policy_violations`, `get_privileged_groups`
### 3.2 User Growth Trends
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_user_growth_trends",
"arguments": {
"period_months": 6
}
}
},
"id": 1
}'
```
**Validação:**
- `prompt_name: "ad_user_growth_trends"`
- `format: "compacto"`
- Mensagens contêm instruções para `list_users` com análise de crescimento
### 3.3 Group Policy Compliance
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_group_policy_compliance",
"arguments": {
"policy_type": "password"
}
}
},
"id": 1
}'
```
**Validação:**
- Referências a SOC2, ISO27001, CIS Benchmarks
- Instruções para `get_domain_info`
### 3.4 Privileged Access Review
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_privileged_access_review",
"arguments": {}
}
},
"id": 1
}'
```
**Validação:**
- Instruções para `get_privileged_groups`
- Análise de risco de contas privilegiadas
### 3.5 Password Policy Health
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_password_policy_health",
"arguments": {
"check_expiration": true
}
}
},
"id": 1
}'
```
**Validação:**
- Instruções para `get_password_policy_violations` e `get_domain_info`
### 3.6 Inactive Account Report
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_inactive_account_report",
"arguments": {
"inactive_days": 90
}
}
},
"id": 1
}'
```
**Validação:**
- Instruções para `get_inactive_users` e `get_stale_computers`
### 3.7 Licensing Optimization
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_licensing_optimization",
"arguments": {
"license_type": "E3"
}
}
},
"id": 1
}'
```
**Validação:**
- Análise de otimização de licenças M365
- Instruções para `list_users` e `get_inactive_users`
---
## 4. Teste de Prompts para Analistas
### 4.1 User Lookup
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_user_lookup",
"arguments": {
"search_term": "administrador"
}
}
},
"id": 1
}'
```
**Validação:**
- `prompt_name: "ad_user_lookup"`
- `format: "compacto"`
- Instruções para `get_user` e `get_user_groups`
### 4.2 Password Reset Guide
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_password_reset_guide",
"arguments": {
"username": "teste.usuario"
}
}
},
"id": 1
}'
```
**Validação:**
- Checklist de segurança pré-reset
- Instruções para `get_user` e `reset_user_password`
### 4.3 User Onboarding
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_user_onboarding",
"arguments": {
"username": "novo.usuario",
"template_user": "usuario.modelo"
}
}
},
"id": 1
}'
```
**Validação:**
- Checklist completo de onboarding
- Instruções para `get_user_groups` do template e `create_user`
### 4.4 User Offboarding
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_user_offboarding",
"arguments": {
"username": "saindo.usuario"
}
}
},
"id": 1
}'
```
**Validação:**
- ⚠️ Avisos de backup obrigatório
- Instruções para `disable_user`, `get_user_groups`, `remove_group_member`
### 4.5 Group Membership Check
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_group_membership_check",
"arguments": {
"username": "administrador"
}
}
},
"id": 1
}'
```
**Validação:**
- Categorização de grupos (administrativos, departamento, aplicativos, distribuição)
- Instruções para `get_user_groups`
### 4.6 Account Unlock
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_account_unlock",
"arguments": {
"username": "bloqueado.usuario"
}
}
},
"id": 1
}'
```
**Validação:**
- Validações de segurança (bloqueios repetidos)
- Instruções para `get_user` e `modify_user` com lockoutTime=0
### 4.7 Permission Troubleshooting
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_permission_troubleshooting",
"arguments": {
"username": "usuario.teste",
"resource_path": "\\\\servidor\\compartilhamento"
}
}
},
"id": 1
}'
```
**Validação:**
- Diagnóstico completo (conta, grupos, permissões efetivas, GPOs)
- Instruções para `get_user`, `get_user_groups`, `get_user_permissions`
### 4.8 Computer Join Guide
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_computer_join_guide",
"arguments": {
"computer_name": "NOVO-PC-01"
}
}
},
"id": 1
}'
```
**Validação:**
- Pré-requisitos (DNS, LDAP, Kerberos)
- Instruções para `create_computer`
- Troubleshooting de erros comuns
---
## 5. Testes de Validação
### 5.1 Prompt Inexistente
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_prompt_inexistente",
"arguments": {}
}
},
"id": 1
}'
```
**Validação:**
- `success: false`
- `error: "Prompt 'ad_prompt_inexistente' não encontrado"`
- `available`: array com prompts válidos
### 5.2 Argumento Obrigatório Faltando
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer 95742b66cf903e44cdfc5fd0c8120fb963a80e6514d09a87fe8c4a465dd793b3' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_user_lookup",
"arguments": {}
}
},
"id": 1
}'
```
**Validação:**
- `success: false`
- `error: "Parâmetro 'search_term' é obrigatório"`
---
## 6. Teste Multi-Tenant
### Skills IT (porta 8850)
```bash
curl -X POST http://mcp.servidor.one:8850/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TOKEN_SKILLS' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_user_lookup",
"arguments": {"search_term": "teste"}
}
},
"id": 1
}'
```
### Ramada (porta 8851)
```bash
curl -X POST http://mcp.servidor.one:8851/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TOKEN_RAMADA' \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_prompt",
"arguments": {
"name": "ad_user_lookup",
"arguments": {"search_term": "teste"}
}
},
"id": 1
}'
```
**Validação:**
- Cada instância usa seu próprio contexto LDAP
- Prompts retornam dados específicos do cliente correto
---
## 7. Checklist de Validação Final
- [ ] Health check OK em todas as instâncias
- [ ] `list_prompts` retorna 15 prompts
- [ ] Todos os 7 prompts de gestores testados
- [ ] Todos os 8 prompts de analistas testados
- [ ] Validação de erro para prompt inexistente
- [ ] Validação de erro para argumento faltando
- [ ] Multi-tenant funcionando (Skills, Ramada, Wink)
- [ ] Formato de resposta consistente (JSON com messages)
- [ ] Prompts contêm instruções em português-BR
- [ ] Schema atualizado com `prompt_tools`
---
**Data de Teste:** _______
**Testado por:** _______
**Status:** [ ] Aprovado [ ] Reprovado
**Observações:** _______