关于 Dataiku MCP
Dataiku MCP 是通过 REST API 操作 Dataiku DSS 的 MCP 服务,涵盖项目、流程分析、数据集、配方、作业和场景等资源。项目已不再积极维护,开发转向 Dataiku DSS SDK。
主要功能
- 01生成规范化项目流程图
- 02操作项目与数据集
- 03管理配方和作业
- 04操作场景与文件夹
- 05提供含重试提示的结构化错误
适用场景
- 01检查项目流程及其依赖
- 02预览或管理数据集与配方
- 03运行作业并查看状态
MCP 相关
向 MCP 客户端提供操作 Dataiku DSS 项目、数据集、配方、作业、场景、文件夹、变量、连接和代码环境的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y dataiku-mcpDATAIKU_URLDataiku DSS instance URL (for example, https://my-dss.app.dataiku.io).DATAIKU_API_KEY密钥Dataiku API key.DATAIKU_PROJECT_KEY密钥Optional default Dataiku project key.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
9收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
重要
停止维护 — 请改用
clssck/dataiku-sdkDataiku MCP Server 已不再积极维护。 开发工作已转移至 Dataiku DSS SDK——这是一个以 schema 为先的 TypeScript SDK 和
dssCLI,维护更积极,覆盖的 DSS API 也更广:
- 覆盖范围更广 — 包含 30 多种 DSS 资源,而本服务的工具集较为有限。
- 可编写脚本的
dssCLI,提供面向 Agent 的机器可读命令契约。- 一键安装 Agent 技能,支持 Claude、Codex、Cursor、Pi 和 OMP。
请在此迁移 → https://github.com/clssck/dataiku-sdk
Dataiku MCP Server
用于 Dataiku DSS REST API 的 MCP 服务,专注于流程分析和可靠的日常操作(项目、数据集、配方、作业、场景、文件夹、变量、连接和代码环境)。
Cursor 一键安装包含占位环境变量。添加服务后,请更新
DATAIKU_URL、DATAIKU_API_KEY,并可选择设置DATAIKU_PROJECT_KEY。
可获得的功能
- 确定性、规范化的流程图(
project.map),包含配方子类型和连接关系。 - 默认优先输出摘要,并在需要时提供明确的原始数据/详细信息切换选项。
- 广泛的测试覆盖(单元测试 + 实时集成测试 + 可选的破坏性集成测试套件)。
- 响应采用明确的错误分类:
not_found、forbidden、validation、transient、unknown,并提供重试提示。
工具覆盖范围
project:list、get、metadata、flow、mapdataset:list、get、schema、preview、metadata、download、create、update、deleterecipe:list、get、create、update、delete、downloadjob:list、get、log、build、buildAndWait、wait、abortscenario:list、run、status、get、create、update、deletemanaged_folder:list、get、contents、download、upload、delete_filevariable:get、setconnection:infercode_env:list、get
前置条件
- Node.js 20+
- npm
- Dataiku DSS URL + API 密钥
快速开始
npm ci
npm run build
构建后,作为本地 CLI 运行:
node dist/index.js
从 npm 直接使用(发布后):
npx -y dataiku-mcp
本地构建与测试
从仓库根目录开始的推荐本地工作流:
# install deps
npm ci
# static checks
npm run check
# unit tests
npm test
# build distribution
npm run build
# run MCP server locally (dev)
npm start
可选的实时 DSS 集成测试:
# requires DATAIKU_URL, DATAIKU_API_KEY, DATAIKU_PROJECT_KEY in .env
npm run test:integration
# includes destructive actions (create/update/delete)
DATAIKU_MCP_DESTRUCTIVE_TESTS=1 npm run test:integration
仓库结构
src/:MCP 服务和工具实现。tests/:单元测试和集成测试套件。examples/:演示、测试固件、制品和临时本地脚本。bin/:软件包可执行入口。dist/:编译输出(生成)。
创建本地环境文件:
cp .env.example .env
# then edit .env
在开发模式下直接运行:
npm start
示例脚本和输出样例保存在 examples/ 下,以避免根目录杂乱。
环境变量
DATAIKU_URL:DSS 基础 URLDATAIKU_API_KEY:DSS API 密钥DATAIKU_PROJECT_KEY(可选):默认项目密钥DATAIKU_REQUEST_TIMEOUT_MS(可选):每次请求尝试的超时时间(毫秒;默认值:30000)DATAIKU_RETRY_MAX_ATTEMPTS(可选):启用重试的请求的最大尝试次数(仅限GET;默认值:4,上限:10)DATAIKU_DEBUG_LATENCY(可选):设为1/true,即可在structuredContent.debug.latency中包含每个工具的计时诊断信息(默认关闭)
MCP 客户端配置指南
在客户端中使用此服务命令(npm 软件包):
{
"command": "npx",
"args": ["-y", "dataiku-mcp"],
"env": {
"DATAIKU_URL": "https://your-dss-instance.app.dataiku.io",
"DATAIKU_API_KEY": "your_api_key",
"DATAIKU_PROJECT_KEY": "YOUR_PROJECT_KEY"
}
}
Windows 注意事项:如果 MCP 客户端启动命令时不使用 shell,请使用 npx.cmd:
{
"command": "npx.cmd",
"args": ["-y", "dataiku-mcp"],
"env": {
"DATAIKU_URL": "https://your-dss-instance.app.dataiku.io",
"DATAIKU_API_KEY": "your_api_key",
"DATAIKU_PROJECT_KEY": "YOUR_PROJECT_KEY"
}
}
开发期间也可以直接运行 TypeScript:
{
"command": "npx",
"args": ["tsx", "/absolute/path/to/Dataiku_MCP/src/index.ts"],
"env": {
"DATAIKU_URL": "https://your-dss-instance.app.dataiku.io",
"DATAIKU_API_KEY": "your_api_key",
"DATAIKU_PROJECT_KEY": "YOUR_PROJECT_KEY"
}
}
Claude Desktop
- 打开 Claude Desktop ->
Settings->Developer->Edit Config。 - 将以下内容添加到
claude_desktop_config.json的mcpServers下:
{
"mcpServers": {
"dataiku": {
"command": "npx",
"args": ["-y", "dataiku-mcp"],
"env": {
"DATAIKU_URL": "https://your-dss-instance.app.dataiku.io",
"DATAIKU_API_KEY": "your_api_key",
"DATAIKU_PROJECT_KEY": "YOUR_PROJECT_KEY"
}
}
}
}
Cursor
Cursor 同时支持项目级和全局 MCP 配置:
- 项目级:
.cursor/mcp.json - 全局:
~/.cursor/mcp.json
示例:
{
"mcpServers": {
"dataiku": {
"command": "npx",
"args": ["-y", "dataiku-mcp"],
"env": {
"DATAIKU_URL": "https://your-dss-instance.app.dataiku.io",
"DATAIKU_API_KEY": "your_api_key",
"DATAIKU_PROJECT_KEY": "YOUR_PROJECT_KEY"
}
}
}
}
Cline(VS Code 扩展)
- 打开 Cline -> MCP Servers -> Configure MCP Servers。
- 将此服务配置块添加到
cline_mcp_settings.json:
{
"mcpServers": {
"dataiku": {
"command": "npx",
"args": ["-y", "dataiku-mcp"],
"env": {
"DATAIKU_URL": "https://your-dss-instance.app.dataiku.io",
"DATAIKU_API_KEY": "your_api_key",
"DATAIKU_PROJECT_KEY": "YOUR_PROJECT_KEY"
}
}
}
}
Codex / 项目级 MCP 配置
此仓库已包含项目级 MCP 文件 .mcp.json。
已提交的 .mcp.json 使用 node node_modules/tsx/dist/cli.mjs src/index.ts 进行跨平台启动(包括 Windows);请先运行 npm ci。
NPM 发布工作流
此仓库包含一个手动 GitHub Actions 发布工作流:
- 工作流文件:
.github/workflows/release.yml - 触发方式:
Actions->Release NPM Package->Run workflow
输入项:
bump:patch | minor | majorversion:可选的确切版本(优先于bump)publish:是否发布到 npm
必需的仓库配置:
- GitHub 变量:
NPM_RELEASE_ENABLED=true - 可选变量:
NPM_PUBLISH_ACCESS=public - 在 npmjs.com 上为此软件包/仓库/工作流配置受信任的发布者
该工作流将:
- 安装依赖项、运行检查和测试,并进行构建。
- 更新软件包版本并创建 git 标签。
- 将提交和标签推送到
main。 - 使用 GitHub OIDC 受信任发布功能发布到 npm(如果
publish=true)。 - 创建附带自动生成说明的 GitHub Release。
受信任发布设置(npm):
- 打开
https://www.npmjs.com/package/dataiku-mcp->Settings->Trusted Publisher。 - 选择
GitHub Actions。 - 设置:
- 组织或用户:
clssck - 仓库:
Dataiku_MCP - 工作流文件名:
release.yml
- 组织或用户:
- 保存。
官方 MCP Registry
此仓库已配置为向 MCP Registry 发布:
- 元数据文件:
server.json - 工作流:
.github/workflows/publish-mcp-registry.yml - 必需的软件包字段:
package.json中的mcpName
服务命名空间:
io.github.clssck/dataiku-mcp
发布途径:
- 手动:在 GitHub Actions 中运行
Publish to MCP Registry。 - 自动:运行 npm 发布工作流并设置
publish=true(这会触发 MCP Registry 发布)。
验证说明:
server.json.name必须与package.json.mcpName一致。server.json.packages[].identifier+version必须指向实际发布到 npm 的版本。
推荐的验证提示词
在客户端中添加服务后,运行:
- 使用
{ "action": "map", "projectKey": "YOUR_PROJECT_KEY" }调用project(默认值为maxNodes=300、maxEdges=600;可按需覆盖)
你应会收到文本格式的流程摘要,以及 structuredContent.map 下经过规范化的 nodes、edges、stats、roots 和 leaves。
应用截断限制时(默认值为 maxNodes=300、maxEdges=600),structuredContent.truncation 会报告截断前后的节点数和边数,以及是否发生了截断。
说明
project.map会返回精简的文本摘要;完整的规范化图位于structuredContent.map中。- 规范化映射输出中的数组会以确定性顺序排序,以减少差异变动。
job.wait和job.buildAndWait会在structuredContent.normalizedState中包含以下状态之一:terminalSuccess | terminalFailure | timeout | nonTerminal,同时保留 DSS 原始state。- 设置
DATAIKU_DEBUG_LATENCY=1后,响应会在structuredContent.debug.latency下包含每个工具和每次 API 调用的延迟指标。 - 列表类响应默认受令牌数量限制;需要翻页或扩展结果时,请使用
limit/offset(以及maxNodes、maxEdges、maxKeys、maxPackages等特定操作的上限)。 dataset.get和job.get默认优先返回摘要;传入includeDefinition=true可在structuredContent.definition中包含完整的 DSS JSON。
来源
- MCP 本地服务连接文档:https://modelcontextprotocol.io/docs/develop/connect-local-servers
- Cursor MCP 文档:https://cursor.com/docs/context/mcp
- Cline MCP 文档:https://docs.cline.bot/mcp/configuring-mcp-servers
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。