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

光标一键安装包括占位符环境值。更新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本地构建和测试
建议使用来自repo根目录的本地工作流:
# 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/:编译输出(生成)。
创建本地env文件:
cp .env.example .env
# then edit .env直接在dev中运行:
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"
}
}克劳德桌面版
- 打开克劳德桌面->
Settings->Developer->Edit Config. - 在下面添加此项
mcpServers在claude_desktop_config.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"
}
}
}
}光标
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代码扩展)
- 打开临床->MCP服务器->配置MCP服务器。
- 在中添加此服务器块
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上为此包/report/工作流配置了受信任的发布者
工作流程将:
- 安装依赖项,运行检查/测试,然后构建。
- 缓冲包版本并创建git标签。
- 将commit+标签推送到
main. - 使用GitHub OIDC可信发布发布到npm(如果
publish=true). - 使用生成的注释创建GitHub版本。
可信发布设置(npm):
- 打开
https://www.npmjs.com/package/dataiku-mcp->Settings->Trusted Publisher. - 选择
GitHub Actions. - 设置:
- 组织或用户: clssck - 存储库: Dataiku_MCP - 工作流文件名: release.yml
- 保存。
MCP官方登记处
此存储库配置用于MCP注册表发布:
- 元数据文件:
server.json - 工作流程:
.github/workflows/publish-mcp-registry.yml - 必填包字段:
mcpName在package.json
服务器命名空间:
io.github.clssck/dataiku-mcp
发布路径:
- 手动:运行
Publish to MCP Registry在GitHub操作中。 - 自动:使用以下命令运行npm发布工作流
publish=true(它触发MCP注册表发布)。
验证说明:
server.json.name必须匹配package.json.mcpName.server.json.packages[].identifier+version必须引用真正的npm发布。
推荐验证提示
在客户端中添加服务器后,运行:
project随着{ "action": "map", "projectKey": "YOUR_PROJECT_KEY" }(默认为maxNodes=300,maxEdges=600;根据需要进行覆盖)
您应该收到一份文本形式的流程摘要并进行规范化 nodes, edges, stats, roots,以及 leaves 在...之下 structuredContent.map. 应用截断限制时(默认值 maxNodes=300, maxEdges=600), structuredContent.truncation 报告节点+边计数之前/之后以及是否发生截断。
备注
project.map返回一个简洁的文本摘要;全归一化图在structuredContent.map.- 对归一化映射输出中的数组进行确定性排序,以减少差异变化。
job.wait和job.buildAndWait包括structuredContent.normalizedState其中之一terminalSuccess | terminalFailure | timeout | nonTerminal同时保留原始DSSstate.- 随着
DATAIKU_DEBUG_LATENCY=1,响应包括下的每托和每-API-调用延迟度量structuredContent.debug.latency. - 默认情况下,列表样式的响应是有标记限制的;使用
limit/offset(以及特定行动的上限,如maxNodes,maxEdges,maxKeys,maxPackages)在需要时分页或展开结果。 dataset.get和job.get默认情况下,先进行摘要;通过includeDefinition=true将完整的DSS JSON包含在structuredContent.definition.
来源
- MCP本地服务器连接文档:https://modelcontextprotocol.io/docs/develop/connect-local-servers
- 光标MCP文档:https://cursor.com/docs/context/mcp
- 临床MCP文件:https://docs.cline.bot/mcp/configuring-mcp-servers
