Skip to main content

MLE kit MCP

PyPI CI License

MCP server providing practical tools for ML engineering workflows, including local/remote bash, a text editor, file search, remote GPU helpers (via vast.ai), and an OpenRouter LLM proxy.

Features

  • bash: Run commands in an isolated Docker container mounted to your WORKSPACE_DIR.
  • text_editor: View and edit files and directories in your workspace with undo support.
  • glob / grep: Fast filename globbing and ripgrep-based content search.
  • remote_bash / remote_text_editor / remote_download: Execute and edit on a remote GPU machine and sync files to/from it.
  • llm_proxy_local / llm_proxy_remote: Launch an OpenAI-compatible proxy backed by OpenRouter locally (in the bash container) or on the remote GPU.

Requirements

  • Python 3.12+
  • Docker daemon available (for bash tool)
  • ripgrep (rg) installed on the host (for grep tool)
  • WORKSPACE_DIR should be set with a path to working directory
  • Optional (for remote GPU tools): a VAST_AI_KEY with billing set up on vast.ai
  • Optional (for LLM proxy tools): an OPENROUTER_API_KEY

Install

Using uv (recommended):

uv sync

Or standard pip install:

python -m venv .venv && . .venv/bin/activate
pip install -e .

Run the MCP server

Set a workspace directory and start the server. The MCP endpoint is served at /mcp.

WORKSPACE_DIR=/absolute/path/to/workdir uv run python -m mle_kit_mcp --port 5057

Defaults:

  • PORT defaults to 5057 if --port is not provided
  • mount_path=/ and streamable_http_path=/mcp

Claude Desktop config

{
  "mcpServers": {
    "mle_kit": {
      "command": "python3",
      "args": [
        "-m",
        "mle_kit_mcp",
        "--transport",
        "stdio"
      ]
    }
  }
}

Tools overview

  • bash(command, cwd=None, timeout=60): Runs inside a python:3.12-slim container with your workspace bind-mounted at /workdir. State persists between calls. Timeouts return a helpful message.
  • text_editor(command, path, ...): Supports view, write, append, insert, str_replace (with optional dry_run), and undo_edit. Only relative paths under the workspace are allowed.
  • glob(pattern, path=None): Returns matching files under the workspace (optionally under path), sorted by modification time.
  • grep(pattern, path=None, glob=None, output_mode=..., ...): ripgrep wrapper. Install rg on the host to enable. Output modes: files_with_matches, content, count.
  • remote_bash(command, timeout=60): Runs commands on a remote vast.ai instance. Manages lifecycle unless you supply an existing instance (see env vars below).
  • remote_download(file_path): Copies a file from the remote (/root/<file_path>) to your workspace.
  • remote_text_editor(...): Same API as text_editor, but syncs the file(s) before and after edits to the remote.
  • llm_proxy_local() / llm_proxy_remote(): Starts a small FastAPI OpenAI-compatible server backed by OpenRouter, returning a JSON string with url and scope.

Configuration (env vars)

All variables can be placed in a local .env file or exported in your shell.

  • WORKSPACE_DIR (required): Absolute path to your workspace directory.
  • PORT (optional): Default server port (defaults to 5057).

Remote GPU (vast.ai):

  • GPU_TYPE (default: RTX_3090)
  • DISK_SPACE (GB, default: 300)
  • EXISTING_INSTANCE_ID (optional): Use an existing vast.ai instance instead of creating a new one.
  • EXISTING_SSH_KEY (optional): Path to an SSH private key to use with the existing instance.
  • VAST_AI_KEY (optional but required to launch new instances)

OpenRouter proxy:

  • OPENROUTER_API_KEY (optional but required for proxy tools)
  • OPENROUTER_BASE_URL (default: https://openrouter.ai/api/v1)

Notes:

  • The remote GPU helper will generate an SSH key at ~/.ssh/id_rsa if one is missing, and attach it to the instance.
  • Creating/destroying instances may incur cost; be mindful of environment defaults.

Development

Run tests:

make test

Lint / type-check / format:

make validate

Docker

You can also build and run via the provided Dockerfile:

docker build -t mle_kit_mcp .
docker run --rm -p 5057:5057 \
  -e PORT=5057 \
  -e WORKSPACE_DIR=/workspace \
  -v "$PWD/workdir:/workspace" \
  mle_kit_mcp

Metadata

Release files for mle-kit-mcp 1.2.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mle-kit-mcp 1.2.10
File Size Uploaded
mle_kit_mcp-1.2.10.tar.gz 26.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mle-kit-mcp 1.2.10
File Interpreter ABI Platform
mle_kit_mcp-1.2.10-py3-none-any.whl Python 3 none any Details

Total release size: 52.0 kB

Release files / mle_kit_mcp-1.2.10.tar.gz

Download URL mle_kit_mcp-1.2.10.tar.gz
Size 26.3 kB
Tags Source
SHA-256 checksum
How to use checksums
173dddf11488ec8a3a3d69e050767abf1d2a38f767a9bf8190525597c49eb176
BLAKE2b-256 checksum
How to use checksums
d8468b1d02f6d2f7cf0dc27b92c7363739605a8a46e5ff03f96c60b3c2580a12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.7

Release files / mle_kit_mcp-1.2.10-py3-none-any.whl

Download URL mle_kit_mcp-1.2.10-py3-none-any.whl
Size 25.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc3976de31aa3e4b191b8460a38b0b1f43c5671b49a3e86004b583bd442bd046
BLAKE2b-256 checksum
How to use checksums
1c57ef0a0d7417e08483a5f311fae45efa3d16f719b9d76e40f9f3e0606b09c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.7

Release history Release notifications | RSS feed

This release

1.2.10 This release

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page