一个实现了模型上下文协议(MCP)的服务器,提供Claude访问Snowflake数据库的功能。
此服务器实现了模型上下文协议,允许Claude:
要通过Smithery自动安装mcp-service-snowflake给Claude Desktop:
npx -y @smithery/cli install @datawiz168/mcp-service-snowflake --client claude
git clone https://github.com/datawiz168/mcp-snowflake-service.git
pip install -r requirements.txt
在claude_desktop_config.json中添加以下配置:
{
"mcpServers": {
"snowflake": {
"command": "C:\\Users\\K\\anaconda3\\envs\\regular310\\python.exe",
"args": ["D:\\tools\\mcp-snowflake\\server.py"]
}
}
}
配置参数说明:
command:Python解释器的完整路径。请根据您的Python安装位置进行修改。args:服务器脚本的完整路径。请根据您克隆仓库的位置进行修改。不同操作系统下的示例路径:
Windows:
{
"mcpServers": {
"snowflake": {
"command": "C:\\Users\\YourUsername\\anaconda3\\python.exe",
"args": ["C:\\Path\\To\\mcp-snowflake\\server.py"]
}
}
}
MacOS/Linux:
{
"mcpServers": {
"snowflake": {
"command": "/usr/bin/python3",
"args": ["/path/to/mcp-snowflake/server.py"]
}
}
}
在项目根目录下创建.env文件,并添加以下配置:
SNOWFLAKE_USER=your_username # 您的用户名
SNOWFLAKE_PASSWORD=your_password # 您的密码
SNOWFLAKE_ACCOUNT=NRB18479.US-WEST-2 # 示例: NRB18479.US-WEST-2
SNOWFLAKE_DATABASE=your_database # 您的数据库
SNOWFLAKE_WAREHOUSE=your_warehouse # 您的数据仓库
服务器提供了以下自动连接管理功能:
自动连接初始化
连接维护
连接清理
服务器会随着Claude Desktop客户端自动启动,无需手动启动。一旦服务器运行起来,Claude就可以执行Snowflake查询。
对于开发测试,您可以使用以下命令单独启动服务器:
python server.py
注意:正常情况下不需要手动启动服务器。Claude Desktop客户端会根据配置自动管理服务器的启动和关闭。
要贡献代码或报告问题,请:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)MCP Server Snowflake通过数据库用户精确控制数据库访问权限。如果您只需要读取数据,只需分配一个只有读取数据库权限的用户。
此项目采用MIT许可证。