mcpField
D
Dataiku MCP

Dataiku MCP

本地服务
github.com数据与分析017 周前更新

关于 Dataiku MCP

Dataiku MCP 是通过 REST API 操作 Dataiku DSS 的 MCP 服务,涵盖项目、流程分析、数据集、配方、作业和场景等资源。项目已不再积极维护,开发转向 Dataiku DSS SDK。

主要功能

  1. 01生成规范化项目流程图
  2. 02操作项目与数据集
  3. 03管理配方和作业
  4. 04操作场景与文件夹
  5. 05提供含重试提示的结构化错误

适用场景

  1. 01检查项目流程及其依赖
  2. 02预览或管理数据集与配方
  3. 03运行作业并查看状态

MCP 相关

向 MCP 客户端提供操作 Dataiku DSS 项目、数据集、配方、作业、场景、文件夹、变量、连接和代码环境的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"clssck-dataiku": {
"command": "npx",
"args": [
"-y",
"dataiku-mcp"
],
"env": {
"DATAIKU_URL": "<DATAIKU_URL>",
"DATAIKU_API_KEY": "<DATAIKU_API_KEY>",
"DATAIKU_PROJECT_KEY": "<DATAIKU_PROJECT_KEY>"
}
}
}
}
启动命令npx -y dataiku-mcp
需要配置的环境变量
DATAIKU_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmdataiku-mcp1.1.1

工具

9

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

重要

停止维护 — 请改用 clssck/dataiku-sdk

Dataiku MCP Server 已不再积极维护。 开发工作已转移至 Dataiku DSS SDK——这是一个以 schema 为先的 TypeScript SDK 和 dss CLI,维护更积极,覆盖的 DSS API 也更广:

  • 覆盖范围更广 — 包含 30 多种 DSS 资源,而本服务的工具集较为有限。
  • 可编写脚本的 dss CLI,提供面向 Agent 的机器可读命令契约。
  • 一键安装 Agent 技能,支持 Claude、Codex、Cursor、Pi 和 OMP。

请在此迁移 → https://github.com/clssck/dataiku-sdk


Dataiku MCP Server

用于 Dataiku DSS REST API 的 MCP 服务,专注于流程分析和可靠的日常操作(项目、数据集、配方、作业、场景、文件夹、变量、连接和代码环境)。

安装 MCP 服务

Cursor 一键安装包含占位环境变量。添加服务后,请更新 DATAIKU_URL、DATAIKU_API_KEY,并可选择设置 DATAIKU_PROJECT_KEY。

可获得的功能

  • 确定性、规范化的流程图(project.map),包含配方子类型和连接关系。
  • 默认优先输出摘要,并在需要时提供明确的原始数据/详细信息切换选项。
  • 广泛的测试覆盖(单元测试 + 实时集成测试 + 可选的破坏性集成测试套件)。
  • 响应采用明确的错误分类:not_found、forbidden、validation、transient、unknown,并提供重试提示。

工具覆盖范围

  • project:list、get、metadata、flow、map
  • dataset:list、get、schema、preview、metadata、download、create、update、delete
  • recipe:list、get、create、update、delete、download
  • job:list、get、log、build、buildAndWait、wait、abort
  • scenario:list、run、status、get、create、update、delete
  • managed_folder:list、get、contents、download、upload、delete_file
  • variable:get、set
  • connection:infer
  • code_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 基础 URL
  • DATAIKU_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
  1. 打开 Claude Desktop -> Settings -> Developer -> Edit Config。
  2. 将以下内容添加到 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 扩展)
  1. 打开 Cline -> MCP Servers -> Configure MCP Servers。
  2. 将此服务配置块添加到 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 | major
  • version:可选的确切版本(优先于 bump)
  • publish:是否发布到 npm

必需的仓库配置:

  • GitHub 变量:NPM_RELEASE_ENABLED=true
  • 可选变量:NPM_PUBLISH_ACCESS=public
  • 在 npmjs.com 上为此软件包/仓库/工作流配置受信任的发布者

该工作流将:

  1. 安装依赖项、运行检查和测试,并进行构建。
  2. 更新软件包版本并创建 git 标签。
  3. 将提交和标签推送到 main。
  4. 使用 GitHub OIDC 受信任发布功能发布到 npm(如果 publish=true)。
  5. 创建附带自动生成说明的 GitHub Release。

受信任发布设置(npm):

  1. 打开 https://www.npmjs.com/package/dataiku-mcp -> Settings -> Trusted Publisher。
  2. 选择 GitHub Actions。
  3. 设置:
    • 组织或用户:clssck
    • 仓库:Dataiku_MCP
    • 工作流文件名:release.yml
  4. 保存。

官方 MCP Registry

此仓库已配置为向 MCP Registry 发布:

  • 元数据文件:server.json
  • 工作流:.github/workflows/publish-mcp-registry.yml
  • 必需的软件包字段:package.json 中的 mcpName

服务命名空间:

  • io.github.clssck/dataiku-mcp

发布途径:

  1. 手动:在 GitHub Actions 中运行 Publish to MCP Registry。
  2. 自动:运行 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。

来源

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。