Сервер MCP Snowflake
Обзор
Реализация сервера 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}"]
]
}
}Локальная установка
Установите приложение Claude AI для ПК
Установить
uv:
curl -LsSf https://astral.sh/uv/install.sh | shСоздайте файл
.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"[Необязательно] Измените
runtime_config.json, чтобы задать шаблоны исключения для баз данных, схем или таблиц.Тестирование локально:
uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_serverДобавьте сервер в ваш
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.
Лицензия
Массачусетский технологический институт