{
  "markdown": "> [!IMPORTANT]\n> ## Sunset — use [`clssck/dataiku-sdk`](https://github.com/clssck/dataiku-sdk) instead\n>\n> **Dataiku MCP Server is no longer actively maintained.** Development has moved to the\n> **[Dataiku DSS SDK](https://github.com/clssck/dataiku-sdk)** — a schema-first TypeScript SDK and\n> `dss` CLI that is more actively maintained and covers far more of the DSS API:\n>\n> - **Broader coverage** — 30+ DSS resources vs this server's narrow tool set.\n> - **A scriptable `dss` CLI** with a machine-readable command contract for agents.\n> - **One-command agent skill install** for Claude, Codex, Cursor, Pi, and OMP.\n>\n> Migrate here → **https://github.com/clssck/dataiku-sdk**\n>\n> ---\n\n# Dataiku MCP Server\n\nMCP 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).\n\n[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=dataiku-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRhdGFpa3UtbWNwIl0sImVudiI6eyJEQVRBSUtVX1VSTCI6Imh0dHBzOi8veW91ci1kc3MtaW5zdGFuY2UuYXBwLmRhdGFpa3UuaW8iLCJEQVRBSUtVX0FQSV9LRVkiOiJ5b3VyX2FwaV9rZXkiLCJEQVRBSUtVX1BST0pFQ1RfS0VZIjoiWU9VUl9QUk9KRUNUX0tFWSJ9fQ%3D%3D)\n\n> Cursor one-click install includes placeholder environment values. Update `DATAIKU_URL`, `DATAIKU_API_KEY`, and optionally `DATAIKU_PROJECT_KEY` after adding the server.\n\n## What You Get\n\n- Deterministic normalized flow maps (`project.map`) with recipe subtypes and connectivity.\n- Summary-first outputs with explicit raw/detail toggles where needed.\n- Broad test coverage (unit + live integration + optional destructive integration suite).\n- Strong error taxonomy in responses: `not_found`, `forbidden`, `validation`, `transient`, `unknown` with retry hints.\n\n## Tool Coverage\n\n- `project`: `list`, `get`, `metadata`, `flow`, `map`\n- `dataset`: `list`, `get`, `schema`, `preview`, `metadata`, `download`, `create`, `update`, `delete`\n- `recipe`: `list`, `get`, `create`, `update`, `delete`, `download`\n- `job`: `list`, `get`, `log`, `build`, `buildAndWait`, `wait`, `abort`\n- `scenario`: `list`, `run`, `status`, `get`, `create`, `update`, `delete`\n- `managed_folder`: `list`, `get`, `contents`, `download`, `upload`, `delete_file`\n- `variable`: `get`, `set`\n- `connection`: `infer`\n- `code_env`: `list`, `get`\n\n## Prerequisites\n\n- Node.js 20+\n- npm\n- Dataiku DSS URL + API key\n\n## Quick Start\n\n```bash\nnpm ci\nnpm run build\n```\n\nRun as a local CLI after build:\n\n```bash\nnode dist/index.js\n```\n\nUse directly from npm (after publish):\n\n```bash\nnpx -y dataiku-mcp\n```\n\n## Local Build And Testing\n\nRecommended local workflow from repo root:\n\n```bash\n# install deps\nnpm ci\n\n# static checks\nnpm run check\n\n# unit tests\nnpm test\n\n# build distribution\nnpm run build\n\n# run MCP server locally (dev)\nnpm start\n```\n\nOptional live DSS integration tests:\n\n```bash\n# requires DATAIKU_URL, DATAIKU_API_KEY, DATAIKU_PROJECT_KEY in .env\nnpm run test:integration\n\n# includes destructive actions (create/update/delete)\nDATAIKU_MCP_DESTRUCTIVE_TESTS=1 npm run test:integration\n```\n\n## Repository Layout\n\n- `src/`: MCP server and tool implementations.\n- `tests/`: unit + integration test suites.\n- `examples/`: demos, fixtures, artifacts, and ad-hoc local scripts.\n- `bin/`: package executable entrypoint.\n- `dist/`: compiled output (generated).\n\nCreate a local env file:\n\n```bash\ncp .env.example .env\n# then edit .env\n```\n\nRun directly in dev:\n\n```bash\nnpm start\n```\n\nExample scripts and sample outputs are kept under `examples/` to avoid root-level clutter.\n\n## Environment Variables\n\n- `DATAIKU_URL`: DSS base URL\n- `DATAIKU_API_KEY`: DSS API key\n- `DATAIKU_PROJECT_KEY` (optional): default project key\n- `DATAIKU_REQUEST_TIMEOUT_MS` (optional): per-attempt request timeout in milliseconds (default: `30000`)\n- `DATAIKU_RETRY_MAX_ATTEMPTS` (optional): max attempts for retry-enabled requests (`GET` only, default: `4`, cap: `10`)\n- `DATAIKU_DEBUG_LATENCY` (optional): set to `1`/`true` to include per-tool timing diagnostics in `structuredContent.debug.latency` (off by default)\n\n## MCP Client Setup Guide\n\nUse this server command in clients (npm package):\n\n```json\n{\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"dataiku-mcp\"],\n  \"env\": {\n    \"DATAIKU_URL\": \"https://your-dss-instance.app.dataiku.io\",\n    \"DATAIKU_API_KEY\": \"your_api_key\",\n    \"DATAIKU_PROJECT_KEY\": \"YOUR_PROJECT_KEY\"\n  }\n}\n```\n\nWindows note: if your MCP client launches commands without a shell, use `npx.cmd`:\n\n```json\n{\n  \"command\": \"npx.cmd\",\n  \"args\": [\"-y\", \"dataiku-mcp\"],\n  \"env\": {\n    \"DATAIKU_URL\": \"https://your-dss-instance.app.dataiku.io\",\n    \"DATAIKU_API_KEY\": \"your_api_key\",\n    \"DATAIKU_PROJECT_KEY\": \"YOUR_PROJECT_KEY\"\n  }\n}\n```\n\nYou can also run TypeScript directly during development:\n\n```json\n{\n  \"command\": \"npx\",\n  \"args\": [\"tsx\", \"/absolute/path/to/Dataiku_MCP/src/index.ts\"],\n  \"env\": {\n    \"DATAIKU_URL\": \"https://your-dss-instance.app.dataiku.io\",\n    \"DATAIKU_API_KEY\": \"your_api_key\",\n    \"DATAIKU_PROJECT_KEY\": \"YOUR_PROJECT_KEY\"\n  }\n}\n```\n\n### Claude Desktop\n\n1. Open Claude Desktop -> `Settings` -> `Developer` -> `Edit Config`.\n2. Add this under `mcpServers` in `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"dataiku\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"dataiku-mcp\"],\n      \"env\": {\n        \"DATAIKU_URL\": \"https://your-dss-instance.app.dataiku.io\",\n        \"DATAIKU_API_KEY\": \"your_api_key\",\n        \"DATAIKU_PROJECT_KEY\": \"YOUR_PROJECT_KEY\"\n      }\n    }\n  }\n}\n```\n\n### Cursor\n\nCursor supports both project-scoped and global MCP config:\n\n- Project: `.cursor/mcp.json`\n- Global: `~/.cursor/mcp.json`\n\nExample:\n\n```json\n{\n  \"mcpServers\": {\n    \"dataiku\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"dataiku-mcp\"],\n      \"env\": {\n        \"DATAIKU_URL\": \"https://your-dss-instance.app.dataiku.io\",\n        \"DATAIKU_API_KEY\": \"your_api_key\",\n        \"DATAIKU_PROJECT_KEY\": \"YOUR_PROJECT_KEY\"\n      }\n    }\n  }\n}\n```\n\n### Cline (VS Code extension)\n\n1. Open Cline -> MCP Servers -> Configure MCP Servers.\n2. Add this server block in `cline_mcp_settings.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"dataiku\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"dataiku-mcp\"],\n      \"env\": {\n        \"DATAIKU_URL\": \"https://your-dss-instance.app.dataiku.io\",\n        \"DATAIKU_API_KEY\": \"your_api_key\",\n        \"DATAIKU_PROJECT_KEY\": \"YOUR_PROJECT_KEY\"\n      }\n    }\n  }\n}\n```\n\n### Codex / project-level MCP config\n\nThis repo already includes a project-scoped MCP file at `.mcp.json`.\nThe 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.\n\n## NPM Release Workflow\n\nThis repo includes a manual GitHub Actions release workflow:\n\n- Workflow file: `.github/workflows/release.yml`\n- Trigger: `Actions` -> `Release NPM Package` -> `Run workflow`\n\nInputs:\n\n- `bump`: `patch | minor | major`\n- `version`: optional exact version (overrides `bump`)\n- `publish`: whether to publish to npm\n\nRequired repository configuration:\n\n- GitHub variable: `NPM_RELEASE_ENABLED=true`\n- Optional variable: `NPM_PUBLISH_ACCESS=public`\n- Trusted publisher configured on npmjs.com for this package/repo/workflow\n\nThe workflow will:\n\n1. Install dependencies, run checks/tests, and build.\n2. Bump package version and create git tag.\n3. Push commit + tag to `main`.\n4. Publish to npm with GitHub OIDC trusted publishing (if `publish=true`).\n5. Create a GitHub Release with generated notes.\n\nTrusted publishing setup (npm):\n\n1. Open `https://www.npmjs.com/package/dataiku-mcp` -> `Settings` -> `Trusted Publisher`.\n2. Choose `GitHub Actions`.\n3. Set:\n   - Organization or user: `clssck`\n   - Repository: `Dataiku_MCP`\n   - Workflow filename: `release.yml`\n4. Save.\n\n## Official MCP Registry\n\nThis repo is configured for MCP Registry publishing:\n\n- Metadata file: `server.json`\n- Workflow: `.github/workflows/publish-mcp-registry.yml`\n- Required package field: `mcpName` in `package.json`\n\nServer namespace:\n\n- `io.github.clssck/dataiku-mcp`\n\nPublish paths:\n\n1. Manual: run `Publish to MCP Registry` in GitHub Actions.\n2. Automatic: run the npm release workflow with `publish=true` (it triggers MCP Registry publish).\n\nValidation notes:\n\n- `server.json.name` must match `package.json.mcpName`.\n- `server.json.packages[].identifier` + `version` must reference a real npm publish.\n\n## Recommended Verification Prompt\n\nAfter adding the server in a client, run:\n\n- `project` with `{ \"action\": \"map\", \"projectKey\": \"YOUR_PROJECT_KEY\" }` (defaults to `maxNodes=300`, `maxEdges=600`; override as needed)\n\nYou should receive a flow summary in text and normalized `nodes`, `edges`, `stats`, `roots`, and `leaves` under `structuredContent.map`.\nWhen truncation limits are applied (default `maxNodes=300`, `maxEdges=600`), `structuredContent.truncation` reports before/after node+edge counts and whether truncation occurred.\n\n## Notes\n\n- `project.map` returns a compact text summary; full normalized graph is in `structuredContent.map`.\n- Arrays in normalized map output are deterministically sorted to reduce diff churn.\n- `job.wait` and `job.buildAndWait` include `structuredContent.normalizedState` with one of `terminalSuccess | terminalFailure | timeout | nonTerminal` while preserving raw DSS `state`.\n- With `DATAIKU_DEBUG_LATENCY=1`, responses include per-tool and per-API-call latency metrics under `structuredContent.debug.latency`.\n- List-style responses are token-bounded by default; use `limit`/`offset` (and action-specific caps like `maxNodes`, `maxEdges`, `maxKeys`, `maxPackages`) to page or expand results when needed.\n- `dataset.get` and `job.get` are summary-first by default; pass `includeDefinition=true` to include full DSS JSON in `structuredContent.definition`.\n\n## Sources\n\n- MCP local server connection docs: https://modelcontextprotocol.io/docs/develop/connect-local-servers\n- Cursor MCP docs: https://cursor.com/docs/context/mcp\n- Cline MCP docs: https://docs.cline.bot/mcp/configuring-mcp-servers\n",
  "bytes": 10080,
  "sha": "bd6f4c405b824261ca51c6970e7b2bc399368f6bb54be37550e4df10019d2cd3",
  "repo_slug": "clssck/dataiku_mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_clssck_dataiku_mcp_975cbe44/readme"
}