雪花Cortex代理MCP服务器
一种模型上下文协议(MCP)服务器,可与Snowflake Cortex代理和分析器无缝集成。此服务器允许您通过VS Code、Claude Desktop或任何兼容MCP的客户端使用自然语言查询Snowflake数据。
这个仓库是专门为VS代码/复制品版本设计的。
🚀 快速开始
先决条件
- Python 3.11或更高版本
- UV包管理器(
pip install uv) - 带有MCP扩展的VS代码(设置链接)
- 访问启用了Cortex功能的Snowflake帐户
- 在您的Snowflake帐户中创建的Cortex代理
设置
- 首先安装MCP CLI(uv)并引导您的项目:
curl -LsSf https://astral.sh/uv/install.sh | sh- 配置并创建Cortex代理项目:
git clone https://github.com/xero-internal/snowflake-mcp-hackathon.git
cd snowflake-mcp-hackathon
# Create and activate venv
uv venv
source .venv/bin/activate # macOS/Linux
# Install MCP SDK and HTTP client
uv add "mcp[cli]" httpx安装
- 克隆并设置项目:
uv sync- 配置环境变量:
cp .env.template .env
# Edit .env with your Snowflake configuration- 配置VS代码MCP设置:
1. 首先按照此页面在VS Code上设置您的MCP客户端: https://xero.atlassian.net/wiki/spaces/EngX/pages/270817986206/Setup+GitHub+副本+on+VS+代码
1. 添加到您的VS代码 mcp.json (命令选项板→ “MCP:编辑配置”):
{
"servers": {
"cortex-agent": {
"command": "/opt/homebrew/bin/uv",
"args": [
"--directory",
"",
"run",
"python",
"server.py"
]
}
}
}记录和监控
MCP服务器提供全面的日志记录,以帮助您调试、监视和分析与Snowflake Cortex代理的所有交互。
日志文件
服务器在 utils/logs/ 目录:
- 协议日志 (
mcp_protocol_YYYYMMDD_HHMMSS.log)
- 记录所有MCP工具请求和响应 - 包括请求参数、响应数据和执行时间 - 非常适合调试和监控工具的使用 - 具有清晰分隔符的人类可读格式
- 调试日志 (
mcp_server_detailed_YYYYMMDD_HHMMSS.log)
- 详细的技术日志,包括内部服务器操作 - Python堆栈错误跟踪 - 系统级调试信息
查看日志
选项1:使用日志文件
在终端中直接查看日志:
# View latest protocol log
tail -f utils/logs/mcp_protocol_*.log
# View all logs from today
cat utils/logs/mcp_protocol_$(date +%Y%m%d)_*.log
# Search for specific tool usage
grep -n "run_cortex_agent" utils/logs/mcp_protocol_*.log选项2:VS代码
直接在VS Code中打开日志文件进行语法高亮显示和搜索:
code utils/logs/