Custom Model Context Protocol server for Snowflake
Project description
PGGM MCP Snowflake Server
A customized Model Context Protocol (MCP) server for Snowflake integration, allowing AI assistants to interact with Snowflake databases securely and efficiently.
Features
- Connect to Snowflake databases and execute queries
- Support for various SQL operations and schema exploration
- Data insights collection and memoization
- SQL write operation detection for enhanced security
- Customizable database, schema, and table filtering
- Support for authentication through environment variables or command-line arguments
Installation
Using pip
Install in your venv with:
pip install pggm-mcp-snowflake-server
Inside VS-Code
Add the following to your settings.json in vs-code (F1 + Preferences: Open User Settings(JSON))
"workbench.settings.applyToAllProfiles": [
"chat.agent.enabled"
],
"github.copilot.chat.agent.thinkingTool": true,
"mcp": {
"inputs": [],
"servers": {
"snowflake_local": {
"command": "{project_source}\\venv\\Scripts\\pggm_mcp_snowflake_server.exe",
"args": [
"--account",
"pggm-vb.privatelink",
"--warehouse",
"{warehouse}",
"--authenticator",
"externalbrowser",
"--user",
"{user_email}",
"--role",
"PUBLIC",
"--database",
"SNOWFLAKE",
"--schema",
"INFORMATION_SCHEMA",
# Optionally: "--allow_write"
]
}
}
},
Tools Available to AI Assistants
The mcp_server provides the following tools for AI assistants:
list_databases- List all available databases in Snowflakelist_schemas- List all schemas in a databaselist_tables- List all tables in a specific database and schemadescribe_table- Get the schema information for a specific tableread_query- Execute a SELECT queryappend_insight- Add a data insight to the memowrite_query- Execute an INSERT, UPDATE, or DELETE query (if --allow_write is enabled)create_table- Create a new table in the Snowflake database (if --allow_write is enabled)
Security
By default, the server runs in read-only mode. To enable write operations, you must explicitly pass the --allow_write flag.
The server uses SQL parsing to detect and prevent write operations in read_query calls, ensuring only approved write operations can be executed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pggm_mcp_snowflake_server-0.1.3.tar.gz.
File metadata
- Download URL: pggm_mcp_snowflake_server-0.1.3.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f64ec1733229e882b993ac908092ec429bd5738ad8b1f127ca0eca086ab48f2
|
|
| MD5 |
1010f6872d38560334c2944f8fe0f5b4
|
|
| BLAKE2b-256 |
d5b56a511cb3df32dc9553d44db1d154ae5392f27eb07a71ccd93543c259e97c
|
File details
Details for the file pggm_mcp_snowflake_server-0.1.3-py3-none-any.whl.
File metadata
- Download URL: pggm_mcp_snowflake_server-0.1.3-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0068a1b00e568d1410ada2b088df11ce8df085fcb4a2e19f79ebec29ffc95c60
|
|
| MD5 |
c98ce99762eb5f6db2eb24ed13097545
|
|
| BLAKE2b-256 |
9129e300d5a7ee9d2fc5db876c1a69e23f90faee7289f415b68a6a7712d863ce
|