雪花远程MCP服务器V3.0
用于Snowflake数据库访问的远程MCP服务器,具有完整的写入功能和 V3.0生产资源限制.
🚀 特性
V3.0-生产就绪(新增!2025-11-13):
- ⚡ 2Gi内存: 从默认的512Mi(增加4倍!)
- ⚡ 2个CPU内核: 从默认的1核升级(速度提高2倍!)
- ⚡ 最小实例:1: 零冷启动!
- ⚡ 最大实例数:10: 负载平衡和稳定性
- ⚡ 并发:80: 针对并行请求进行了优化
- ⚡ 响应速度提高3-5倍: 即时可用性
V2.2-功能齐全:
- ✅ UPSERT运营: MERGE支持数据同步
- ✅ 交易: 原子操作的开始、提交、回滚
- ✅ 批量插入: 多值INSERT提高效率
- ✅ 动态限制: 每个查询可配置1-1000行
- ✅ 读取操作: 选择、显示、描述
- ✅ 写入操作: 插入、更新、删除(带安全检查)
- ✅ DDL操作: 创建、更改
- 🔒 安全: 块DROP/TRUNCATE,需要在哪里进行更新/删除
- ⚡ 优化: 自动限制、令牌优化响应、列截断
📡 部署
通过云构建触发器自动部署(推荐)
一次性设置:
# In Google Cloud Console → Cloud Build → Triggers → Create Trigger
Name: snowflake-mcp-auto-deploy
Event: Push to branch
Branch: ^main$
Configuration: Cloud Build configuration file (cloudbuild.yaml)然后:推到main→ 自动部署(3-5分钟)
手动部署
# In Cloud Shell
cd ~/snowflake-mcp-remote
git pull
gcloud config set project productdatacloud
gcloud run deploy snowflake-mcp \
--source . \
--region=europe-west1 \
--platform=managed \
--allow-unauthenticated \
--memory=2Gi \
--cpu=2 \
--min-instances=1 \
--max-instances=10 \
--concurrency=80 \
--timeout=300s \
--update-secrets=SNOWFLAKE_PRIVATE_KEY_CONTENT=snowflake-private-key:latest🔗 用法
服务URL: https://snowflake-mcp-409811184795.europe-west1.run.app
添加到claude.ai:
- 设置→ 连接器→ 添加自定义连接器
- 产品名称:雪花PDC V3.0
- URL:(上面的服务URL)
- 保存
🛠️ 工具
snowflake_query(sql: str, max_rows: int = 20)
使用自动优化和高级功能执行SQL。
示例:
-- UPSERT with MERGE (V2.2!)
MERGE INTO PRODUCT target
USING PRODUCT_RAW source
ON target.PRODUCT_ID = source.PRODUCT_ID
WHEN MATCHED THEN
UPDATE SET target.JSON_DATA = source.JSON_DATA
WHEN NOT MATCHED THEN
INSERT (PRODUCT_ID, REGION, JSON_DATA)
VALUES (source.PRODUCT_ID, source.REGION, source.JSON_DATA)
-- Transactions (V2.2!)
BEGIN TRANSACTION;
-- Multiple operations execute atomically
INSERT INTO TASK_QUEUE (...) VALUES (...);
UPDATE REQUEST_QUEUE SET STATUS = 'processed' WHERE ID = 123;
COMMIT;
-- Or rollback on error
BEGIN TRANSACTION;
DELETE FROM TASK_QUEUE WHERE STATUS = 'failed';
ROLLBACK; -- Undo if needed
-- Dynamic LIMIT (V2.2!)
SELECT * FROM PRODUCT -- Uses default 20
SELECT * FROM PRODUCT_RAW WITH max_rows=100 -- Get 100 rows
SELECT * FROM SOCIAL_MENTIONS WITH max_rows=500 -- Get 500 rows
-- Write operations
INSERT INTO TASK_QUEUE (PRODUCT_ID, STATUS) VALUES ('123', 'pending');
UPDATE TASK_QUEUE
SET STATUS = 'completed'
WHERE PRODUCT_ID = '123';
DELETE FROM TASK_QUEUE
WHERE STATUS = 'completed' AND CREATED_AT =0.2.0
- 雪花连接器python>=3.7.0
- 密码学>=41.0.0
______________________________________________________________________
**维护单位:** David(产品负责人)+Claude(首席开发人员)\
**最后更新时间:** 2025-11-13\
**状态:** 🟢 生产就绪V3.0