OracleDB MCP Server

Um servidor MCP para interagir com Oracle Database, permitindo geração de SQL e recuperação de dados por meio de prompts de LLM.

Documentação

Servidor MCP OracleDB

smithery badge MseeP.ai Security Assessment Badge

Visão Geral

  • Este projeto instalará o MCP - Model Context Protocol Server, que fornece Tabelas/Colunas configuradas do Oracle Database como contexto para LLMs.
  • Usando isso, podemos permitir que LLMs interajam com o Oracle Database, gerem instruções SQL e retornem resultados usando prompts de LLM.

Instalação

  • Instale o pacote
    pip install oracledb_mcp_server
    
  • Crie um arquivo .env em uma pasta com o valor mínimo de Oracle DB Connection String. Um arquivo de exemplo está disponível aqui
  • Teste o servidor oracledb_mcp_server usando uv run oracledb_mcp_server a partir da pasta acima.

Claud Desktop

  • Detalhes de configuração para o Claud Desktop
    {
      "mcpServers": {
        "oracledb_mcp_server":{
          "command": "uv",
          "args": ["run","oracledb_mcp_server"],
          "env": {
              "DEBUG":"True",
              "COMMENT_DB_CONNECTION_STRING":"oracle+oracledb://USERNAME:PASSWORD@IP:PORT/?service_name=SERVICENAME",
              "DB_CONNECTION_STRING":"oracle+oracledb://USERNAME:PASSWORD@IP:PORT/?service_name=SERVICENAME",
              "TABLE_WHITE_LIST":"ACCOUNTS,CUS_ACC_RELATIONS,CUSTOMERS",
              "COLUMN_WHITE_LIST":"ACCOUNTS.ACC_AAD_ID,CUS_ACC_RELATIONS.CAR_CUS_ID,CUS_ACC_RELATIONS.CAR_AAD_ID,CUSTOMERS.CUS_ID"
          }
        }
      }
    }
    

Configuração

  • Lista de variáveis de ambiente disponíveis
    • DEBUG: Ativa o registro de depuração (opcional, o padrão é False)
    • COMMENT_DB_CONNECTION_STRING: String de conexão do Oracle DB para comentários. (obrigatório)
    • DB_CONNECTION_STRING: String de conexão do Oracle DB para execução de consultas. (obrigatório)
    • TABLE_WHITE_LIST: Nomes de tabelas na lista de permissões no formato de lista ["table1", "table2"] (obrigatório)
    • COLUMN_WHITE_LIST: Nomes de colunas de tabelas na lista de permissões no formato de lista ["table.column1", "table.column2"] (obrigatório)
    • QUERY_LIMIT_SIZE: O valor padrão é 10 registros se não for fornecido (opcional, o padrão é 10)

Interceptor

npx @modelcontextprotocol/inspector uv --directory "D:\\MyDev\\mcp\\oracledb_mcp_server" run -m oracledb_mcp_server

Contribuindo

Contribuições são bem-vindas.
Sinta-se à vontade para enviar um Pull Request.

Licença

Este projeto está licenciado sob os termos da licença MIT.

Demonstração

Estrelas do Github

Star History Chart