krauncher-mcp
An MCP server that gives an agent one tool: a pre-run cost estimate for a GPU task, from static analysis of the code. The code is never executed.
It wraps the Krauncher analyzer (the assay), not the broker — there is no dispatch, no execution, no market lineup. Just: how long will this cost, and what does it need to run.
The seconds are a relative signal for comparing code against code, not an absolute forecast. They are normalized to a fixed reference card (RTX PRO 6000 WS) so two estimates are comparable; the GPU and host your code actually runs on will differ, so never read a second-count as the wall-clock you will get. Compare variant-to-variant. This is an early 0.x release — the model is approximate and evolving.
The estimate tool
Input: code — the task's Python source (a self-contained function; a
@client.task-decorated function is fine).
Output, on the reference card (RTX PRO 6000 WS, the card CU is normalized to):
{
"reference_card": "RTX PRO 6000 WS",
"compute_sec": 20.2, // the three phases of wall time on the ref card
"setup_sec": 3.0,
"io_sec": 2.1,
"min_vram_gb": 6, // raw requirement, no headroom margin
"min_disk_gb": 10,
"confidence": 1.0, // 0-1
"analysis_method": "ast", // "ast" | "llm"
"cpu_only": false,
"findings": [ // what the analyzer read from the code
"num_epochs=1", "batch_size=16",
"Recognized model: BERT Base (0.11B params)",
"precision=fp16 from fp16=True"
]
}
The loop it is built for: edit the run → estimate → keep what's cheaper →
repeat, all before spending a GPU-second. The estimate is a static forecast,
not a guarantee; confidence and analysis_method say how much to trust it,
and a rough estimate never blocks — it returns a best effort.
What it does not return: the cost model's calibration coefficients or weights. Only what the analyzer detected in the code leaves the server.
Install
pip install -e . # from this directory; also installs the analyzer client
An API key is optional. Without one the server calls the public analyzer
keyless, under a per-IP daily quota (when the quota is reached, estimate
returns a short note to register for a larger one). Set a key to use your own
account and skip the quota:
export KRAUNCHER_API_KEY=cas_... # optional
Verify it works without wiring up a client — runs estimate on a sample task
and prints the contract:
krauncher-mcp --selftest
Wire it into an MCP client
stdio transport; the console script is krauncher-mcp. No key needed — this runs
keyless against the public analyzer:
{
"mcpServers": {
"krauncher-analyzer": {
"command": "krauncher-mcp"
}
}
}
To use your own account (keyed, exempt from the per-IP quota), add the key:
{
"mcpServers": {
"krauncher-analyzer": {
"command": "krauncher-mcp",
"env": { "KRAUNCHER_API_KEY": "cas_..." }
}
}
}
Self-hosting the analyzer? Override the endpoint with KRAUNCHER_ANALYZER_URL.
Scope
v1 is deliberately one tool. The per-GPU market lineup is intentionally left out — the agent's job is to improve its code and know the cost before running, and a pre-run estimate (even rough or partial) is the whole point.
Release files for krauncher-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| krauncher_mcp-0.2.0.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| krauncher_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 kB
Release files / krauncher_mcp-0.2.0.tar.gz
| Download URL | krauncher_mcp-0.2.0.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31f10b8a5e1412f4922c02dbc0f78a6314b37d211221c4111e792fcaf58ae3a7
|
|
BLAKE2b-256 checksum How to use checksums |
6eac72c5b98afce4f81e71a4dc9ef9d0792642b54bcba69a8d798d319fb404d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / krauncher_mcp-0.2.0-py3-none-any.whl
| Download URL | krauncher_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
43ada501390babd0c70d0dc4f6dd958a37163311cc6e1aa76d7dce12661c826c
|
|
BLAKE2b-256 checksum How to use checksums |
dc7bcd1d7c2799e5ea1b5f9b1cf51608b5162400a045055328fd5b8113870e2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|