- Home
- MCP servers
- Snowflake MCP Agent System
Snowflake MCP Agent System
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Snowflake MCP Agent System is an enhanced MCP server that combines a Snowflake-focused data operation suite with LangGraph-powered agents. It enables intelligent data analysis, lineage tracing, and efficient querying across Snowflake datasets, backed by session management and continuous improvement through feedback.
How to use
You run the MCP server locally and connect with the LangGraph-based agent client to perform data analysis, lineage tracing, and optimized querying. Start by launching the server, then run the interactive agent to explore Snowflake data through guided multi-agent conversations. Use the single-query, batch, or training modes to tailor responses and improve the agent’s accuracy over time.
How to install
Prerequisites include Python 3.12 or newer and a Snowflake account with the necessary permissions. You should also have a JWT token if you access corporate endpoints.
pip install -e .
Create a configuration file with your Snowflake credentials. A representative setup looks like this:
# Required
SNOWFLAKE_USER=your_username
SNOWFLAKE_ACCOUNT=your_account
SNOWFLAKE_WAREHOUSE=your_warehouse
SNOWFLAKE_DATABASE=your_database
SNOWFLAKE_SCHEMA=your_schema
# Authentication (choose one)
SNOWFLAKE_PASSWORD=your_password
# OR
SNOWFLAKE_PRIVATE_KEY_PATH=path/to/private_key.pem
SNOWFLAKE_PRIVATE_KEY_PASSPHRASE=optional_passphrase
# Optional
SNOWFLAKE_ROLE=your_role
JWT_TOKEN=your_jwt_token
Install dependencies and start the MCP server, then run the agent client in interactive mode.
# Terminal 1
python -m mcp_code server
# Server runs on http://127.0.0.1:8000/mcp
```bash
# Terminal 2
python -m mcp_code --mode interactive
(Use a second terminal for the client session.)
## Additional configuration and notes
The system supports both an HTTP MCP endpoint and a local stdio MCP workflow. Use the HTTP endpoint to connect over the network and the stdio workflow to run the server as a local process and communicate via standard I/O.
Environment variables to configure Snowflake access are provided in the configuration example. Ensure your environment is prepared with the correct Snowflake credentials before starting the server.
## Available tools
### list\_databases
List available databases in your Snowflake account.
### list\_schemas
List schemas within a selected database.
### list\_tables
List tables within a given schema.
### run\_query
Execute a SELECT query and return results.
### analyze\_usage
Analyze usage patterns over a time period and unit.
### get\_lineage
Trace data lineage for a table in a given direction and depth.
### identify\_heavy\_users
Identify users or roles with high resource consumption.
### analyze\_slow\_queries
Identify performance bottlenecks by analyzing slow queries.
### get\_table\_metadata
Retrieve comprehensive metadata for a table.
### recommend\_data\_products
Suggest data products based on analysis scope.
### save\_feedback
Store training feedback to improve agent responses.
### get\_session\_history
Retrieve a user session's query history and stats.