Skip to content

kedro-org/kedro-mcp

Repository files navigation

Kedro MCP Server

An MCP (Model Context Protocol) server that helps AI assistants (such as VS Code Copilot or Cursor) work consistently with Kedro projects.

The server provides concise, versioned guidance for:

  • General Kedro usage and best practices
  • Converting Jupyter notebooks into production-ready Kedro projects
  • Migrating projects between Kedro versions

With Kedro-MCP, your AI assistant understands Kedro workflows, pipelines, and conventions — so you can focus on building, not fixing AI mistakes.


Quick Install

To enable Kedro MCP tools in your editor, simply click one of the links below.
Your editor will open automatically, and you’ll just need to confirm installation.

Once installed, your AI assistant automatically gains access to Kedro-specific MCP tools.


Helpful references


Universal MCP configuration (JSON)

You can reuse this configuration in any MCP-compatible client (e.g. Copilot, Cursor, Claude, Windsurf):

{
  "command": "uvx",
  "args": ["kedro-mcp@latest"],
  "env": {
    "FASTMCP_LOG_LEVEL": "ERROR"
  },
  "disabled": false,
  "autoApprove": []
}

Usage

After installation, open Copilot Chat (in Agent Mode) or the Chat panel in Cursor.
Type / to see available Kedro MCP prompts.


Convert a Jupyter Notebook into a Kedro project

/mcp.Kedro.convert_notebook

When you run this command, the assistant explicitly calls the Kedro MCP server and follows the guidance provided.

Typical flow:

  1. The assistant analyses your Jupyter notebook (you can paste its content or mention its filename).

  2. It creates a conversion plan (Statement of Work) saved as a .md file in your workspace.

  3. You review and approve the plan.

  4. The assistant:

    • Ensures a Python virtual environment is active.
    • Installs the latest Kedro if missing.
    • Scaffolds a new project with kedro new.
    • Creates pipelines with kedro pipeline create.
    • Populates parameters.yml and catalog.yml based on your notebook.

You can edit the plan, switch environment tools (uv, venv, conda), or ask the assistant to resolve setup errors interactively.


Migrate a Kedro project

/mcp.Kedro.project_migration

This prompt walks you through migrating an existing Kedro project to a newer version.

Steps:

  1. The assistant analyses your project and proposes a migration plan (e.g. from 0.19 → 1.0).
  2. You review and approve the plan.
  3. The assistant ensures a virtual environment is active, installs the correct Kedro version, and applies migration steps.

Use this to get up-to-date migration tips and avoid deprecated patterns.


General Kedro guidance

/mcp.Kedro.general_usage

Use this prompt for open-ended Kedro questions.
The Kedro MCP server returns structured, up-to-date Kedro guidance that your assistant uses to generate realistic code and pipelines.

Example:

“Generate a Kedro project for a time-series forecasting pipeline using Pandas and scikit-learn.”


Manual Install (from source)

For development or debugging:

git clone https://github.com/kedro-org/kedro-mcp.git
cd kedro-mcp
uv pip install -e . --group dev

Example MCP config (local path):

{
  "mcpServers": {
    "kedro": {
      "command": "uv",
      "args": ["tool", "run", "--from", ".", "kedro-mcp"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    }
  }
}

Development

# Install dev dependencies
uv pip install -e . --group dev

# Lint & type-check
ruff check .
mypy src/

Troubleshooting

  • Server not starting: Ensure Python 3.10+ and uv are installed. Confirm the MCP config points to uvx kedro-mcp@latest or to the kedro-mcp console script.
  • Tools not appearing: Restart your assistant and verify that the MCP config key matches "kedro".
  • Version drift: Pin a version instead of @latest for reproducibility.

License

This project is licensed under the Apache Software License 2.0.
See LICENSE.txt for details.


Support

About

An MCP (Model Context Protocol) server to interact with components in Kedro

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages