Snowflake数据库代理服务

一个用于桥接ElevenLabs对话AI和Snowflake数据库的自定义MCP服务器,提供SQL查询、模式列表和表列表等功能。

  • by jstewartrr
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jstewartrr/elevenlabs-snowflake-mcp

使用说明

ElevenLabs的主权思维MCP代理

自定义MCP服务器,将ElevenLabs会话AI连接到Snowflake数据库。

建筑

ElevenLabs Agent (Abbi)
        │
        ▼
Azure Container App (This Proxy)
        │
        ▼
Snowflake (SOVEREIGN_MIND database)

部署步骤

第一步:创建GitHub仓库

  1. 首选https://github.com/new
  2. 创建一个名为的新存储库 elevenlabs-snowflake-mcp
  3. 上传这三个文件:
    • server.py
    • requirements.txt
    • Dockerfile

步骤2:部署到Azure容器应用程序

  1. 转到Azure门户→ 创建资源 → 容器应用程序

  2. “基本”选项卡:

    • 订阅:您的订阅
    • 资源组: sovereign-mind-rg (或现有)
    • 容器应用程序名称: elevenlabs-mcp-proxy
    • 地区:美国东部
    • 容器应用程序环境:创建新的或使用现有的
  3. 容器选项卡:

    • 图像来源: GitHub
    • 连接您的GitHub帐户
    • 选择存储库: elevenlabs-snowflake-mcp
    • 分行: main
    • Dockerfile: Dockerfile
  4. 环境变量 (添加所有这些):

    名称 值
    雪花_ACCOUNT jga82554东-美国-2.azure
    雪花用户 JOHN_CLAUDE
    SNOWFLAKE_PASSWORD 中土986959
    雪花小屋 主权_民宅
    雪花_数据库 主权_风
    雪花角色 约翰·克劳德
    MCP_API_KEY 47407b604ae3eac9e437a8ae89139454b2f5bd6d497302fb
  5. 入口选项卡:

    • 进入:✅ 启用
    • 入口交通: 接受来自任何地方的流量
    • 入口类型:HTTP
    • 目标端口:8000
  6. 点击 审核+创建 → 创建

步骤3:获取端点URL

部署后,在Azure门户中找到您的URL:

  • 转到您的容器应用程序→ 概述
  • 复制 应用程序Url (例如。, https://elevenlabs-mcp-proxy.blueocean-xxxxx.eastus.azurecontainerapps.io)

步骤4:配置ElevenLabs

在ElevenLabs代理设置中,添加MCP服务器:

选项A:使用MCP协议

URL: https://your-app-url.azurecontainerapps.io/mcp
Type: URL

选项B:使用直接REST(如果MCP不起作用) 使用webhook配置为自定义工具:

URL: https://your-app-url.azurecontainerapps.io/query
Method: POST
Headers: 
  X-API-Key: [your MCP_API_KEY]
Body:
  {"sql": "{{user_query}}"}

可用工具(MCP模式)

  1. query_sovereign_mind -执行SQL查询
  2. list_schemas -显示可用架构
  3. list_tables -显示架构中的表

测试

使用curl测试端点:

# Health check
curl https://your-app-url.azurecontainerapps.io/health

# List schemas
curl https://your-app-url.azurecontainerapps.io/schemas

# Direct query
curl -X POST https://your-app-url.azurecontainerapps.io/query \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-api-key" \
  -d '{"sql": "SELECT COUNT(*) FROM EMAILS.EMAILS"}'

故障排除

ElevenLabs无法连接:

  • 检查Azure容器应用程序日志是否有错误
  • 验证入口设置为“接受来自任何地方的流量”
  • 尝试/health端点以确认应用程序正在运行

雪花错误:

  • 验证环境变量是否正确
  • 检查JOHN_CLAUDE用户是否具有适当的权限
  • 使用简单的查询进行测试,如 SELECT 1