The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Dataiku MCP listing page.
[!IMPORTANT]
Sunset — use
clssck/dataiku-sdkinsteadDataiku MCP Server is no longer actively maintained. Development has moved to the Dataiku DSS SDK — a schema-first TypeScript SDK and
dssCLI that is more actively maintained and covers far more of the DSS API:
- Broader coverage — 30+ DSS resources vs this server's narrow tool set.
- A scriptable
dssCLI with a machine-readable command contract for agents.- One-command agent skill install for Claude, Codex, Cursor, Pi, and OMP.
Migrate here → https://github.com/clssck/dataiku-sdk
MCP server for Dataiku DSS REST APIs, focused on flow analysis and reliable day-to-day operations (projects, datasets, recipes, jobs, scenarios, folders, variables, connections, and code environments).
Cursor one-click install includes placeholder environment values. Update
DATAIKU_URL,DATAIKU_API_KEY, and optionallyDATAIKU_PROJECT_KEYafter adding the server.
project.map) with recipe subtypes and connectivity.not_found, forbidden, validation, transient, unknown with retry hints.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, getRun as a local CLI after build:
Use directly from npm (after publish):
Recommended local workflow from repo root:
Optional live DSS integration tests:
src/: MCP server and tool implementations.tests/: unit + integration test suites.examples/: demos, fixtures, artifacts, and ad-hoc local scripts.bin/: package executable entrypoint.dist/: compiled output (generated).Create a local env file:
Run directly in dev:
Example scripts and sample outputs are kept under examples/ to avoid root-level clutter.
DATAIKU_URL: DSS base URLDATAIKU_API_KEY: DSS API keyDATAIKU_PROJECT_KEY (optional): default project keyDATAIKU_REQUEST_TIMEOUT_MS (optional): per-attempt request timeout in milliseconds (default: 30000)DATAIKU_RETRY_MAX_ATTEMPTS (optional): max attempts for retry-enabled requests (GET only, default: 4, cap: 10)DATAIKU_DEBUG_LATENCY (optional): set to 1/true to include per-tool timing diagnostics in structuredContent.debug.latency (off by default)Use this server command in clients (npm package):
Windows note: if your MCP client launches commands without a shell, use npx.cmd:
You can also run TypeScript directly during development:
Settings -> Developer -> Edit Config.mcpServers in claude_desktop_config.json:Cursor supports both project-scoped and global MCP config:
.cursor/mcp.json~/.cursor/mcp.jsonExample:
cline_mcp_settings.json:This repo already includes a project-scoped MCP file at .mcp.json.
The checked-in .mcp.json uses node node_modules/tsx/dist/cli.mjs src/index.ts for cross-platform startup (including Windows); run npm ci first.
This repo includes a manual GitHub Actions release workflow:
.github/workflows/release.ymlActions -> Release NPM Package -> Run workflowInputs:
bump: patch | minor | majorversion: optional exact version (overrides bump)publish: whether to publish to npmRequired repository configuration:
NPM_RELEASE_ENABLED=trueNPM_PUBLISH_ACCESS=publicThe workflow will:
main.publish=true).Trusted publishing setup (npm):
https://www.npmjs.com/package/dataiku-mcp -> Settings -> Trusted Publisher.GitHub Actions.clssckDataiku_MCPrelease.ymlThis repo is configured for MCP Registry publishing:
server.json.github/workflows/publish-mcp-registry.ymlmcpName in package.jsonServer namespace:
io.github.clssck/dataiku-mcpPublish paths:
Publish to MCP Registry in GitHub Actions.publish=true (it triggers MCP Registry publish).Validation notes:
server.json.name must match package.json.mcpName.server.json.packages[].identifier + version must reference a real npm publish.After adding the server in a client, run:
project with { "action": "map", "projectKey": "YOUR_PROJECT_KEY" } (defaults to maxNodes=300, maxEdges=600; override as needed)You should receive a flow summary in text and normalized nodes, edges, stats, roots, and leaves under structuredContent.map.
When truncation limits are applied (default maxNodes=300, maxEdges=600), structuredContent.truncation reports before/after node+edge counts and whether truncation occurred.
project.map returns a compact text summary; full normalized graph is in structuredContent.map.job.wait and job.buildAndWait include structuredContent.normalizedState with one of terminalSuccess | terminalFailure | timeout | nonTerminal while preserving raw DSS state.DATAIKU_DEBUG_LATENCY=1, responses include per-tool and per-API-call latency metrics under structuredContent.debug.latency.limit/offset (and action-specific caps like maxNodes, maxEdges, maxKeys, maxPackages) to page or expand results when needed.dataset.get and job.get are summary-first by default; pass includeDefinition=true to include full DSS JSON in structuredContent.definition.