Skip to main content

MCP server with Kedro prompts and tools (local stdio, zero-install via uvx).

Project description

Kedro MCP Server

An MCP (Model Context Protocol) server that helps AI assistants work consistently with Kedro projects.
It ships a tiny prompt and two read-only tools that return concise, versioned guidance for general Kedro usage and for converting a Jupyter notebook into a production-ready Kedro project.


🚀 Quick install (no setup, runs locally)

Prerequisites

  • Python 3.10+
  • uv (recommended)

VS Code – GitHub Copilot Chat (user or workspace settings):

{
  "github.copilot.chat.mcpServers": {
    "kedro": {
      "type": "stdio",
      "command": "uvx",
      "args": ["kedro-mcp@latest"],   // or pin: kedro-mcp==0.1.0
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Claude Desktop / Cursor (generic MCP config):

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

Now open your assistant and ask:

  • “Call kedro_general_instructions and summarise the key conventions.”
  • “Call notebook_to_kedro, propose a short plan for my notebook. Wait for APPROVED.”

Tip: @latest auto-refreshes when a newer version is released. Pin a version to freeze behaviour.


Features

  • Prompt

    • convert_notebook – a short, plain-English prompt that tells the assistant to:
      1. load both guidance docs via tools,
      2. return a brief conversion plan and wait for APPROVED,
      3. then create the Kedro project (venv, install Kedro first), without running pipelines or moving data.
  • Tools (read-only)

    • kedro_general_instructions – returns concise conventions for consistent Kedro usage (naming, datasets, parameters, environments, checklists).
    • notebook_to_kedro – returns focused guidance for notebook → Kedro conversion (plan → approval → build) with small templates/diffs.

Both tools just return Markdown text for the assistant to use as context; they do not read your files or send project data anywhere.


Installation

Option A — Zero-install (recommended)

Nothing to install into your environment. Your MCP client will run the server locally via uvx using the config above. First run is cached; later runs reuse the cache and only update when you use @latest or change the version.

Option B — From PyPI (when available)

uv pip install kedro-mcp

Then point your client to the console script:

{
  "mcpServers": {
    "kedro": { "command": "kedro-mcp", "args": [] }
  }
}

Option C — From source (local development)

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

Config for local path:

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

Manual server test

# Runs the stdio entrypoint (the client usually does this for you)
kedro-mcp

# Or with uvx directly (no install)
uvx kedro-mcp@latest

You should see a small “starting on stdio…” log; then your client will communicate over stdio.


Using with assistants

  • VS Code – Copilot Chat: once configured, the server and tools appear automatically; you can invoke them by name in chat.
  • Claude Desktop / Cursor: add the generic MCP config above; the tools can be called by name (e.g., notebook_to_kedro).

Suggested prompts:

  • “Call kedro_general_instructions, then summarise conventions that are missing in this repo.”
  • “Call notebook_to_kedro, propose a conversion plan for analysis.ipynb. Wait for APPROVED before creating anything.”

Development

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

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

Releasing

python -m pip install build twine
python -m build
twine upload dist/*

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 don’t appear: restart the assistant; verify the MCP config key matches "kedro" and the client supports stdio servers.
  • Version drift: pin a version instead of @latest.

License

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


Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dimed_mcp-0.1.2.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dimed_mcp-0.1.2-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file dimed_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: dimed_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for dimed_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 76e17cc4f6dc13c09bc316365c943b9f76a51ffa51befcd5fdc3949135b09941
MD5 ef2c00512d26796749a2eb8e5e9d06d9
BLAKE2b-256 e8dbfed3b467c493fdd17287af670a339efd5b2f5f1ed6bfe924f9c5cff9261c

See more details on using hashes here.

File details

Details for the file dimed_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: dimed_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for dimed_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 31dcf3a61dd7bfe2f8b9442746e164d54198401c434da252dd9f365d8d0183fe
MD5 29f87758b806b2785028cd2d6016e511
BLAKE2b-256 4c25fc19bb27229abc8d4dbbd8139e039be759ff56aa82370ac335fb32bcb848

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page