使用说明
_CHMCP服务器
一个用于与ViewModel交互的模型上下文协议(MCP)服务器——执行SQL查询、管理仪表板、保存的查询、查询历史和作业。
在代理模式下使用时,它可以迭代请求以执行复杂任务。与Unity Catalog元数据结合使用会更好。
特性
SQL和目录
execute_sql_query--执行SQL查询并返回格式化结果list_schemas--列出目录中的架构list_tables--列出架构中的表describe_table--描述表的列和类型list_views--列出目录/架构中的视图get_view_definition--获取视图的DDL
仪表板(AI/BI湖景)
list_dashboards--列出所有带分页的仪表板get_dashboard--获取仪表板详细信息和序列化内容create_dashboard--创建新仪表板update_dashboard--更新名称、内容或仓库publish_dashboard--为观众发布草稿unpublish_dashboard--删除已发布版本(保留草稿)trash_dashboard--移至垃圾箱(可回收)
保存的查询
list_saved_queries--列出已保存的SQL查询get_saved_query--获取查询详细信息和SQL文本create_saved_query--创建新的已保存查询update_saved_query--更新名称、SQL文本或描述delete_saved_query--移至垃圾箱
查询历史
get_query_history--使用筛选器(仓库、状态、用户)查看最近的查询执行情况
工作
list_jobs--列出工作区中的所有作业list_job_runs--列表运行(按作业筛选,活动/已完成)get_job_run--获取详细的跑步信息run_job--立即触发作业cancel_job_run--取消活动跑步
先决条件
- Python 3.10+
- Rancher个人访问令牌
- 紫外线 (推荐)或pip
Mews的默认设置
服务器附带默认的 Mews Rancher开发环境 和那个 即席SQL仓库 用于大多数日常工作:
| 变量 | 默认值 | 是否需要覆盖? |
|---|---|---|
DATABRICKS_HOST |
https://adb-5769108933149883.3.azuredatabricks.net |
否(除非使用其他工作区) |
DATABRICKS_SQL_WAREHOUSE_ID |
3fad3bbb3022870c |
否(除非使用其他仓库) |
DATABRICKS_TOKEN |
(无) | 是的,您必须提供自己的令牌 |
要获取您的令牌: Databricks UI>用户设置>开发人员>访问令牌
安装
大多数Mews用户只需设置 DATABRICKS_TOKEN。主机和仓库ID已内置。
克劳德代码
选项1:CLI(推荐)
claude mcp add \
--transport stdio \
--env DATABRICKS_TOKEN=your-token \
databricks -- uv run --directory /path/to/mcp-databricks-server python main.py
选项2:JSON配置
claude mcp add-json databricks '{
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-databricks-server", "python", "main.py"],
"env": {
"DATABRICKS_TOKEN": "your-token"
}
}'
选项3:直接编辑设置
添加 ~/.claude/settings.json 在...之下 mcpServers:
{
"mcpServers": {
"databricks": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-databricks-server", "python", "main.py"],
"env": {
"DATABRICKS_TOKEN": "your-token"
}
}
}
}
验证 /mcp 在Claude Code内部检查服务器是否已连接。
克劳德桌面
编辑您的配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
(通过Claude菜单>设置>开发人员>编辑配置访问)
{
"mcpServers": {
"databricks": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-databricks-server", "python", "main.py"],
"env": {
"DATABRICKS_TOKEN": "your-token"
}
}
}
}
保存后重新启动Claude Desktop。
光标
一键安装:
手动设置:
添加 .cursor/mcp.json (项目层面)或 ~/.cursor/mcp.json (全球):
{
"mcpServers": {
"databricks": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-databricks-server", "python", "main.py"],
"env": {
"DATABRICKS_TOKEN": "your-token"
}
}
}
}
转到“设置”>“工具和MCP”以验证服务器负载。
没有uv(普通Python)
将上述任何配置中的命令/args替换为:
{
"command": "python",
"args": ["/path/to/mcp-databricks-server/main.py"]
}
确保先安装依赖项:
cd /path/to/mcp-databricks-server
pip install -r requirements.txt
使用不同的工作区或仓库
如果你需要覆盖默认值(例如连接到生产工作区或其他仓库),请将这些环境变量添加到你的配置中:
{
"env": {
"DATABRICKS_TOKEN": "your-token",
"DATABRICKS_HOST": "https://your-other-instance.azuredatabricks.net",
"DATABRICKS_SQL_WAREHOUSE_ID": "your-other-warehouse-id"
}
}
环境设置(替代:.env文件)
您可以创建一个 .env 服务器目录中的文件:
DATABRICKS_TOKEN=your-token
或者覆盖所有默认值:
DATABRICKS_HOST=https://your-instance.azuredatabricks.net
DATABRICKS_TOKEN=your-token
DATABRICKS_SQL_WAREHOUSE_ID=your-warehouse-id
服务器加载 .env 自动通过 python-dotenv.
示例用法
# SQL
execute_sql_query("SELECT * FROM my_catalog.my_schema.my_table LIMIT 10")
list_schemas("my_catalog")
describe_table("my_catalog.my_schema.my_table")
# Dashboards
list_dashboards()
get_dashboard("04aab30f-99ea-4444-90c1-0c85852f216c")
create_dashboard("Monthly Report", parent_path="/Users/me@company.com")
# Saved Queries
list_saved_queries()
create_saved_query("Top Customers", "SELECT * FROM customers ORDER BY revenue DESC LIMIT 100")
# Query History
get_query_history(max_results=10, status="FAILED")
# Jobs
list_jobs()
run_job(11223344)
list_job_runs(job_id=11223344, completed_only=True)
故障排除
服务器未连接:运行 python main.py 直接检查导入错误。确保安装了所有依赖项。
身份验证错误:验证您的令牌是否有效,以及您的SQL仓库是否正在运行。
缺少依赖项: pip install databricks-sdk httpx python-dotenv "mcp[cli]"
长时间运行的查询:服务器轮询最多10分钟(可在中配置 dbapi.py).
权限
- SQL仓库:令牌用户需要仓库访问权限(SQL仓库>权限)
- 数据访问:令牌用户需要对查询的目录/模式/表进行SELECT
- 仪表盘:可以管理创建/更新/发布操作的权限
- 工作:运行/取消操作的适当作业权限
为了安全起见,请使用具有最低必要权限的专用令牌,并定期轮换。
依赖项
- mcp[cli] --模型上下文协议框架
- sdk数据库 --Rancher Python SDK
- httpx --异步HTTP客户端
- python dotenv --.env文件加载
- 皮丹提克 --数据验证
