Snowflake

Interaja com bancos de dados Snowflake para consultar e gerenciar dados.

Documentação

Um servidor Model Context Protocol (MCP) que fornece acesso de Claude a bancos de dados Snowflake. / Um servidor MCP (Protocolo de Contexto de Modelo) que fornece a Claude capacidade de acesso a bancos de dados Snowflake.

GitHub Stars Smithery Badge

Este servidor implementa o Model Context Protocol para permitir que Claude:

  • Execute consultas SQL em bancos de dados Snowflake
  • Gerencie automaticamente o ciclo de vida da conexão com o banco de dados (conexão, reconexão em caso de timeout, encerramento)
  • Trate resultados de consultas e erros
  • Execute operações de banco de dados com segurança

Este servidor implementa o protocolo de contexto de modelo, permitindo que Claude:

  • Execute consultas SQL em bancos de dados Snowflake
  • Gerencie automaticamente o ciclo de vida da conexão com o banco de dados (criação de conexão, reconexão em caso de timeout, encerramento de conexão)
  • Trate resultados de consultas e erros
  • Execute operações de banco de dados com segurança

Instalação

Instalação via Smithery

Para instalar o mcp-service-snowflake para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @datawiz168/mcp-service-snowflake --client claude

Instalação Manual

  1. Clone este repositório
git clone https://github.com/datawiz168/mcp-snowflake-service.git
  1. Instale as dependências
pip install -r requirements.txt

Configuração

Exemplo de Configuração do Cliente MCP

Adicione a seguinte configuração a claude_desktop_config.json / Adicione a configuração em claude_desktop_config.json:

{
  "mcpServers": {
    "snowflake": {
      "command": "C:\\Users\\K\\anaconda3\\envs\\regular310\\python.exe",
      "args": ["D:\\tools\\mcp-snowflake\\server.py"]
    }
  }
}

Parâmetros de configuração:

  • command: Caminho completo para o seu interpretador Python. Modifique isto de acordo com o local de instalação do seu Python. / Caminho completo do interpretador Python, modifique de acordo com o local de instalação do seu Python.
  • args: Caminho completo para o script do servidor. Modifique isto de acordo com o local onde você clonou o repositório. / Caminho completo do script do servidor, modifique de acordo com o local onde você clonou o repositório.

Exemplos de caminhos para diferentes sistemas operacionais:

Windows:

{
  "mcpServers": {
    "snowflake": {
      "command": "C:\\Users\\YourUsername\\anaconda3\\python.exe",
      "args": ["C:\\Path\\To\\mcp-snowflake\\server.py"]
    }
  }
}

MacOS/Linux:

{
  "mcpServers": {
    "snowflake": {
      "command": "/usr/bin/python3",
      "args": ["/path/to/mcp-snowflake/server.py"]
    }
  }
}

Configuração do Snowflake

Crie um arquivo .env no diretório raiz do projeto e adicione a seguinte configuração / No diretório raiz do projeto, crie o arquivo .env e adicione a seguinte configuração:

SNOWFLAKE_USER=your_username      # Your username / 您的用户名
SNOWFLAKE_PASSWORD=your_password  # Your password / 您的密码
SNOWFLAKE_ACCOUNT=NRB18479.US-WEST-2    # Example: NRB18479.US-WEST-2 / 示例: NRB18479.US-WEST-2
SNOWFLAKE_DATABASE=your_database  # Your database / 您的数据库
SNOWFLAKE_WAREHOUSE=your_warehouse # Your warehouse / 您的数据仓库

Gerenciamento de Conexão

O servidor fornece recursos automáticos de gerenciamento de conexão / O servidor fornece os seguintes recursos automáticos de gerenciamento de conexão:

  • Inicialização automática de conexão

    • Cria a conexão quando a primeira consulta é recebida
    • Valida os parâmetros de conexão
  • Manutenção de conexão

    • Mantém o controle do estado da conexão
    • Trata timeouts de conexão
    • Reconecta automaticamente se a conexão for perdida
  • Limpeza de conexão

    • Encerra corretamente as conexões quando o servidor para
    • Libera recursos adequadamente

Uso

O servidor iniciará automaticamente com o cliente Claude Desktop. Nenhuma inicialização manual é necessária. Uma vez que o servidor esteja em execução, Claude poderá executar consultas Snowflake. / O servidor iniciará automaticamente com o cliente Claude Desktop, sem necessidade de execução manual. Após a inicialização do servidor, Claude poderá executar consultas Snowflake.

Para testes de desenvolvimento, você pode iniciar o servidor manualmente usando / Se precisar iniciar o servidor separadamente para testes, use o seguinte comando:

python server.py

Nota: A inicialização manual do servidor não é necessária para uso normal. O cliente Claude Desktop gerenciará automaticamente a inicialização e o encerramento do servidor com base na configuração. / Nota: Não é necessário iniciar o servidor manualmente para uso normal. O cliente Claude Desktop gerenciará automaticamente a inicialização e a parada do servidor de acordo com a configuração.

Recursos

  • Acesso seguro a bancos de dados Snowflake
  • Tratamento e relatório de erros robustos
  • Gerenciamento automático de conexão
  • Execução de consultas e processamento de resultados

Desenvolvimento

Para contribuir com código ou relatar problemas:

  1. Faça um fork deste repositório
  2. Crie seu branch de funcionalidade (git checkout -b feature/AmazingFeature)
  3. Faça commit das suas alterações (git commit -m 'Add some AmazingFeature')
  4. Envie para o branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

Notas

O mcp‑server‑snowflake controla os direitos de acesso ao banco de dados com precisão por meio de usuários do banco de dados. Se você só precisa ler dados, basta atribuir um usuário com permissões somente leitura no banco de dados. / O mcp‑server‑snowflake controla as permissões de acesso ao banco de dados com precisão por meio de usuários do banco de dados. Se você só quiser ler dados, basta fornecer um usuário com permissão somente leitura no banco de dados.

Licença

License: MIT

Este projeto é licenciado sob a Licença MIT.

Este projeto utiliza a Licença MIT.