mle_kit_mcp
Provides ML engineering tools including local/remote bash, text editor, file search, remote GPU helpers via vast.ai, and an OpenRouter LLM proxy.
README
MLE kit MCP
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
bashtool) - ripgrep (
rg) installed on the host (forgreptool) WORKSPACE_DIRshould be set with a path to working directory- Optional (for remote GPU tools): a
VAST_AI_KEYwith 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:
PORTdefaults to5057if--portis not providedmount_path=/andstreamable_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-slimcontainer 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 optionaldry_run), andundo_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
rgon 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
urlandscope.
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 to5057).
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_rsaif 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.