oracle-mcp-v1
Version:
Servidor MCP completo para Oracle Database com operações DDL, DML, DCL, monitoramento e auditoria
174 lines (133 loc) • 7.49 kB
Markdown
# 🚀 Oracle Node MCP Server
[](https://badge.fury.io/js/oracle-mcp-v1)
[](https://www.npmjs.com/package/oracle-mcp-v1)
[](https://github.com/lrferr/oracle-node-mcp/stargazers)
[](https://opensource.org/licenses/MIT)
Um servidor MCP (Model Context Protocol) para monitoramento e interação com Oracle Database, desenvolvido em Node.js com suporte a **múltiplas conexões simultâneas**.
> **Nota:** Este é o README principal do projeto. Para documentação completa, consulte os links abaixo.
**📚 [Documentação Completa](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/README.md) | 📖 [English](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/en/README-EN.md) | 🇧🇷 [Português](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/pt/README.md)**
## ✨ Funcionalidades Principais
- **🔗 Múltiplas Conexões** - Conecte-se a vários bancos Oracle simultaneamente
- **📊 Monitoramento** - Saúde do banco, performance e métricas em tempo real
- **🛡️ Segurança** - Validação de scripts de migração e operações seguras
- **⚡ Performance** - Pool de conexões otimizado para cada ambiente
- **🔧 Administração** - DDL, DML e DCL operations completas
- **📱 Integração** - Compatível com Cursor IDE e Claude Desktop
## 🚀 Início Rápido
### 1. Instalação
```bash
npm install -g oracle-mcp-v1
```
### 2. Configuração MCP (Cursor/Claude Desktop)
Adicione a seguinte configuração ao seu arquivo `mcp.json`:
```json
{
"mcpServers": {
"oracle-monitor": {
"command": "npx",
"args": ["oracle-mcp-v1@latest"],
"env": {
"MCP_SERVER_NAME": "oracle-monitor",
"MCP_SERVER_VERSION": "1.0.0",
"LOG_LEVEL": "info",
"ORACLE_CLIENT_PATH": "C:\\oracle\\instantclient_21_8",
"ORACLE_CONNECTIONS": "{\"connections\":{\"prod\":{\"user\":\"seu_usuario\",\"password\":\"sua_senha\",\"connectString\":\"servidor:porta/servico\",\"description\":\"Production Database\"}},\"defaultConnection\":\"prod\"}"
}
}
}
}
```
**Para múltiplas conexões:**
```json
{
"mcpServers": {
"oracle-monitor": {
"command": "npx",
"args": ["oracle-mcp-v1@latest"],
"env": {
"MCP_SERVER_NAME": "oracle-monitor",
"MCP_SERVER_VERSION": "1.0.0",
"LOG_LEVEL": "info",
"ORACLE_CLIENT_PATH": "C:\\oracle\\instantclient_21_8",
"ORACLE_CONNECTIONS": "{\"connections\":{\"hml\":{\"user\":\"usuario_hml\",\"password\":\"senha_hml\",\"connectString\":\"servidor_hml:1521/hml01\",\"description\":\"Homologação Database\"},\"prod\":{\"user\":\"usuario_prod\",\"password\":\"senha_prod\",\"connectString\":\"servidor_prod:1529/prod01\",\"description\":\"Production Database\"}},\"defaultConnection\":\"prod\"}"
}
}
}
}
```
### 3. Configuração Automática (Opcional)
```bash
# Configurar Cursor IDE automaticamente
npx oracle-mcp setup-cursor
# Diagnosticar problemas de conectividade
npx oracle-mcp diagnose
# Testar conexão Oracle
npx oracle-mcp test-connection
```
### 4. Múltiplas Conexões
```bash
# Configurar múltiplas conexões
npm run setup-multi-connections
# Testar todas as conexões
npm run demo-multi-connections
```
## 📚 Documentação
### 🇧🇷 Português
- **[Documentação Principal](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/pt/README.md)** - Guia completo
- **[Múltiplas Conexões](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/pt/guides/MULTIPLE-CONNECTIONS.md)** - Guia de múltiplas conexões
- **[Resolução de Problemas](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/pt/guides/TROUBLESHOOTING-ORACLE-CONNECTIVITY.md)** - Guia de troubleshooting
- **[API Reference](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/pt/api/README.md)** - Referência completa da API
- **[Exemplos](https://github.com/lrferr/oracle-node-mcp/tree/HEAD/documentation/pt/examples)** - Exemplos práticos
### 🇺🇸 English
- **[Main Documentation](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/en/README-EN.md)** - Complete guide
- **[Troubleshooting Guide](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/en/guides/TROUBLESHOOTING-ORACLE-CONNECTIVITY-EN.md)** - Troubleshooting guide
- **[Multiple Connections](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/en/guides/MULTIPLE-CONNECTIONS-EN.md)** - Multiple connections guide
- **[API Reference](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/en/api/README.md)** - Complete API reference
- **[Examples](https://github.com/lrferr/oracle-node-mcp/tree/HEAD/documentation/en/examples)** - Practical examples
## 🛠️ Ferramentas Disponíveis
### 🔗 Múltiplas Conexões
- `list_connections` - Lista todas as conexões
- `test_connection` - Testa conexão específica
- `test_all_connections` - Testa todas as conexões
- `get_connections_status` - Status das conexões ativas
### 📊 Monitoramento
- `check_database_health` - Verifica saúde do banco
- `monitor_schema_changes` - Monitora mudanças em esquemas
- `check_sensitive_tables` - Verifica tabelas sensíveis
- `detect_suspicious_activity` - Detecta atividades suspeitas
### 🔧 Administração
- **DDL**: `create_table`, `alter_table`, `drop_table`
- **DML**: `select_data`, `insert_data`, `update_data`, `delete_data`
- **DCL**: `create_user`, `grant_privileges`, `revoke_privileges`
### 🔍 Análise
- `get_table_info` - Informações detalhadas da tabela
- `get_constraints` - Lista constraints
- `get_foreign_keys` - Lista chaves estrangeiras
- `get_indexes` - Lista índices
- `analyze_table` - Analisa tabela e gera estatísticas
## 🎯 Casos de Uso
- **Desenvolvimento Multi-Ambiente**: Dev → Test → Staging → Produção
- **Monitoramento Centralizado**: Um dashboard para todos os ambientes
- **Migração de Dados**: Transferir dados entre ambientes
- **Backup e Restore**: Operações em bancos de backup
- **Analytics**: Conexões com data warehouses
## 📋 Pré-requisitos
- Node.js 18.0.0 ou superior
- Oracle Database 11g ou superior
- Acesso ao banco com privilégios adequados
## 🤝 Contribuição
Contribuições são bem-vindas! Consulte o arquivo [CONTRIBUTING.md](CONTRIBUTING.md) para mais detalhes.
## 📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
## 🆘 Suporte
Para suporte e dúvidas:
1. Consulte a [documentação completa](https://github.com/lrferr/oracle-node-mcp/blob/HEAD/documentation/README.md)
2. Abra uma issue no GitHub
3. Verifique os logs para erros específicos
## 📚 Recursos Adicionais
- [📦 Pacote NPM](https://www.npmjs.com/package/oracle-mcp-v1)
- [🐙 Repositório GitHub](https://github.com/lrferr/oracle-node-mcp)
- [📖 Documentação Oracle](https://docs.oracle.com/en/database/)
- [🔗 Model Context Protocol](https://modelcontextprotocol.io/)
---
**Desenvolvido com ❤️ por Leandro Ferreira**