An MCP (Model Context Protocol) server that helps AI assistants interact with Kedro projects. This server provides tools and capabilities to work with Kedro data catalogs, pipelines, and project structures through various AI coding assistants.
kedro-mcp/
βββ LICENSE.txt
βββ README.md
βββ pyproject.toml
βββ docs/
βββ src/
β βββ kedro_mcp/
β βββ __init__.py
β βββ server.py # Main MCP server implementation
β βββ schemas/
β β βββ __init__.py
β β βββ catalog_schemas.py
β βββ utils/
β βββ __init__.py
β βββ catalog_utils.py
βββ tests/
- Python 3.10 or higher
- Kedro 1.0.0 or higher
- uv (recommended)
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Clone the repository:
git clone https://github.com/kedro-org/kedro-mcp.git
cd kedro-mcp
- Install the package:
uv pip install -e .
uv pip install kedro-mcp
Note: This project requires uv for dependency management to support modern dependency groups.
- Install uv if you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or: pip install uv
- Install the package and development dependencies:
uv pip install -e . --group dev
- Run linting and type checking:
ruff check .
mypy src/
Once you have uv, and have installed Visual Studio Code, you need to set up the Kedro-MCP server configuration.
- Open VS Code
- Add the MCP server configuration in your workspace settings (
.vscode/mcp.json
):
For published package:
If you've installed uv, open a terminal window and type uv to confirm that is available. To get the path to uvx, type the following:
which uvx
Now configure the workspace settings:
{
"servers": {
"kedro-mcp": {
"command": "/placeholder-path/uvx",
"args": ["kedro-mcp"]
}
}
}
For local development:
{
"servers": {
"kedro-mcp": {
"command": "/path/to/your/venv/bin/kedro-mcp",
"args": []
}
}
}
OR
Using uv:
{
"servers": {
"kedro-mcp": {
"command": "<full-path-to-your-uv-executable>",
"args": [
"run",
"--directory",
"<full-path-to-your-kedro-mcp-dir>",
"kedro-mcp"
]
}
}
}
- Restart VS Code (optional)
- The Kedro MCP server will be available with tools like
health_check
- Once VS Code integration is successful, copilot chat will automatically identify available MCP servers. Follow this for more information.
- Follow this to use MCP tools in agent mode.
- Open Claude Desktop settings and go to Developer settings (Edit Config to add and manage MCP servers)
- Add the MCP server configuration:
For published package:
{
"mcpServers": {
"kedro-mcp": {
"command": "/placeholder-path/uvx",
"args": ["kedro-mcp"]
}
}
}
For local development:
{
"mcpServers": {
"kedro-mcp": {
"command": "/path/to/your/venv/bin/kedro-mcp",
"args": []
}
}
}
OR
Using uv:
{
"servers": {
"kedro-mcp": {
"command": "<full-path-to-your-uv-executable>",
"args": [
"run",
"--directory",
"<full-path-to-your-kedro-mcp-dir>",
"kedro-mcp"
]
}
}
}
- Restart Claude Desktop
- The Kedro MCP server will be available with tools like
health_check
Once kedro-mcp
is installed, you can test the server directly using the MCP CLI:
# Start the server
kedro-mcp
# Or using uv (if installed)
uv run kedro-mcp
Currently available MCP tools:
health_check
: Verify the MCP server is running and get server metadata
- Start your preferred AI assistant (Claude Desktop, VS Code with Claude Code Chat or Copilot)
- Ask the assistant to use the
health_check
tool - You should receive a response indicating the server is running
Example conversation:
You: Can you check if the Kedro MCP server is working?
Assistant: I'll check the Kedro MCP server status for you.
[Uses health_check tool]
The Kedro MCP server is up and running! Version 0.0.1.dev0 is active.
- Server not starting: Ensure Python 3.10+ is installed and
kedro-mcp
is installed in your virtual environment - Tools not available in AI assistant: Check the MCP server configuration in your AI assistant's settings
Prerequisites: Install uv for dependency management.
-
Fork the repository
-
Create a feature branch:
git checkout -b feature-name
-
Set up development environment:
uv pip install -e . --group dev
-
Make your changes and add tests
-
Run linting and tests:
ruff check . mypy src/
-
This project uses pre-commit hooks to enforce code quality (linting and type checks) before every commit. Make sure you have installed the Git hook:
Run this once inside your local repo:
bash pre-commit install
This creates a .git/hooks/pre-commit script that will automatically run on git commit.
- Submit a pull request
This project is licensed under the Apache Software License 2.0. See LICENSE.txt for details.
- Report issues: GitHub Issues
- MCP Specification: Model Context Protocol