The Simple Snowflake MCP Server is a tool that allows you to interact with Snowflake databases through Model Context Protocol (MCP). It's designed to work behind corporate proxies and provides convenient access to Snowflake data and operations via various MCP tools.
Clone the repository and navigate to it
git clone <your-repo>
cd simple_snowflake_mcp
Set up environment variables
cp .env.example .env
# Edit .env with your Snowflake credentials
Build and run with Docker Compose
# Build the Docker image
docker-compose build
# Start the service
docker-compose up -d
# View logs
docker-compose logs -f
Clone the project and install dependencies
git clone <your-repo>
cd simple_snowflake_mcp
python -m venv .venv
.venv/Scripts/activate # Windows
pip install -r requirements.txt
Configure Snowflake access
Create a .env
file at the root with your credentials:
SNOWFLAKE_USER=...
SNOWFLAKE_PASSWORD=...
SNOWFLAKE_ACCOUNT=...
# SNOWFLAKE_WAREHOUSE Optional: Snowflake warehouse name
# SNOWFLAKE_DATABASE Optional: default database name
# SNOWFLAKE_SCHEMA Optional: default schema name
# MCP_READ_ONLY=true|false Optional: true/false to force read-only mode
Configure VS Code for MCP debugging
MCP: Start Server
and select simple-snowflake-mcp
Edit: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Edit: %APPDATA%/Claude/claude_desktop_config.json
Add the following configuration:
For published servers:
"mcpServers": {
"simple_snowflake_mcp": {
"command": "uvx",
"args": [
"simple_snowflake_mcp"
]
}
}
The Snowflake MCP server exposes several tools to interact with your Snowflake instance:
To execute a SQL query, use the execute-snowflake-sql
tool:
{
"name": "execute-snowflake-sql",
"arguments": { "sql": "SELECT CURRENT_TIMESTAMP;" }
}
The result will be returned as a list of dictionaries (one per row) in the MCP response.
If you're using Docker, these commands can help manage your MCP server:
# Start in production mode
docker-compose up -d
# Start in development mode (with live code changes)
docker-compose --profile dev up simple-snowflake-mcp-dev -d
# View logs
docker-compose logs -f
# Stop the service
docker-compose down
# See all available commands
make help
# Build and start
make build
make up
# Development mode
make dev-up
# View logs
make logs
# Clean up
make clean
You can configure the server using these environment variables:
SNOWFLAKE_USER
: Your Snowflake username (required)SNOWFLAKE_PASSWORD
: Your Snowflake password (required)SNOWFLAKE_ACCOUNT
: Your Snowflake account identifier (required)SNOWFLAKE_WAREHOUSE
: Warehouse name (optional)SNOWFLAKE_DATABASE
: Default database (optional)SNOWFLAKE_SCHEMA
: Default schema (optional)MCP_READ_ONLY
: Set to "TRUE" for read-only mode (default: TRUE)To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "simple_snowflake_mcp" '{"command":"uvx","args":["simple_snowflake_mcp"]}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"simple_snowflake_mcp": {
"command": "uvx",
"args": [
"simple_snowflake_mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration file:
{
"mcpServers": {
"simple_snowflake_mcp": {
"command": "uvx",
"args": [
"simple_snowflake_mcp"
]
}
}
}
3. Restart Claude Desktop for the changes to take effect