热传感器MCP服务器客户端
用于与Snowflake MCP服务器交互的Python客户端 THERMAL_SENSOR_SEMANTIC_VIEW_MCP.
概述
此客户端通过Snowflake的模型上下文协议(MCP)服务器提供对热传感器数据的编程访问。它支持通过Cortex Analyst进行自然语言查询和直接执行SQL。
先决条件
- Python 3.9+
- 具有MCP服务器访问权限的Snowflake帐户
- 具有适当权限的个人访问令牌(PAT)
安装
pip install requests配置
将Snowflake PAT令牌设置为环境变量:
export SNOWFLAKE_PAT_TOKEN="your_pat_token_here"或者通过直接传递给函数 pat_token 参数。
MCP服务器详细信息
| 财产 | 价值 |
|---|---|
| 数据库 | DEMO |
| 架构 | DEMO |
| 服务器名称 | THERMAL_SENSOR_SEMANTIC_VIEW_MCP |
| 端点 | https://YOURSNOWFLAKE.snowflakecomputing.com/api/v2/databases/DEMO/schemas/DEMO/mcp-servers/THERMAL_SENSOR_SEMANTIC_VIEW_MCP |
可用工具
| 工具名称 | 类型 | 描述 |
|---|---|---|
thermal_sensor_semantic_view | CORTEX_ALYST_MESSAGE | 针对热传感器数据的自然语言查询 |
sql_exec_tool | SYSTEM_EXECUTE-SQL | 执行原始SQL查询 |
用法
运行演示
python3 thermal_sensor_mcp_client.py作为模块导入
from thermal_sensor_mcp_client import (
list_tools,
query_thermal_sensors,
execute_sql
)
# List available tools
tools = list_tools()
# Natural language query via Cortex Analyst
result = query_thermal_sensors("What is the average temperature?")
# Direct SQL execution
result = execute_sql("SELECT * FROM DEMO.DEMO.THERMAL_SENSORS LIMIT 10")API 参考
list_tools(pat_token=None)
列出MCP服务器上的所有可用工具。
退货: 带有工具定义的JSON-RPC响应
query_thermal_sensors(question, pat_token=None)
使用自然语言查询热传感器语义视图。
参数:
question(str):关于热传感器数据的自然语言问题
退货: 带查询结果的JSON-RPC响应
execute_sql(sql_query, pat_token=None)
对Snowflake执行原始SQL查询。
参数:
sql_query(str):要执行的SQL语句
退货: 带查询结果的JSON-RPC响应
call_mcp_server(tool_name, arguments, pat_token=None)
调用任何MCP工具的低级函数。
参数:
tool_name(str):MCP工具的名称arguments(dict):工具特定参数
退货: JSON-RPC响应
查询示例
# Temperature analytics
query_thermal_sensors("What is the maximum temperature recorded today?")
query_thermal_sensors("Show me sensors with temperatures above 80 degrees")
query_thermal_sensors("What is the average temperature by sensor location?")
# Direct SQL
execute_sql("SELECT sensor_id, temperature, timestamp FROM DEMO.DEMO.THERMAL_SENSORS ORDER BY timestamp DESC LIMIT 5")故障排除
| 错误 | 解决方案 |
|---|---|
SNOWFLAKE_PAT_TOKEN environment variable required | 设置PAT令牌环境变量或将其传递给函数 |
401 Unauthorized | 验证您的PAT令牌是否有效,是否具有MCP服务器访问权限 |
404 Not Found | 验证MCP服务器是否存在于 DEMO.DEMO |
许可证
阿帕奇
