oracle-mcp-v1
Version:
Servidor MCP completo para Oracle Database com operações DDL, DML, DCL, monitoramento e auditoria
363 lines (283 loc) • 8.18 kB
Markdown
# Guia de Configuração - Oracle Node MCP Server
Este guia explica como configurar o servidor MCP Oracle no Cursor e no Claude Desktop.
## 📋 Pré-requisitos
- Node.js 18+ instalado
- Oracle Database acessível
- Cursor IDE ou Claude Desktop
- Credenciais Oracle válidas
## 🚀 Instalação do Servidor MCP
### 1. Instalar Dependências
```bash
# No diretório do projeto
npm install
```
### 2. Configurar Variáveis de Ambiente
```bash
# Copiar arquivo de exemplo
cp env.example .env
# Editar com suas credenciais
nano .env
```
**Exemplo de configuração (.env):**
```env
# Configurações do Oracle Database
ORACLE_HOST=localhost
ORACLE_PORT=1521
ORACLE_SERVICE_NAME=ORCL
ORACLE_USER=seu_usuario
ORACLE_PASSWORD=sua_senha
# Configurações do MCP Server
MCP_SERVER_NAME=oracle-monitor
MCP_SERVER_VERSION=1.0.0
# Configurações de Log
LOG_LEVEL=info
LOG_FILE=logs/oracle-mcp.log
# Configurações de Monitoramento
MONITOR_INTERVAL=300000
CRITICAL_SCHEMAS=HR,SCOTT,SYSTEM
SENSITIVE_TABLES=USERS,ACCOUNTS,TRANSACTIONS
# Configurações de Notificação
NOTIFICATION_ENABLED=true
NOTIFICATION_EMAIL=admin@company.com
```
### 3. Testar Conexão
```bash
# Testar se a conexão Oracle está funcionando
npm run test-connection
```
## 🔧 Configuração no Cursor IDE
### 1. Localizar Arquivo de Configuração MCP
O Cursor usa o mesmo sistema de configuração do Claude Desktop. Localize o arquivo:
**Windows:**
```
%APPDATA%\Claude\claude_desktop_config.json
```
**macOS:**
```
~/Library/Application Support/Claude/claude_desktop_config.json
```
**Linux:**
```
~/.config/claude/claude_desktop_config.json
```
### 2. Configurar Servidor MCP
Adicione a configuração do servidor Oracle ao arquivo `claude_desktop_config.json`:
```json
{
"mcpServers": {
"oracle-monitor": {
"command": "node",
"args": ["C:\\path\\to\\oracle_node_mcp\\src\\index.js"],
"env": {
"ORACLE_HOST": "localhost",
"ORACLE_PORT": "1521",
"ORACLE_SERVICE_NAME": "ORCL",
"ORACLE_USER": "seu_usuario",
"ORACLE_PASSWORD": "sua_senha",
"LOG_LEVEL": "info"
}
}
}
}
```
### 3. Exemplo Completo de Configuração
```json
{
"mcpServers": {
"oracle-monitor": {
"command": "node",
"args": ["C:\\path\\to\\oracle_node_mcp\\src\\index.js"],
"env": {
"ORACLE_HOST": "your-oracle-host.com",
"ORACLE_PORT": "1521",
"ORACLE_SERVICE_NAME": "your_service",
"ORACLE_USER": "your_username",
"ORACLE_PASSWORD": "your_password",
"MCP_SERVER_NAME": "oracle-monitor",
"MCP_SERVER_VERSION": "1.0.0",
"LOG_LEVEL": "info",
"LOG_FILE": "logs/oracle-mcp.log",
"MONITOR_INTERVAL": "300000",
"CRITICAL_SCHEMAS": "HR,SCOTT,SYSTEM",
"SENSITIVE_TABLES": "USERS,ACCOUNTS,TRANSACTIONS",
"NOTIFICATION_ENABLED": "true",
"NOTIFICATION_EMAIL": "admin@company.com"
}
}
}
}
```
## 🔧 Configuração no Claude Desktop
### 1. Localizar Arquivo de Configuração
O arquivo de configuração do Claude Desktop está localizado em:
**Windows:**
```
%APPDATA%\Claude\claude_desktop_config.json
```
**macOS:**
```
~/Library/Application Support/Claude/claude_desktop_config.json
```
**Linux:**
```
~/.config/claude/claude_desktop_config.json
```
### 2. Configurar Servidor MCP
Use a mesma configuração mostrada acima para o Cursor.
## 🛠️ Configuração Alternativa (Usando .env)
### 1. Configurar Caminho Absoluto
Se preferir usar o arquivo `.env`, configure o caminho absoluto:
```json
{
"mcpServers": {
"oracle-monitor": {
"command": "node",
"args": ["C:\\path\\to\\oracle_node_mcp\\src\\index.js"],
"cwd": "C:\\path\\to\\oracle_node_mcp"
}
}
}
```
### 2. Usar Script de Inicialização
Crie um script `start-mcp.bat` (Windows) ou `start-mcp.sh` (Linux/macOS):
**start-mcp.bat:**
```batch
@echo off
cd /d "C:\path\to\oracle_node_mcp"
node src\index.js
```
**start-mcp.sh:**
```bash
#!/bin/bash
cd "/path/to/oracle_node_mcp"
node src/index.js
```
E configure no MCP:
```json
{
"mcpServers": {
"oracle-monitor": {
"command": "C:\\path\\to\\oracle_node_mcp\\start-mcp.bat"
}
}
}
```
## 🔍 Verificação da Configuração
### 1. Verificar se o Servidor Está Funcionando
```bash
# No diretório do projeto
npm start
```
Você deve ver uma saída similar a:
```
Servidor MCP Oracle iniciado com sucesso!
```
### 2. Testar no Cursor/Claude Desktop
1. Reinicie o Cursor/Claude Desktop
2. Abra uma nova conversa
3. Digite: "Liste as ferramentas disponíveis do Oracle"
4. O Claude deve responder com a lista de ferramentas MCP
### 3. Testar Conexão Oracle
No Cursor/Claude Desktop, digite:
```
Verifique a saúde do banco de dados Oracle
```
## 🐛 Troubleshooting
### Problema: Servidor não inicia
**Solução:**
1. Verifique se Node.js está instalado: `node --version`
2. Verifique se as dependências estão instaladas: `npm install`
3. Verifique as credenciais Oracle no arquivo `.env`
4. Teste a conexão: `npm run test-connection`
### Problema: Claude não reconhece o servidor
**Solução:**
1. Verifique o caminho do arquivo de configuração
2. Verifique se o arquivo JSON está válido
3. Reinicie o Cursor/Claude Desktop
4. Verifique os logs do servidor
### Problema: Erro de conexão Oracle
**Solução:**
1. Verifique se o Oracle está rodando
2. Verifique host, porta e service name
3. Verifique usuário e senha
4. Verifique se o usuário tem privilégios necessários
### Problema: Caminho não encontrado
**Solução:**
1. Use caminhos absolutos
2. Verifique se o arquivo `src/index.js` existe
3. Use barras duplas no Windows: `C:\\caminho\\arquivo.js`
## 📝 Exemplos de Uso
### 1. Verificar Saúde do Banco
```
Verifique a saúde geral do banco de dados Oracle
```
### 2. Listar Tabelas de um Esquema
```
Liste todas as tabelas do esquema HR
```
### 3. Analisar Constraints
```
Mostre todas as foreign keys do esquema HR
```
### 4. Verificar Performance
```
Analise os índices da tabela EMPLOYEES no esquema HR
```
## 🔧 Configurações Avançadas
### 1. Múltiplos Servidores MCP
```json
{
"mcpServers": {
"oracle-monitor": {
"command": "node",
"args": ["C:\\path\\to\\oracle_node_mcp\\src\\index.js"],
"env": {
"ORACLE_HOST": "localhost",
"ORACLE_PORT": "1521",
"ORACLE_SERVICE_NAME": "ORCL",
"ORACLE_USER": "usuario1",
"ORACLE_PASSWORD": "senha1"
}
},
"oracle-prod": {
"command": "node",
"args": ["C:\\path\\to\\oracle_node_mcp\\src\\index.js"],
"env": {
"ORACLE_HOST": "prod-server",
"ORACLE_PORT": "1521",
"ORACLE_SERVICE_NAME": "PROD",
"ORACLE_USER": "usuario2",
"ORACLE_PASSWORD": "senha2"
}
}
}
}
```
### 2. Configuração com Logs
```json
{
"mcpServers": {
"oracle-monitor": {
"command": "node",
"args": ["C:\\path\\to\\oracle_node_mcp\\src\\index.js"],
"env": {
"ORACLE_HOST": "localhost",
"ORACLE_PORT": "1521",
"ORACLE_SERVICE_NAME": "ORCL",
"ORACLE_USER": "seu_usuario",
"ORACLE_PASSWORD": "sua_senha",
"LOG_LEVEL": "debug",
"LOG_FILE": "logs/oracle-mcp-debug.log"
}
}
}
}
```
## 📚 Recursos Adicionais
- [Documentação MCP](https://modelcontextprotocol.io/)
- [Documentação Oracle Node.js](https://oracle.github.io/node-oracledb/)
- [Cursor IDE Documentation](https://cursor.sh/docs)
- [Claude Desktop Documentation](https://claude.ai/desktop)
- [Repositório GitHub](https://github.com/lrferr/oracle-node-mcp)
---
**💡 Dica:** Mantenha sempre uma cópia de backup do arquivo de configuração antes de fazer alterações!