Koskamo

EMT Compute MCP

The EMT Compute MCP server provides agents with 21 tools to manage GPU cloud resources, including browsing availability, quoting rentals, launching scientific experiments and AI training jobs, and retrieving calculation reports. It supports scoped API keys for authentication and integrates with n8n workflows for automated GPU task orchestration.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

EMT Compute MCP logo, by EMT Aerospace Technologies S.r.l.Vendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by EMT Aerospace Technologies S.r.l.
You need:Create your EMT account, accept the service terms and create an API key with read , rent and manage scopes.Use a read key for inspection; add rent for quotes and paid launches, and manage for cancellation or cluster attachment.Paid tools require confirm_paid_rental: true . Configure a spending limit on the key.
MCP endpoint (Streamable HTTP)
https://emtcompute.com/mcp
Vendor documentation

What its tools do

22 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

22 of 22 have a description · 22 of 22 declare behavior hints · 0 of 16 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to emtcompute.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Browse GPU availability and scientific methods
  • Launch authorized experiments and AI training jobs
  • Retrieve calculation reports and event history
  • Inspect jobs and quote GPU nodes or clusters

Source and maintenance

Vendor evidenceRegistry 1.2.0

Protocol and capabilities

Server
emt-compute 1.2.0
MCP protocol negotiated in check
2025-11-25
Tools
22 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

EMT Compute rents paid GPU nodes and clusters and runs scientific experiments. Quote first; require the user's authorization for spending. Persist the exact launch payload and idempotency key before sending, and reuse both after an uncertain response. Never infer shutdown from a missing response: inspect releasing/order state. Reports record available calculations and evidence, not an independent proof of arbitrary customer code. Custom files use the REST upload API. Prices are EUR micro-units (1 EUR = 1000000). Use a scoped API key created in the intended EMT workspace. Change individual/business profile, accept terms, create workspaces and manage invitations in the EMT console, not through MCP. Shared workspace balances and resources are separate.

Tools

22 advertised

emt_catalog
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Current GPU offers. Prices in EUR micro-units per GPU/hour; unknown metrics remain null. Paginated to keep responses small.

emt_catalog input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1
    },
    "model": {
      "type": "string",
      "maxLength": 80
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 100000,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
emt_catalog annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_clusters
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Current whole-node cluster offers; fabric declarations do not establish independent EMT qualification.

emt_clusters input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
emt_clusters annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_templates
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Public GPU container templates for ordinary rentals. Prefer emt_environments: public templates can be refused when their CUDA is newer than the node's driver.

emt_templates input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
emt_templates annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_environments
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Verified environments (PyTorch, JAX, vLLM, TensorRT-LLM, ComfyUI, Unsloth) with their CUDA version and ports. Checked against the node before renting; they start an SSH server with the order's key.

emt_environments input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
emt_environments annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_experiment_presets
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List scientific presets or inspect one preset's parameters, equations, methods and custom-input schema. Does not run a calculation.

emt_experiment_presets input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 64
    }
  },
  "additionalProperties": false
}
emt_experiment_presets annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_orders
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Owned GPU orders and lifecycle states. Requires read scope.

emt_orders input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
emt_orders annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_experiment_jobs
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Owned experiment jobs, including reports and release state. Requires read scope.

emt_experiment_jobs input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
emt_experiment_jobs annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_experiment_job
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Inspect an owned experiment and its authenticated result, output and calculation-report download links. Files are not sent into the model context.

emt_experiment_job input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "job"
  ],
  "properties": {
    "job": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false
}
emt_experiment_job annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_training_jobs
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List owned AI training jobs. Requires read scope; does not start training or rent GPUs.

emt_training_jobs input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
emt_training_jobs annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_training_job
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Inspect an owned training job, its settings, lifecycle and recorded outcome.

emt_training_job input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "job"
  ],
  "properties": {
    "job": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false
}
emt_training_job annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_training_recipe
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Read the reproducible recipe for an owned training job, including model, dataset and training settings.

emt_training_recipe input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "job"
  ],
  "properties": {
    "job": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false
}
emt_training_recipe annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_training_events
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Read up to 100 training events with metrics, runtime and observed dataset hashes when recorded. For full history start after=0 and latest=false, then repeat with the greatest returned seq until an empty page. latest=true returns the most recent window only. Visible devices are not proof of GPU utilization.

emt_training_events input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "job"
  ],
  "properties": {
    "job": {
      "type": "string",
      "format": "uuid"
    },
    "after": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0
    },
    "latest": {
      "type": "boolean",
      "default": false
    }
  },
  "additionalProperties": false
}
emt_training_events annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_monitor
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Metrics and lifecycle for an owned order. Missing telemetry is unknown.

emt_monitor input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "order"
  ],
  "properties": {
    "order": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false
}
emt_monitor annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
emt_quote
Advertised by the server during the last successful anonymous check.
Open-world

Create a fresh expiring GPU quote without renting or charging.

emt_quote input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "node",
    "count",
    "hours"
  ],
  "properties": {
    "node": {
      "type": "string",
      "format": "uuid"
    },
    "count": {
      "type": "integer",
      "maximum": 256,
      "minimum": 1
    },
    "hours": {
      "type": "integer",
      "maximum": 720,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
emt_quote annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
emt_cluster_quote
Advertised by the server during the last successful anonymous check.
Open-world

Quote selected whole nodes on one fabric without renting.

emt_cluster_quote input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "cluster",
    "nodes",
    "hours"
  ],
  "properties": {
    "hours": {
      "type": "integer",
      "maximum": 720,
      "minimum": 1
    },
    "nodes": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "maxItems": 16,
      "minItems": 2
    },
    "cluster": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1
    }
  },
  "additionalProperties": false
}
emt_cluster_quote annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
emt_experiment_quote
Advertised by the server during the last successful anonymous check.
Open-world

Quote 1–4 nodes for an experiment; hours × hourly gives the GPU rental ceiling in micro-EUR. Reserve is only an initial hold, not total cost.

emt_experiment_quote input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "fp64": {
      "type": "boolean",
      "default": false
    },
    "node": {
      "type": "string",
      "maxLength": 200
    },
    "count": {
      "type": "integer",
      "default": 1,
      "maximum": 8,
      "minimum": 1
    },
    "model": {
      "type": "string",
      "maxLength": 80
    },
    "nodes": {
      "type": "integer",
      "default": 1,
      "maximum": 4,
      "minimum": 1
    },
    "minVram": {
      "type": "integer",
      "default": 8,
      "maximum": 1024,
      "minimum": 0
    },
    "maxMinutes": {
      "type": "integer",
      "default": 60,
      "maximum": 1440,
      "minimum": 10
    },
    "environment": {
      "enum": [
        "emt-lab",
        "emt-lab-devel",
        "emt-lab-jax"
      ],
      "type": "string",
      "default": "emt-lab"
    }
  },
  "additionalProperties": false
}
emt_experiment_quote annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
emt_rent
Advertised by the server during the last successful anonymous check.
Open-world

Start a PAID GPU rental with exactly one of environment (verified, from emt_environments: preferred) or template. Requires explicit spending authorization, fresh quote, rent scope, credit and accepted terms. Store payload and key before requesting.

emt_rent input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "quote",
    "name",
    "confirm_paid_rental",
    "idempotency_key"
  ],
  "properties": {
    "ssh": {
      "type": "string",
      "maxLength": 4096
    },
    "name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
    },
    "ports": {
      "type": "integer",
      "default": 10,
      "maximum": 200,
      "minimum": 0
    },
    "quote": {
      "type": "string",
      "format": "uuid"
    },
    "setup": {
      "type": "object",
      "properties": {
        "ref": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._/-]{1,100}$"
        },
        "repo": {
          "type": "string",
          "maxLength": 300
        },
        "script": {
          "type": "string",
          "maxLength": 3000
        }
      },
      "additionalProperties": false
    },
    "volume": {
      "type": "string",
      "format": "uuid"
    },
    "backups": {
      "type": "boolean",
      "default": false
    },
    "jupyter": {
      "type": "boolean",
      "default": false
    },
    "template": {
      "type": "string",
      "format": "uuid"
    },
    "environment": {
      "type": "string",
      "maxLength": 40
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_.:-]+$",
      "maxLength": 120,
      "minLength": 16
    },
    "confirm_paid_rental": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": false
}
emt_rent annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
emt_rent_cluster
Advertised by the server during the last successful anonymous check.
Open-world

Start a PAID whole-node cluster rental. Public SSH key only. Confirm cost and fabric limits with the user first.

emt_rent_cluster input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "quote",
    "name",
    "ssh",
    "confirm_paid_rental",
    "idempotency_key"
  ],
  "properties": {
    "ssh": {
      "type": "string",
      "maxLength": 4096
    },
    "name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
    },
    "quote": {
      "type": "string",
      "format": "uuid"
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_.:-]+$",
      "maxLength": 120,
      "minLength": 16
    },
    "confirm_paid_rental": {
      "type": "boolean",
      "const": true
    },
    "acknowledgeSlowNetwork": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": false
}
emt_rent_cluster annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
emt_start_experiment
Advertised by the server during the last successful anonymous check.
Open-world

Start a PAID scientific preset, customer script or command. Parameter sets distribute across quoted nodes; this does not automatically parallelize a single solver. Auto-continuation may rent additional segments up to its budget. Review all costs before confirming.

emt_start_experiment input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "quotes",
    "name",
    "experiment",
    "runs",
    "confirm_paid_rental",
    "idempotency_key"
  ],
  "properties": {
    "ssh": {
      "type": "string",
      "maxLength": 4096
    },
    "auto": {
      "type": "object",
      "required": [
        "budgetMicro",
        "maxSegments"
      ],
      "properties": {
        "budgetMicro": {
          "type": "integer",
          "maximum": 100000000000,
          "minimum": 100000
        },
        "maxSegments": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 2
        }
      },
      "additionalProperties": false
    },
    "name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
    },
    "runs": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "params"
        ],
        "properties": {
          "params": {
            "type": "object",
            "propertyNames": {
              "maxLength": 64
            },
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "maxLength": 2000
                },
                {
                  "type": "boolean"
                }
              ]
            }
          }
        },
        "additionalProperties": false
      },
      "maxItems": 64,
      "minItems": 1
    },
    "seed": {
      "type": "integer",
      "default": 0,
      "maximum": 2147483648,
      "minimum": 0
    },
    "files": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "default": [],
      "maxItems": 20
    },
    "level": {
      "enum": [
        "student",
        "lab",
        "frontier"
      ],
      "type": "string",
      "default": "student"
    },
    "config": {
      "type": "object",
      "propertyNames": {
        "maxLength": 64
      },
      "additionalProperties": {}
    },
    "quotes": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "maxItems": 4,
      "minItems": 1
    },
    "resume": {
      "type": "object",
      "required": [
        "job"
      ],
      "properties": {
        "job": {
          "type": "string",
          "format": "uuid"
        }
      },
      "additionalProperties": false
    },
    "experiment": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "preset"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "preset"
            },
            "preset": {
              "type": "string",
              "maxLength": 64
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "entry"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "script"
            },
            "entry": {
              "type": "string",
              "pattern": "^[\\w][\\w .()+-]*\\.py$",
              "maxLength": 120
            },
            "title": {
              "type": "string",
              "maxLength": 120
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "command"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "command"
            },
            "setup": {
              "type": "string",
              "default": "",
              "maxLength": 20000
            },
            "title": {
              "type": "string",
              "maxLength": 120
            },
            "command": {
              "type": "string",
              "maxLength": 20000,
              "minLength": 1
            },
            "environment": {
              "enum": [
                "emt-lab",
                "emt-lab-devel",
                "emt-lab-jax"
              ],
              "type": "string",
              "default": "emt-lab"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_.:-]+$",
      "maxLength": 120,
      "minLength": 16
    },
    "confirm_paid_rental": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": false
}
emt_start_experiment annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
emt_attach_cluster_experiment
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

Attach work to an already rented dedicated 2–4-node cluster. Does NOT start SSH remotely: run emt_cluster.py locally with the returned job ID and your private key. Whole cluster stops on completion/cancel; billing continues during preparation.

emt_attach_cluster_experiment input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name",
    "experiment",
    "runs",
    "clusterOrder",
    "releaseCluster",
    "idempotency_key"
  ],
  "properties": {
    "ssh": {
      "type": "string",
      "maxLength": 4096
    },
    "name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
    },
    "runs": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "params"
        ],
        "properties": {
          "params": {
            "type": "object",
            "propertyNames": {
              "maxLength": 64
            },
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "maxLength": 2000
                },
                {
                  "type": "boolean"
                }
              ]
            }
          }
        },
        "additionalProperties": false
      },
      "maxItems": 64,
      "minItems": 1
    },
    "seed": {
      "type": "integer",
      "default": 0,
      "maximum": 2147483648,
      "minimum": 0
    },
    "files": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "default": [],
      "maxItems": 20
    },
    "level": {
      "enum": [
        "student",
        "lab",
        "frontier"
      ],
      "type": "string",
      "default": "student"
    },
    "config": {
      "type": "object",
      "propertyNames": {
        "maxLength": 64
      },
      "additionalProperties": {}
    },
    "experiment": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "kind",
            "preset"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "preset"
            },
            "preset": {
              "type": "string",
              "maxLength": 64
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "entry"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "script"
            },
            "entry": {
              "type": "string",
              "pattern": "^[\\w][\\w .()+-]*\\.py$",
              "maxLength": 120
            },
            "title": {
              "type": "string",
              "maxLength": 120
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "kind",
            "command"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "command"
            },
            "setup": {
              "type": "string",
              "default": "",
              "maxLength": 20000
            },
            "title": {
              "type": "string",
              "maxLength": 120
            },
            "command": {
              "type": "string",
              "maxLength": 20000,
              "minLength": 1
            },
            "environment": {
              "enum": [
                "emt-lab",
                "emt-lab-devel",
                "emt-lab-jax"
              ],
              "type": "string",
              "default": "emt-lab"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "maxMinutes": {
      "type": "integer",
      "default": 60,
      "maximum": 1440,
      "minimum": 10
    },
    "clusterOrder": {
      "type": "string",
      "format": "uuid"
    },
    "releaseCluster": {
      "type": "boolean",
      "const": true
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_.:-]+$",
      "maxLength": 120,
      "minLength": 16
    }
  },
  "additionalProperties": false
}
emt_attach_cluster_experiment annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}
emt_cancel_experiment
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

Cancel an owned experiment and request release of all its GPU nodes or attached cluster. Unfinished work can be lost. Recheck releasing until false.

emt_cancel_experiment input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "job",
    "confirm_stop"
  ],
  "properties": {
    "job": {
      "type": "string",
      "format": "uuid"
    },
    "confirm_stop": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": false
}
emt_cancel_experiment annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}
emt_terminate
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

Terminate every node in an owned rental. Local disks are deleted; retained volumes and backups remain billed. Inspect status until release is confirmed.

emt_terminate input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "order",
    "confirm_local_data_loss"
  ],
  "properties": {
    "order": {
      "type": "string",
      "format": "uuid"
    },
    "confirm_local_data_loss": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": false
}
emt_terminate annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1048 ms
95th percentile latency
1048 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1048 ms · metadata changed · 22 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http emt-compute-mcp https://emtcompute.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add emt-compute-mcp --url https://emtcompute.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable emt-compute-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "emt-compute-mcp": {
      "url": "https://emtcompute.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "emt-compute-mcp": {
      "type": "streamableHttp",
      "url": "https://emtcompute.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start emt-compute-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "emt-compute-mcp": {
      "type": "http",
      "url": "https://emtcompute.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http emt-compute-mcp https://emtcompute.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://emtcompute.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "emt-compute-mcp": {
      "serverUrl": "https://emtcompute.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like EMT Compute MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run EMT Compute MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing