Pre-run cost estimate for a GPU task from static code analysis; the code is never executed.
MCPpedia last refreshed this data
io.github.Ilya-a-sergeyev-ger/krauncher-mcp is an MCP server that pre-run cost estimate for a GPU task from static code analysis; the code is never executed. Its tool list has not been published yet over stdio, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-ilya-a-sergeyev-ger-krauncher-mcp": {
"args": [
"krauncher-mcp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Run your training script on a remote GPU. Nothing more.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'krauncher-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked krauncher-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools
Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
Chrome DevTools for coding agents
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
Manage Supabase projects — databases, auth, storage, and edge functions
MCP Security Weekly
Get CVE alerts and security updates for io.github.Ilya-a-sergeyev-ger/krauncher-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Run your training script on a remote GPU. Nothing more.
Krauncher is a minimal Python library for researchers who have a working local script and need a GPU — not a platform.
Website & API keys: krauncher.com
pip install krauncher
export CAS_API_KEY="cas_..." # krauncher.com → Account → API Keys
Requires Python 3.11+.
import asyncio
from krauncher import KrauncherClient
client = KrauncherClient() # reads CAS_API_KEY / CAS_BROKER_URL from env or .env
@client.task(vram_gb=1, timeout=120)
def multiply(size: int):
import numpy as np # imports go INSIDE the function
a, b = np.random.rand(size, size), np.random.rand(size, size)
return {"mean": float((a @ b).mean())}
async def main():
handle = await multiply(size=1000) # submit → TaskHandle
print("task:", handle.task_id)
result = await handle # await the handle → TaskResult
print("output:", result.output)
print("gpu:", result.actual_gpu, "·", f"{result.execution_time_sec:.1f}s")
asyncio.run(main())
The decorated function becomes async: calling it submits the task and
returns a TaskHandle; awaiting the handle (or await handle.wait(...))
returns a TaskResult.
Using an LLM / coding agent? Read AGENTS.md — a single accurate reference of the API, parameters, result fields, errors and constraints. Runnable examples live in tutorial/.
Serverless orchestration platforms are genuinely impressive pieces of infrastructure. They handle container builds, secret management, artifact storage, scheduling, persistent volumes, and team dashboards.
They also charge you for all of it — whether you use it or not.
If you're fine-tuning a small model, running ablations, or iterating on a research experiment with a dataset under 2 GB, you're likely paying for an orchestration layer you don't need.
Krauncher does less, on purpose. It runs your existing Python function on a remote GPU, returns the result, and gets out of the way.
Good fit:
Not the right tool if:
Add a decorator. Await your function. Get a result. Your existing code doesn't change — no base images, no volume mounts, no platform imports.
import asyncio
from krauncher import KrauncherClient
client = KrauncherClient()
@client.task(gpu_name="RTX4090", group_id="mistral-run", timeout=3600)
def finetune():
from transformers import AutoModelForCausalLM, Trainer, TrainingArguments
from datasets import load_dataset
# Weights download to worker storage on first run (~15 GB for 7B);
# later runs in the same group_id reuse the cached weights.
model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-v0.1")
dataset = load_dataset("tatsu-lab/alpaca", split="train[:2000]")
# ... your training logic, unchanged from local ...
model.save_pretrained("/tmp/output")
# Worker storage is ephemeral — sync checkpoints out before returning.
upload_to_s3("/tmp/output", "my-checkpoints/run-1")
return {"status": "done", "checkpoint": "s3://my-checkpoints/run-1"}
async def main():
result = await finetune() # submit and wait
print(result.output)
asyncio.run(main())
The decorated function is async — always call it from an
asynccontext