Skip to main content
Glama
isaacwasserman

mcp-snowflake-server

Сервер MCP Snowflake

значок кузнеца PyPI - Версия


Обзор

Реализация сервера Model Context Protocol (MCP), которая обеспечивает взаимодействие базы данных со Snowflake. Этот сервер позволяет выполнять SQL-запросы с помощью инструментов и предоставляет данные и контекст схемы в качестве ресурсов.


Related MCP server: Datadog MCP Server

Компоненты

Ресурсы

  • memo://insights
    Постоянно обновляемая памятка, объединяющая обнаруженные аналитические данные.
    Обновляется автоматически при добавлении новых аналитических данных с помощью инструмента append_insight .

  • context://table/{table_name}
    (Если включена предварительная выборка) Сводки схем для каждой таблицы, включая столбцы и комментарии, отображаются как отдельные ресурсы.


Инструменты

Сервер предоставляет следующие инструменты:

Инструменты запроса

  • read_query
    Выполнить запросы SELECT для чтения данных из базы данных.
    Вход:

    • query (строка): SQL-запрос SELECT для выполнения
      Возвращает: результаты запроса в виде массива объектов.

  • write_query (включено только с --allow-write )
    Выполнение запросов INSERT , UPDATE или DELETE .
    Вход:

    • query (строка): запрос на изменение SQL
      Возвращает: количество затронутых строк или подтверждение

  • create_table (включено только с --allow-write )
    Создайте новые таблицы в базе данных.
    Вход:

    • query (строка): SQL-оператор CREATE TABLE
      Возврат: Подтверждение создания таблицы

Инструменты схемы

  • list_databases
    Перечислите все базы данных в экземпляре Snowflake.
    Возвращает: Массив имен баз данных.

  • list_schemas
    Перечислите все схемы в определенной базе данных.
    Вход:

    • database (строка): Имя базы данных
      Возвращает: Массив имен схем.

  • list_tables
    Перечислите все таблицы в определенной базе данных и схеме.
    Вход:

    • database (строка): Имя базы данных

    • schema (строка): Имя схемы
      Возвращает: Массив метаданных таблицы.

  • describe_table
    Просмотр информации о столбцах для определенной таблицы.
    Вход:

    • table_name (string): Полное имя таблицы ( database.schema.table )
      Возвращает: Массив определений столбцов с именами, типами, допустимостью значений NULL, значениями по умолчанию и комментариями.

Инструменты анализа

  • append_insight
    Добавьте новые аналитические данные в ресурс памятки.
    Вход:

    • insight (строка): Понимание данных, обнаруженное в результате анализа
      Возврат: Подтверждение добавления инсайта
      Эффект: запускает обновление ресурса memo://insights .


Использование с Claude Desktop

Установка через Smithery

Чтобы автоматически установить Snowflake Server для Claude Desktop через Smithery :

npx -y @smithery/cli install mcp_snowflake_server --client claude

Установка через UVX

"mcpServers": {
  "snowflake_pip": {
    "command": "uvx",
    "args": [
      "--python=3.12",  // Optional: specify Python version <=3.12
      "mcp_snowflake_server",
      "--account", "your_account",
      "--warehouse", "your_warehouse",
      "--user", "your_user",
      "--password", "your_password",
      "--role", "your_role",
      "--database", "your_database",
      "--schema", "your_schema"
      // Optionally: "--allow_write"
      // Optionally: "--log_dir", "/absolute/path/to/logs"
      // Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
      // Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
    ]
  }
}

Локальная установка

  1. Установите приложение Claude AI для ПК

  2. Установить uv :

curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Создайте файл .env с вашими учетными данными Snowflake:

SNOWFLAKE_USER="xxx@your_email.com"
SNOWFLAKE_ACCOUNT="xxx"
SNOWFLAKE_ROLE="xxx"
SNOWFLAKE_DATABASE="xxx"
SNOWFLAKE_SCHEMA="xxx"
SNOWFLAKE_WAREHOUSE="xxx"
SNOWFLAKE_PASSWORD="xxx"
# Alternatively, use external browser authentication:
# SNOWFLAKE_AUTHENTICATOR="externalbrowser"
  1. [Необязательно] Измените runtime_config.json , чтобы задать шаблоны исключения для баз данных, схем или таблиц.

  2. Тестирование локально:

uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_server
  1. Добавьте сервер в ваш claude_desktop_config.json :

"mcpServers": {
  "snowflake_local": {
    "command": "/absolute/path/to/uv",
    "args": [
      "--python=3.12",  // Optional
      "--directory", "/absolute/path/to/mcp_snowflake_server",
      "run", "mcp_snowflake_server"
      // Optionally: "--allow_write"
      // Optionally: "--log_dir", "/absolute/path/to/logs"
      // Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
      // Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
    ]
  }
}

Примечания

  • По умолчанию операции записи отключены . Включите их явно с помощью --allow-write .

  • Сервер поддерживает фильтрацию определенных баз данных, схем или таблиц с помощью шаблонов исключения.

  • Сервер предоставляет дополнительные ресурсы контекста для каждой таблицы, если включена предварительная выборка.

  • Инструмент append_insight динамически обновляет ресурс memo://insights .


Лицензия

Массачусетский технологический институт

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isaacwasserman/mcp-snowflake-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server