关于 datanika-mcp
datanika-mcp 是面向 Datanika 的 MCP 服务,用于浏览数据连接、预览数据、运行 dbt 转换及查看 ELT 管道。默认只读,传入 --allow-write 后可创建资源并触发管道运行。
主要功能
- 01查看连接、架构和表
- 02预览数据并执行只读 SQL
- 03编译、校验和预览 dbt 转换
- 04查看管道、运行记录及日志
- 05可选启用写入和触发运行
适用场景
- 01检查数据源中的表和数据行
- 02执行只读 SQL 查询
- 03验证 dbt 转换并预览结果
- 04查看管道运行状态和日志
MCP 相关
此 MCP 服务向 MCP 客户端提供 Datanika 数据连接、转换、目录和运行记录工具。默认只读;使用 --allow-write 可启用创建资源及触发运行的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx datanika-mcpDATANIKA_URLDatanika instance URL (defaults to https://app.datanika.io; set this for a self-hosted instance)DATANIKA_API_KEY密钥Datanika API key (from Settings -> API Keys)DATANIKA_ALLOW_WRITESet to true to enable write/trigger tools (read-only by default)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Datanika MCP 服务
mcp-name: io.datanika/datanika-mcp
Datanika 的 MCP 服务——可从 Claude Desktop 浏览连接、预览数据、编译和验证 dbt 转换、监控运行情况并管理流水线。
默认仅提供只读权限。 传入 --allow-write 即可创建资源并触发流水线运行。
安装
# From PyPI (recommended)
uvx datanika-mcp --help
# From git
uvx --from "git+https://github.com/datanika-io/datanika-core#subdirectory=datanika-mcp" datanika-mcp --help
Claude Desktop 配置
将以下内容添加到 Claude Desktop 配置文件中(macOS:~/Library/Application Support/Claude/claude_desktop_config.json;Windows:%APPDATA%\Claude\claude_desktop_config.json):
只读(推荐)
{
"mcpServers": {
"datanika": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/datanika-io/datanika-core#subdirectory=datanika-mcp",
"datanika-mcp",
"--url", "https://app.datanika.io",
"--api-key", "YOUR_API_KEY"
]
}
}
}
启用写入权限
{
"mcpServers": {
"datanika": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/datanika-io/datanika-core#subdirectory=datanika-mcp",
"datanika-mcp",
"--url", "https://app.datanika.io",
"--api-key", "YOUR_API_KEY",
"--allow-write"
]
}
}
}
环境变量
也可以通过环境变量进行配置:
{
"mcpServers": {
"datanika": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/datanika-io/datanika-core#subdirectory=datanika-mcp",
"datanika-mcp"
],
"env": {
"DATANIKA_URL": "https://app.datanika.io",
"DATANIKA_API_KEY": "YOUR_API_KEY",
"DATANIKA_ALLOW_WRITE": "true"
}
}
}
}
可用工具
始终可用(只读)
| 工具 | 描述 |
|---|---|
get_agent_tiers | 获取 5 层 Agent 能力栈 |
get_connection_types | 列出支持的连接类型及其配置架构 |
list_connections | 列出组织中的所有连接 |
get_connection | 按 ID 获取连接详情 |
introspect_connection | 列出源连接的架构/表 |
preview_connection | 预览表中的前 N 行 |
query_connection | 执行只读 SQL 查询 |
compile_transformation | 编译 dbt 转换(不执行) |
preview_transformation | 编译并执行,返回预览行 |
list_uploads | 列出所有上传 |
list_pipelines | 列出所有流水线 |
list_transformations | 列出所有转换 |
list_runs | 列出运行记录,可选筛选条件 |
get_run | 按 ID 获取运行详情 |
get_run_logs | 获取运行日志 |
list_catalog | 列出目录条目(源表和 dbt 模型) |
get_catalog_entry | 获取目录条目详情 |
需要 --allow-write
| 工具 | 描述 |
|---|---|
create_connection | 创建新的数据连接 |
create_upload | 创建新的上传(提取并加载) |
create_pipeline | 创建新的流水线(dbt 编排) |
create_transformation | 创建新的 dbt SQL 转换 |
bulk_import | 根据 JSON v2 格式批量创建资源 |
trigger_upload | 触发上传运行 |
trigger_pipeline | 触发流水线运行 |
trigger_transformation | 触发转换运行 |
自托管
将 --url 指向你的实例。请使用后端端口(8000)——3000 是
Reflex 前端,不提供 /api/v1:
datanika-mcp --url http://localhost:8000 --api-key etf_your_key
发布(维护者)
datanika-mcp 通过 GitHub Actions Trusted Publishing(OIDC——不存储 API 令牌)发布到 PyPI。要发布新版本(从 master 分支操作):
-
在
pyproject.toml中更新version。 -
创建并推送标签——标签版本必须与
pyproject.toml一致:git tag mcp-v0.2.0 git push origin mcp-v0.2.0 -
Release datanika-mcp to PyPI工作流会构建 sdist 和 wheel 并发布。验证方式:uvx datanika-mcp --help应能从 PyPI 解析。
首次发布设置:首次推送标签并发布前,必须配置一次性 PyPI 可信发布者(项目
datanika-mcp、仓库datanika-io/datanika-core、工作流release-mcp.yml、环境pypi)。请参阅 infra human-locker。
许可证
AGPL-3.0——与 Datanika 核心平台相同。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。