{
  "markdown": "<div align=\"center\">\n\n<a href=\"https://github.com/nsphung/mcp-snowflake-server\"><img width=\"80%\" height=\"80%\" alt=\"mcp-snowflake-server-nsp-banner\" src=\"https://github.com/user-attachments/assets/73ccb230-907e-4b4c-ae51-cbda9cdc8c2c\" /></a>\n\n[![PyPI](https://img.shields.io/pypi/v/mcp-snowflake-server-nsp)](https://pypi.org/project/mcp-snowflake-server-nsp/) • [![codecov](https://codecov.io/gh/nsphung/mcp-snowflake-server/graph/badge.svg?token=CODECOV_BADGE)](https://codecov.io/gh/nsphung/mcp-snowflake-server) • [![PyPI Downloads](https://img.shields.io/pypi/dm/mcp-snowflake-server-nsp.svg?label=PyPI%20downloads)](https://pypi.org/project/mcp-snowflake-server-nsp/) • [![Docker Pulls](https://img.shields.io/docker/pulls/nsphung/mcp-snowflake-server-nsp)](https://hub.docker.com/r/nsphung/mcp-snowflake-server-nsp) • [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\n|                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |\n| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Test           | [![test](https://github.com/nsphung/mcp-snowflake-server/actions/workflows/test.yml/badge.svg)](https://github.com/nsphung/mcp-snowflake-server/actions/workflows/test.yml) ![codecov](https://codecov.io/gh/nsphung/mcp-snowflake-server/graph/badge.svg?token=CODECOV_BADGE) [![Docker Image Check](https://github.com/nsphung/mcp-snowflake-server/actions/workflows/docker-check.yml/badge.svg)](https://github.com/nsphung/mcp-snowflake-server/actions/workflows/docker-check.yml)                                                                                                                                                                                                                                                                                                                                                                          |\n| Lint           | [![lint](https://github.com/nsphung/mcp-snowflake-server/actions/workflows/lint.yml/badge.svg)](https://github.com/nsphung/mcp-snowflake-server/actions/workflows/lint.yml) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)](http://mypy-lang.org/) [![prek](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json)](https://github.com/j178/prek) [![oxfmt](https://img.shields.io/badge/oxfmt-formatted-orange)](https://oxc.rs/docs/guide/usage/formatter)                                                                                                                                                       |\n| Meta           | [![Code of Conduct](https://img.shields.io/badge/Code%20of%20Conduct-Contributor%20Covenant%202.1-4baaaa.svg)](./CODE_OF_CONDUCT.md) [![MCP Compatible](https://img.shields.io/badge/MCP-compatible-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) [![python-3.13+](https://img.shields.io/badge/Python-%3E%3D3.13-blue)](https://www.python.org/)                                                                                                                                                                                                                                                                                                                                                                                    |\n| Security       | ![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/nsphung/mcp-snowflake-server?utm_source=oss&utm_medium=github&utm_campaign=nsphung%2Fmcp-snowflake-server&labelColor=171717&color=FF570A&link=https%3A%2F%2Fcoderabbit.ai&label=CodeRabbit+Reviews) [![CodeQL](https://github.com/nsphung/mcp-snowflake-server/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/nsphung/mcp-snowflake-server/actions/workflows/github-code-scanning/codeql) [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/nsphung/mcp-snowflake-server/badge)](https://scorecard.dev/viewer/?uri=github.com/nsphung/mcp-snowflake-server) [![Socket Badge](https://badge.socket.dev/pypi/package/mcp-snowflake-server-nsp/latest?artifact_id=tar-gz)](https://socket.dev/pypi/package/mcp-snowflake-server-nsp) |\n| Best Practices | [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/12747/badge)](https://www.bestpractices.dev/projects/12747) [![OpenSSF Baseline](https://www.bestpractices.dev/projects/12747/baseline)](https://www.bestpractices.dev/projects/12747)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| Documentation  | [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/nsphung/mcp-snowflake-server)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |\n\n</div>\n\n---\n\n# Snowflake MCP Server NSP\n\nA [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server / MCP server that connects AI assistants to Snowflake — enabling SQL queries, schema exploration, and data insights directly from your LLM client.\n\n<!-- mcp-name: io.github.nsphung/mcp-snowflake-server -->\n\n**Highlights:**\n\n- Multiple authentication methods: password, key-pair, external browser, OAuth 2.0 (client credentials & bearer token), TOML connection files\n- TOML multi-connection config — manage `production`, `staging`, and `development` environments in one file\n- Write-safety guard — write operations are disabled by default and must be explicitly enabled\n- Exclusion patterns — filter out databases, schemas, or tables from discovery\n- `--exclude-json-results` flag — reduces LLM context window usage\n- Selective tool exclusion via `--exclude_tools`\n- Prefetch mode — pre-load table schema as MCP resources\n- Docker support with hardened image ([DHI](https://docs.docker.com/dhi/), nonroot user, no shell in runtime)\n\n---\n\n## Table of Contents\n\n- [Snowflake MCP Server NSP](#snowflake-mcp-server-nsp)\n  - [Table of Contents](#table-of-contents)\n  - [Quick Start](#quick-start)\n    - [Claude Code](#claude-code)\n    - [Visual Studio Code (VSCode)](#visual-studio-code-vscode)\n    - [OpenCode](#opencode)\n  - [Components](#components)\n    - [Resources](#resources)\n    - [Tools](#tools)\n      - [Query Tools](#query-tools)\n      - [Schema Tools](#schema-tools)\n      - [Analysis Tools](#analysis-tools)\n  - [Authentication](#authentication)\n    - [Password](#password)\n    - [Key-Pair](#key-pair)\n    - [External Browser](#external-browser)\n    - [OAuth 2.0 Client Credentials](#oauth-20-client-credentials)\n    - [OAuth Bearer Token](#oauth-bearer-token)\n    - [TOML Connection File (Recommended)](#toml-connection-file-recommended)\n  - [Installation](#installation)\n    - [Via UVX](#via-uvx)\n    - [Via Docker Hub](#via-docker-hub)\n  - [Configuration Reference](#configuration-reference)\n  - [Exclusion Patterns](#exclusion-patterns)\n  - [License](#license)\n  - [Fork and Attribution](#fork-and-attribution)\n\n---\n\n## Quick Start\n\nThe fastest way to try it — using `uvx` with a TOML connection file:\n\n```bash\n# 1. Create a connections file\ncat > ~/snowflake_connections.toml << 'EOF'\n[myconn]\naccount = \"your_account\"\nuser = \"your_user\"\npassword = \"your_password\"\nwarehouse = \"COMPUTE_WH\"\ndatabase = \"MY_DB\"\nschema = \"PUBLIC\"\nrole = \"MYROLE\"\nEOF\n\n# 2. Run the server\nuvx --python=3.13 --from mcp-snowflake-server-nsp mcp_snowflake_server \\\n  --connections-file ~/snowflake_connections.toml \\\n  --connection-name myconn\n```\n\n### Claude Code\n\nAdd to your MCP client config (e.g. `claude_desktop_config.json`) using `snowflake_connections.toml`:\n\n```jsonc\n\"mcpServers\": {\n  \"snowflake\": {\n    \"command\": \"uvx\",\n    \"args\": [\n      \"--python=3.13\",\n      \"--from\", \"mcp-snowflake-server-nsp\",\n      \"mcp_snowflake_server\",\n      \"--connections-file\", \"/absolute/path/to/snowflake_connections.toml\",\n      \"--connection-name\", \"myconn\"\n    ]\n  }\n}\n```\n\n### Visual Studio Code (VSCode)\n\n**uvx** — [![Install in VS Code](https://img.shields.io/badge/VS%20Code-Install%20Server-0078d4?style=flat-square&logo=visualstudiocode)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522snowflake%2522%252C%2522command%2522%253A%2522uvx%2522%252C%2522args%2522%253A%255B%2522--python%253D3.13%2522%252C%2522--from%2522%252C%2522mcp-snowflake-server-nsp%2522%252C%2522mcp_snowflake_server%2522%255D%257D) [![Install in VS Code Insiders](https://img.shields.io/badge/VS%20Code%20Insiders-Install%20Server-24bfa5?style=flat-square&logo=visualstudiocode)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522snowflake%2522%252C%2522command%2522%253A%2522uvx%2522%252C%2522args%2522%253A%255B%2522--python%253D3.13%2522%252C%2522--from%2522%252C%2522mcp-snowflake-server-nsp%2522%252C%2522mcp_snowflake_server%2522%255D%257D)\n\n**Docker** — [![Install in VS Code (Docker)](https://img.shields.io/badge/VS%20Code-Install%20Docker%20Server-0078d4?style=flat-square&logo=visualstudiocode)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522snowflake%2522%252C%2522command%2522%253A%2522docker%2522%252C%2522args%2522%253A%255B%2522run%2522%252C%2522--rm%2522%252C%2522-i%2522%252C%2522nsphung%252Fmcp-snowflake-server-nsp%2522%255D%257D) [![Install in VS Code Insiders (Docker)](https://img.shields.io/badge/VS%20Code%20Insiders-Install%20Docker%20Server-24bfa5?style=flat-square&logo=visualstudiocode)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522snowflake%2522%252C%2522command%2522%253A%2522docker%2522%252C%2522args%2522%253A%255B%2522run%2522%252C%2522--rm%2522%252C%2522-i%2522%252C%2522nsphung%252Fmcp-snowflake-server-nsp%2522%255D%257D)\n\nOr add manually to your MCP client config (e.g. `.vscode/mcp.json`) using `.env` file (see [Authentication](#authentication)):\n\n```jsonc\n\"snowflake\": {\n      // Snowflake MCP server\n      \"type\": \"stdio\",\n      \"command\": \"uvx\",\n      \"args\": [\n        \"--from\", \"mcp-snowflake-server-nsp\",\n        \"--python=3.13\",\n        \"mcp_snowflake_server\"\n      ],\n      \"envFile\": \"${workspaceFolder}/.env\"\n    }\n```\n\n### OpenCode\n\nAdd to your MCP client config (e.g. `opencode.jsonc`) with `.env` file (see [Authentication](#authentication)):\n\n```jsonc\n\"snowflake\": {\n  \"type\": \"local\",\n  \"command\": [\n    \"uvx\",\n    \"--from\",\n    \"mcp-snowflake-server-nsp\",\n    \"--python=3.13\",\n    \"mcp_snowflake_server\",\n  ],\n  \"enabled\": true,\n  \"timeout\": 300000,\n}\n```\n\n---\n\n## Components\n\n### Resources\n\n| URI                            | Description                                                                          |\n| ------------------------------ | ------------------------------------------------------------------------------------ |\n| `memo://insights`              | A continuously updated memo aggregating data insights appended via `append_insight`. |\n| `context://table/{table_name}` | _(Prefetch mode only)_ Per-table schema summaries including columns and comments.    |\n\n---\n\n### Tools\n\n#### Query Tools\n\n| Tool           | Description                                                                   | Requires        |\n| -------------- | ----------------------------------------------------------------------------- | --------------- |\n| `read_query`   | Execute `SELECT` queries. **Input:** `query` (string).                        | —               |\n| `write_query`  | Execute `INSERT`, `UPDATE`, or `DELETE` queries. **Input:** `query` (string). | `--allow_write` |\n| `create_table` | Execute `CREATE TABLE` statements. **Input:** `query` (string).               | `--allow_write` |\n\n#### Schema Tools\n\n| Tool             | Description                                                              | Input                                   |\n| ---------------- | ------------------------------------------------------------------------ | --------------------------------------- |\n| `list_databases` | List all databases in the Snowflake instance.                            | —                                       |\n| `list_schemas`   | List all schemas within a database.                                      | `database` (string)                     |\n| `list_tables`    | List all tables within a database and schema.                            | `database`, `schema` (strings)          |\n| `describe_table` | Describe columns of a table (name, type, nullability, default, comment). | `table_name` as `database.schema.table` |\n\n#### Analysis Tools\n\n| Tool             | Description                                           | Input              |\n| ---------------- | ----------------------------------------------------- | ------------------ |\n| `append_insight` | Add a data insight to the `memo://insights` resource. | `insight` (string) |\n\n---\n\n## Authentication\n\n### Password\n\nSet credentials via environment variables or CLI flags (see [Configuration Reference](#configuration-reference)):\n\n```bash\nSNOWFLAKE_USER=\"user@example.com\"\nSNOWFLAKE_ACCOUNT=\"myaccount\"\nSNOWFLAKE_AUTHENTICATOR=\"snowflake\"\nSNOWFLAKE_PASSWORD=\"secret\"\nSNOWFLAKE_WAREHOUSE=\"COMPUTE_WH\"\nSNOWFLAKE_DATABASE=\"MY_DB\"\nSNOWFLAKE_SCHEMA=\"PUBLIC\"\nSNOWFLAKE_ROLE=\"MYROLE\"\n```\n\n### Key-Pair\n\nBoth RSA (RS256) and ECDSA (ES256, ES384, ES512) private keys are supported (requires `snowflake-connector-python` ≥ 4.5.0 for ECDSA).\n\n```bash\nSNOWFLAKE_USER=\"user@example.com\"\nSNOWFLAKE_ACCOUNT=\"myaccount\"\nSNOWFLAKE_AUTHENTICATOR=\"snowflake_jwt\"\nSNOWFLAKE_PRIVATE_KEY_FILE=\"/absolute/path/to/key.p8\"\nSNOWFLAKE_PRIVATE_KEY_FILE_PWD=\"passphrase\"  # Optional — only if key is encrypted\nSNOWFLAKE_WAREHOUSE=\"COMPUTE_WH\"\nSNOWFLAKE_DATABASE=\"MY_DB\"\nSNOWFLAKE_SCHEMA=\"PUBLIC\"\nSNOWFLAKE_ROLE=\"MYROLE\"\n```\n\nOr via CLI: `--private_key_file /path/to/key.p8 --private_key_file_pwd passphrase`\n\n### External Browser\n\n```bash\nSNOWFLAKE_AUTHENTICATOR=\"externalbrowser\"\n```\n\nOr in a TOML connection entry: `authenticator = \"externalbrowser\"`\n\n### OAuth 2.0 Client Credentials\n\nUse the [OAuth 2.0 client credentials flow](https://docs.snowflake.com/en/developer-guide/python-connector/python-connector-connect#using-oauth) to authenticate with a client ID and secret (no user interaction required):\n\n```bash\nSNOWFLAKE_AUTHENTICATOR=\"oauth_client_credentials\"\nSNOWFLAKE_ACCOUNT=\"myaccount\"\nSNOWFLAKE_OAUTH_CLIENT_ID=\"your_client_id\"\nSNOWFLAKE_OAUTH_CLIENT_SECRET=\"your_client_secret\"\nSNOWFLAKE_OAUTH_TOKEN_REQUEST_URL=\"https://your-idp.example.com/oauth/token\"\nSNOWFLAKE_OAUTH_SCOPE=\"session:role:MY_ROLE\"  # Optional\nSNOWFLAKE_WAREHOUSE=\"COMPUTE_WH\"\nSNOWFLAKE_DATABASE=\"MY_DB\"\nSNOWFLAKE_SCHEMA=\"PUBLIC\"\nSNOWFLAKE_ROLE=\"MYROLE\"\n```\n\n### OAuth Bearer Token\n\nUse a pre-fetched OAuth bearer token:\n\n```bash\nSNOWFLAKE_AUTHENTICATOR=\"oauth\"\nSNOWFLAKE_ACCOUNT=\"myaccount\"\nSNOWFLAKE_TOKEN=\"eyJhbGciOiJSUzI1NiJ9...\"\nSNOWFLAKE_WAREHOUSE=\"COMPUTE_WH\"\nSNOWFLAKE_DATABASE=\"MY_DB\"\nSNOWFLAKE_SCHEMA=\"PUBLIC\"\nSNOWFLAKE_ROLE=\"MYROLE\"\n```\n\n### TOML Connection File (Recommended)\n\nManage multiple environments in a single file. See [`example_connections.toml`](https://github.com/nsphung/mcp-snowflake-server/blob/main/example_connections.toml) for a full template.\n\n```toml\n[production]\naccount = \"your_account\"\nuser = \"your_user\"\npassword = \"your_password\"\nauthenticator = \"snowflake\"\nwarehouse = \"COMPUTE_WH\"\ndatabase = \"PROD_DB\"\nschema = \"PUBLIC\"\nrole = \"ACCOUNTADMIN\"\n\n[development]\naccount = \"your_account\"\nuser = \"dev_user\"\nauthenticator = \"externalbrowser\"\nwarehouse = \"DEV_WH\"\ndatabase = \"DEV_DB\"\nschema = \"PUBLIC\"\nrole = \"DEVELOPER\"\n\n[reporting]\naccount = \"your_account\"\nuser = \"reporting_user\"\nauthenticator = \"snowflake_jwt\"\nprivate_key_file = \"/path/to/private_key.pem\"\nprivate_key_file_pwd = \"passphrase\"  # Optional\nwarehouse = \"REPORTING_WH\"\ndatabase = \"REPORTING_DB\"\nschema = \"REPORTS\"\nrole = \"REPORTING_ROLE\"\n\n[analytics_oauth]\naccount = \"your_account\"\nauthenticator = \"oauth_client_credentials\"\noauth_client_id = \"your_client_id\"\noauth_client_secret = \"your_client_secret\"\noauth_token_request_url = \"https://your-idp.example.com/oauth/token\"\noauth_scope = \"session:role:ANALYTICS_ROLE\"  # Optional\nwarehouse = \"ANALYTICS_WH\"\ndatabase = \"ANALYTICS_DB\"\nschema = \"PUBLIC\"\nrole = \"ANALYTICS_ROLE\"\n```\n\nPass the file with `--connections-file` and select a profile with `--connection-name`. Both flags are required together.\n\n---\n\n## Installation\n\nThe package is published on [PyPI as `mcp-snowflake-server-nsp`](https://pypi.org/project/mcp-snowflake-server-nsp/).\n\n> **Contributing or running from source?** See [`CONTRIBUTING.md`](./CONTRIBUTING.md) for local development setup, test commands, formatting, and building the Docker image from source.\n\n---\n\n### Via UVX\n\n<details>\n<summary><strong>TOML configuration (recommended)</strong></summary>\n\n```jsonc\n\"mcpServers\": {\n  \"snowflake_production\": {\n    \"command\": \"uvx\",\n    \"args\": [\n      \"--python=3.13\",\n      \"--from\", \"mcp-snowflake-server-nsp\",\n      \"mcp_snowflake_server\",\n      \"--connections-file\", \"/path/to/snowflake_connections.toml\",\n      \"--connection-name\", \"production\"\n      // Optional flags — see Configuration Reference\n    ]\n  },\n  \"snowflake_staging\": {\n    \"command\": \"uvx\",\n    \"args\": [\n      \"--python=3.13\",\n      \"--from\", \"mcp-snowflake-server-nsp\",\n      \"mcp_snowflake_server\",\n      \"--connections-file\", \"/path/to/snowflake_connections.toml\",\n      \"--connection-name\", \"staging\"\n    ]\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><strong>Individual parameters</strong></summary>\n\n```jsonc\n\"mcpServers\": {\n  \"snowflake\": {\n    \"command\": \"uvx\",\n    \"args\": [\n      \"--python=3.13\",\n      \"--from\", \"mcp-snowflake-server-nsp\",\n      \"mcp_snowflake_server\",\n      \"--account\", \"your_account\",\n      \"--warehouse\", \"your_warehouse\",\n      \"--user\", \"your_user\",\n      \"--password\", \"your_password\",\n      \"--role\", \"your_role\",\n      \"--database\", \"your_database\",\n      \"--schema\", \"your_schema\"\n      // Optional: \"--private_key_file\", \"/absolute/path/key.p8\"\n      // Optional: \"--private_key_file_pwd\", \"passphrase\"\n      // Optional flags — see Configuration Reference\n    ]\n  }\n}\n```\n\n</details>\n\n---\n\n### Via Docker Hub\n\nThe image is published on [Docker Hub](https://hub.docker.com/r/nsphung/mcp-snowflake-server-nsp) — no build step required:\n\n```bash\ndocker pull nsphung/mcp-snowflake-server-nsp\n```\n\n> **Note:** `-i` (`--interactive`) is required to keep stdin open for the MCP stdio transport. Do **not** use `-d` (detach).\n\n<details>\n<summary><strong>Claude Desktop — <code>claude_desktop_config.json</code></strong></summary>\n\nWith `.env` file (see [Authentication](#authentication)):\n\n```jsonc\n\"mcpServers\": {\n  \"snowflake\": {\n    \"command\": \"docker\",\n    \"args\": [\n      \"run\", \"--rm\", \"-i\",\n      \"--env-file\", \"/absolute/path/to/.env\",\n      \"nsphung/mcp-snowflake-server-nsp\"\n    ]\n  }\n}\n```\n\nWith TOML connections file:\n\n```jsonc\n\"mcpServers\": {\n  \"snowflake\": {\n    \"command\": \"docker\",\n    \"args\": [\n      \"run\", \"--rm\", \"-i\",\n      \"-v\", \"/path/to/snowflake_connections.toml:/app/snowflake_connections.toml:ro\",\n      \"nsphung/mcp-snowflake-server-nsp\",\n      \"--connections-file\", \"/app/snowflake_connections.toml\",\n      \"--connection-name\", \"production\"\n    ]\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><strong>VS Code — <code>.vscode/mcp.json</code></strong></summary>\n\nWith `.env` file:\n\n```jsonc\n\"snowflake\": {\n  \"type\": \"stdio\",\n  \"command\": \"docker\",\n  \"args\": [\n    \"run\", \"--rm\", \"-i\",\n    \"nsphung/mcp-snowflake-server-nsp\"\n  ],\n  \"envFile\": \"${workspaceFolder}/.env\"\n}\n```\n\nWith TOML connections file:\n\n```jsonc\n\"snowflake\": {\n  \"type\": \"stdio\",\n  \"command\": \"docker\",\n  \"args\": [\n    \"run\", \"--rm\", \"-i\",\n    \"-v\", \"/path/to/snowflake_connections.toml:/app/snowflake_connections.toml:ro\",\n    \"nsphung/mcp-snowflake-server-nsp\",\n    \"--connections-file\", \"/app/snowflake_connections.toml\",\n    \"--connection-name\", \"production\"\n  ]\n}\n```\n\n</details>\n\n<details>\n<summary><strong>OpenCode — <code>opencode.jsonc</code></strong></summary>\n\n```jsonc\n\"snowflake\": {\n  \"type\": \"local\",\n  \"command\": [\n    \"docker\", \"run\", \"--rm\", \"-i\",\n    \"--env-file\", \"/absolute/path/to/.env\",\n    \"nsphung/mcp-snowflake-server-nsp\"\n  ],\n  \"enabled\": true,\n  \"timeout\": 300000\n}\n```\n\n</details>\n\n---\n\n## Configuration Reference\n\nAll connection parameters can also be set as environment variables (`SNOWFLAKE_<PARAM_UPPER>`).\n\n| Flag                           | Env var                          | Default      | Description                                                                                        |\n| ------------------------------ | -------------------------------- | ------------ | -------------------------------------------------------------------------------------------------- |\n| `--account`                    | `SNOWFLAKE_ACCOUNT`              | —            | Snowflake account identifier                                                                       |\n| `--user`                       | `SNOWFLAKE_USER`                 | —            | Snowflake username                                                                                 |\n| `--password`                   | `SNOWFLAKE_PASSWORD`             | —            | Password (not required for key-pair / SSO)                                                         |\n| `--warehouse`                  | `SNOWFLAKE_WAREHOUSE`            | —            | Virtual warehouse to use                                                                           |\n| `--database`                   | `SNOWFLAKE_DATABASE`             | _(required)_ | Default database                                                                                   |\n| `--schema`                     | `SNOWFLAKE_SCHEMA`               | _(required)_ | Default schema                                                                                     |\n| `--role`                       | `SNOWFLAKE_ROLE`                 | —            | Role to assume                                                                                     |\n| `--private_key_file`           | `SNOWFLAKE_PRIVATE_KEY_FILE`     | —            | Absolute path to RSA or ECDSA (ES256/384/512) private key file (`.p8` / `.pem`)                    |\n| `--private_key_file_pwd`       | `SNOWFLAKE_PRIVATE_KEY_FILE_PWD` | —            | Passphrase for encrypted private key                                                               |\n| `--connections-file`           | —                                | —            | Path to TOML connections file                                                                      |\n| `--connection-name`            | —                                | —            | Connection profile name in TOML file (required with `--connections-file`)                          |\n| `--allow_write`                | —                                | `false`      | Enable `write_query` and `create_table` tools                                                      |\n| `--prefetch` / `--no-prefetch` | —                                | `false`      | Pre-load table schema as `context://table/*` resources (disables `list_tables` / `describe_table`) |\n| `--exclude_tools`              | —                                | `[]`         | Space-separated list of tool names to disable                                                      |\n| `--exclude-json-results`       | —                                | `false`      | Omit embedded JSON resources from responses (reduces context window usage)                         |\n| `--log_dir`                    | —                                | —            | Directory for log file output                                                                      |\n| `--log_level`                  | —                                | `INFO`       | Log verbosity: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`                                     |\n\n---\n\n## Exclusion Patterns\n\nEdit [`runtime_config.json`](https://github.com/nsphung/mcp-snowflake-server/blob/main/runtime_config.json) to exclude databases, schemas, or tables from all discovery tools. Patterns are matched case-insensitively as substrings.\n\n```json\n{\n  \"exclude_patterns\": {\n    \"databases\": [\"temp\"],\n    \"schemas\": [\"temp\", \"information_schema\"],\n    \"tables\": [\"temp\"]\n  }\n}\n```\n\nThe server loads this file automatically at startup from the working directory.\n\n---\n\n## License\n\nThis project is licensed under the **MIT License**. See the [`LICENSE`](https://github.com/nsphung/mcp-snowflake-server/blob/main/LICENSE) file for the full text.\n\n---\n\n## Fork and Attribution\n\nThis repository is a fork of [`isaacwasserman/mcp-snowflake-server`](https://github.com/isaacwasserman/mcp-snowflake-server).\n\n[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/isaacwasserman-mcp-snowflake-server-badge.png)](https://mseep.ai/app/isaacwasserman-mcp-snowflake-server)\n\n- Upstream authors and contributors retain copyright for their contributions.\n- Fork-specific changes are maintained by `nsphung`.\n- A summary of notable modifications is tracked in [`NOTICE`](https://github.com/nsphung/mcp-snowflake-server/blob/main/NOTICE).\n",
  "bytes": 28089,
  "sha": "c8c07f4f9e35d9d29345d793aea9ec1d3baf0ffd5c9b3254af8e1472c60b3ede",
  "repo_slug": "nsphung/mcp-snowflake-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_nsphung_mcp_snowflake_server_cd86d67b/readme"
}