DataHub (https://datahubproject.io) 的官方 MCP 服务器,集成了 MCP 协议 (https://modelcontextprotocol.io/introduction)。
概述
mcp-server-datahub
一个针对 DataHub 的 Model Context Protocol 服务器实现。
这使得 AI 代理能够查询 DataHub,以获取关于您数据生态系统中的元数据和上下文信息。
支持 DataHub Core 和 DataHub Cloud。
功能
- 跨所有实体类型搜索并使用任意过滤器
- 获取任何实体的元数据
- 遍历血统图(上行和下行)
- 列出与数据集关联的 SQL 查询
演示
查看 演示视频,由 Block 团队合作完成。
使用
-
安装
uv
bash# 在 macOS 和 Linux 上。 curl -LsSf https://astral.sh/uv/install.sh | sh
-
找到您的身份验证详细信息
对于身份验证,您需要以下内容:
- 您的 DataHub 实例的 URL,例如
https://tenant.acryl.io/gms
- 一个 个人访问令牌
替代方案:使用 ~/.datahubenv 进行身份验证
您也可以使用
~/.datahubenv
文件来配置您的身份验证。创建此文件最简单的方法是运行datahub init
并按照提示操作。bashuvx --from acryl-datahub datahub init
- 您的 DataHub 实例的 URL,例如
-
配置您的 MCP 客户端。见下方内容——这将根据您的代理有所不同。
Claude Desktop
运行 which uvx
找到 uvx
命令的完整路径。
在您的 claude_desktop_config.json
文件中,添加以下内容:
json
{
"mcpServers": {
"datahub": {
"command": "<full-path-to-uvx>", # 例如 /Users/hsheth/.local/bin/uvx
"args": ["mcp-server-datahub"],
"env": {
"DATAHUB_GMS_URL": "<your-datahub-url>",
"DATAHUB_GMS_TOKEN": "<your-datahub-token>"
}
}
}
}
Cursor
在 .cursor/mcp.json
中,添加以下内容:
json
{
"mcpServers": {
"datahub": {
"command": "uvx",
"args": ["mcp-server-datahub"],
"env": {
"DATAHUB_GMS_URL": "<your-datahub-url>",
"DATAHUB_GMS_TOKEN": "<your-datahub-token>"
}
}
}
}
其他 MCP 客户端
yaml
command: uvx
args:
- mcp-server-datahub
env:
DATAHUB_GMS_URL: <your-datahub-url>
DATAHUB_GMS_TOKEN: <your-datahub-token>
排查问题
spawn uvx ENOENT
完整的堆栈跟踪可能如下所示:
2025-04-08T19:58:16.593Z [datahub] [error] spawn uvx ENOENT {"stack":"Error: spawn uvx ENOENT\n at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n at onErrorNT (node:internal/child_process:483:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)"}
解决方案:将命令中的 uvx
替换为 which uvx
的输出。
开发
参见 DEVELOPING.md。