Dataiku DSS MCP Server
Provides tools to manage recipes, datasets, and scenarios in Dataiku DSS, including creating, updating, deleting, running, and inspecting various objects.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dataiku DSS MCP Server list datasets in project 'Sales'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dataiku DSS MCP Server
A comprehensive Model Context Protocol (MCP) server for Dataiku DSS integration. This project provides Claude Code with direct access to Dataiku DSS for managing recipes, datasets, and scenarios.
š Quick Start
Prerequisites
Node.js 18.0.0+
Dataiku DSS instance with API access
Valid DSS API key
Installation
# Install globally
npm install -g @zhangzichao2008/mcp-dataiku
# Or use with npx
npx @zhangzichao2008/mcp-dataikuConfiguration
Copy environment template:
cp .env.sample .envConfigure your DSS connection in
.env:
DSS_HOST=https://your-dss-instance.com:10000
DSS_API_KEY=your-api-key-here
DSS_INSECURE_TLS=true # Only if using self-signed certificatesClaude Code Integration
Register the MCP server with Claude Code:
claude mcp add dataiku-dss \
-e DSS_HOST=https://your-dss-instance.com:10000 \
-e DSS_API_KEY=your-api-key-here \
-e DSS_INSECURE_TLS=true \
-- npx @zhangzichao2008/mcp-dataikuRelated MCP server: MCP-Server
š MCP Tool Catalog
Core Recipe Management Tools
Tool | Description | Key Parameters |
| Create new recipe |
|
| Update existing recipe |
|
| Delete recipe |
|
| Execute recipe |
|
Core Dataset Management Tools
Tool | Description | Key Parameters |
| Create new dataset |
|
| Update dataset settings |
|
| Delete dataset |
|
| Build dataset |
|
| Get dataset schema |
|
| Get dataset metrics |
|
Core Scenario Management Tools
Tool | Description | Key Parameters |
| Create new scenario |
|
| Update scenario settings |
|
| Delete scenario |
|
| Execute scenario |
|
š§ Advanced Tools
Tool | Description | Key Parameters |
| Get detailed run logs and error messages |
|
| Extract actual Python/SQL code from recipes |
|
| Get complete data flow/pipeline structure |
|
| Get sample data from datasets |
|
| Get recent run history across scenarios/recipes |
|
| List all available Dataiku projects | - |
Additional Dataset Tools
Tool | Description | Key Parameters |
| List all datasets in a project |
|
| Get detailed information about a dataset |
|
| Clear data from a dataset |
|
Additional Recipe Tools
Tool | Description | Key Parameters |
| List all recipes in a project |
|
| Get detailed information about a recipe |
|
| Validate Python/SQL syntax of a recipe |
|
| Test recipe logic without actual execution |
|
Additional Scenario Tools
Tool | Description | Key Parameters |
| List all scenarios in a project |
|
| Get detailed information about a scenario |
|
| Add a trigger to a scenario |
|
| Remove a trigger from a scenario |
|
| Get run history for a scenario |
|
| Get step configuration including Python code |
|
| Clone an existing scenario with modifications |
|
Advanced Tools
Tool | Description | Key Parameters |
| Search for datasets, recipes, scenarios by name/pattern |
|
| List available Python/R environments |
|
| Get project-level variables and configuration |
|
| List available data connections |
|
| Get detailed job execution information |
|
| Cancel running jobs/scenarios |
|
| Update multiple objects with similar changes |
|
| Get complete data flow/pipeline structure |
|
| Export project configuration as JSON/YAML |
|
| Copy project structure to new project |
|
Total: 46 Tools
š§ Usage Examples
Core Operations
Creating a Python Recipe
{
"project_key": "ANALYTICS_PROJECT",
"recipe_type": "python",
"recipe_name": "data_cleaner",
"inputs": ["raw_data"],
"outputs": [{"name": "clean_data", "new": true, "connection": "filesystem_managed"}],
"code": "import pandas as pd\ndf = dataiku.Dataset(\"raw_data\").get_dataframe()\ndf_clean = df.dropna()\ndataiku.Dataset(\"clean_data\").write_with_schema(df_clean)"
}Building a Dataset
{
"project_key": "BI",
"dataset_name": "user_analytics",
"mode": "RECURSIVE_BUILD"
}Getting Dataset Sample
{
"project_key": "FINANCE_PROJECT",
"dataset_name": "transactions",
"rows": 500,
"columns": ["customer_id", "amount"]
}Getting Scenario Logs
{
"project_key": "ANALYTICS_PROJECT",
"scenario_id": "data_processing"
}Exploring Project Structure
{
"project_key": "SALES_ANALYTICS"
}šļø Architecture
mcp-dataiku/
āāā src/
ā āāā dataiku-client.ts # Dataiku API client
ā āāā mcp-server.ts # MCP server implementation
āāā package.json
āāā tsconfig.json
āāā .env.sample
āāā README.mdš Security
API Key Protection: Store API keys in environment variables, never in code
SSL Configuration: Support for self-signed certificates with
DSS_INSECURE_TLS=truePermission Validation: All operations respect DSS user permissions
Error Handling: Sensitive information is not exposed in error messages
š Monitoring
The MCP server provides logging for monitoring:
# Check logs for debugging
tail -f dataiku_mcp.logš¤ Contributing
Fork the repository
Create a feature branch:
git checkout -b feature/amazing-featureCommit changes:
git commit -m 'Add amazing feature'Push to branch:
git push origin feature/amazing-featureOpen a Pull Request
Development Setup
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run basic validation tests (no actual API calls)
npm test
# Run comprehensive tests (requires Dataiku DSS)
node test-comprehensive.js
# Clean build artifacts
npm run clean
# Publish new version (patch version)
npm run publish:patchš License
This project is licensed under the MIT License - see the LICENSE file for details.
š Links
š Support
If you encounter any issues or have questions, please open an issue on GitHub.
Ready to enhance your Dataiku workflows with AI assistance! š
Available Tools
43 toolsadd_scenario_triggerB
Add a trigger to a scenario
Inputs: project_key (required), scenario_id (required), trigger_type (required), every_minutes, +4 more.
batch_update_objectsC
Update multiple objects with similar changes
Inputs: project_key (required), object_type (required), pattern (required), updates (required).
build_datasetC
Build a dataset
Inputs: project_key (required), dataset_name (required), mode, partition.
cancel_running_jobsC
Cancel running jobs/scenarios
Inputs: project_key (required), job_ids (required).
check_dataset_metricsB
Get latest dataset metrics
Inputs: project_key (required), dataset_name (required).
clear_datasetC
Clear data from a dataset
Inputs: project_key (required), dataset_name (required), partition.
clone_scenarioB
Clone an existing scenario with modifications
Inputs: project_key (required), source_scenario_id (required), new_scenario_name (required), modifications.
create_datasetC
Create a new dataset in a project
Inputs: project_key (required), dataset_name (required), dataset_type (required), params (required).
create_recipeB
Create a new recipe in a Dataiku project
Inputs: project_key (required), recipe_type (required), recipe_name (required), inputs (required), +2 more.
create_scenarioB
Create a new scenario in a project
Inputs: project_key (required), scenario_name (required), scenario_type (required), definition.
delete_datasetC
Delete a dataset from a project
Inputs: project_key (required), dataset_name (required), drop_data.
delete_recipeB
Delete a recipe from a project
Inputs: project_key (required), recipe_name (required).
delete_scenarioB
Delete a scenario from a project
Inputs: project_key (required), scenario_id (required).
duplicate_project_structureC
Copy project structure to new project
Inputs: source_project_key (required), target_project_key (required), include_data.
export_project_configC
Export project configuration as JSON/YAML
Inputs: project_key (required), format.
get_code_environmentsB
List available Python/R environments
Inputs: project_key.
get_connectionsC
List available data connections
Inputs: project_key.
get_dataset_infoC
Get detailed information about a dataset
Inputs: project_key (required), dataset_name (required).
get_dataset_sampleC
Get sample data from datasets
Inputs: project_key (required), dataset_name (required), rows, columns.
get_job_detailsC
Get detailed job execution information
Inputs: project_key (required), job_id (required).
get_project_flowB
Get complete data flow/pipeline structure
Inputs: project_key (required).
get_project_variablesC
Get project-level variables and configuration
Inputs: project_key (required).
get_recent_runsB
Get recent run history across all scenarios/recipes
Inputs: project_key (required), limit, status_filter.
get_recipe_codeB
Extract actual Python/SQL code from recipes
Inputs: project_key (required), recipe_name (required).
get_recipe_infoB
Get detailed information about a recipe
Inputs: project_key (required), recipe_name (required).
get_scenario_infoC
Get detailed information about a scenario
Inputs: project_key (required), scenario_id (required).
get_scenario_logsB
Get detailed run logs and error messages for failed scenarios
Inputs: project_key (required), scenario_id (required), run_id.
get_scenario_run_historyB
Get run history for a scenario
Inputs: project_key (required), scenario_id (required), limit.
get_scenario_stepsB
Get step configuration including Python code
Inputs: project_key (required), scenario_id (required).
inspect_dataset_schemaC
Get dataset schema information
Inputs: project_key (required), dataset_name (required).
list_datasetsA
List all datasets in a project
Inputs: project_key (required), dataset_type, search, simple.
list_projectsB
List all available Dataiku projects
Inputs: no named parameters.
list_recipesC
List all recipes in a project
Inputs: project_key (required), recipe_type, search, simple.
list_scenariosC
List all scenarios in a project
Inputs: project_key (required), scenario_type, active_only.
remove_scenario_triggerB
Remove a trigger from a scenario
Inputs: project_key (required), scenario_id (required), trigger_idx (required).
run_recipeC
Run a recipe to build its outputs
Inputs: project_key (required), recipe_name (required), build_mode.
run_scenarioC
Run a scenario manually
Inputs: project_key (required), scenario_id (required).
search_project_objectsB
Search for datasets, recipes, scenarios by name/pattern
Inputs: project_key (required), search_term (required), object_types.
test_recipe_dry_runB
Test recipe logic without actual execution
Inputs: project_key (required), recipe_name (required), sample_rows.
update_datasetC
Update dataset settings
Inputs: project_key (required), dataset_name (required).
update_recipeC
Update an existing recipe
Inputs: project_key (required), recipe_name (required).
update_scenarioC
Update scenario settings
Inputs: project_key (required), scenario_id (required).
validate_recipe_syntaxB
Validate Python/SQL syntax of a recipe
Inputs: project_key (required), recipe_name (required), code.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogā¦
TDQS
Scored across 43 tools
Most tools have distinct purposes, e.g., get_recipe_info vs get_recipe_code clearly separate; overlapping functions like get_job_details and get_recent_runs are scoped differently. A few pairs like search_project_objects and individual list functions could cause confusion, but descriptions generally clarify.
Majority follow verb_noun pattern (e.g., create_dataset, delete_recipe). Some deviations exist (check_dataset_metrics instead of get_, batch_update_objects as a prefix), but overall consistency is high with no mixed conventions.
43 tools is high, but the Dataiku platform is complex, covering datasets, recipes, scenarios, projects, and system resources. While some tools could be consolidated (e.g., multiple scenario getters), the count is borderline but reasonable for the domain.
Covers CRUD for main objects, plus build, run, test, validate, search, batch operations, and project-level exports. Missing delete_project and user management, but core workflows are well-supported with no dead ends.
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Hosted BigQuery MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata.859 npmMIT
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server with file management, HTTP requests, system info, and environment variable tools, plus a management UI and dual transport for Claude Desktop and Claude.ai.512 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server that provides access to over 100 development skills for frontend, backend, integration, design, devops, and process categories via Claude Code and other MCP clients.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that connects to open data portals like CKAN and Socrata, enabling natural language querying of datasets via Claude.MIT