Attested orbital AI compute physics, NOAA space-weather & $/MTok arbitrage oracle (OCEI v2.2).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Evaluates real-time spot electricity price ($/MWh) against the orbital breakeven threshold to output a deterministic workload routing directive (ORBIT_PRIMARY, HYBRID_SPLIT, or TERRESTRIAL_PRIMARY).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp-ocei-oracle https://orbitcompute.ai/mcp
Evaluates real-time spot electricity price ($/MWh) against the orbital breakeven threshold to output a deterministic workload routing directive (ORBIT_PRIMARY, HYBRID_SPLIT, or TERRESTRIAL_PRIMARY).
| Argument | Type | Description |
|---|---|---|
| hw | string | |
| power_mw | number | |
| storm_mode | string | |
| grid_price_usd_mwh* | number |
{
"type": "object",
"required": [
"grid_price_usd_mwh"
],
"properties": {
"hw": {
"enum": [
"rubin_nvl72",
"trillium_tpu_v6e",
"blackwell_b200"
],
"type": "string",
"default": "rubin_nvl72"
},
"power_mw": {
"type": "number",
"default": 100,
"maximum": 100000,
"minimum": 1
},
"storm_mode": {
"enum": [
"live",
"g0_quiet",
"g3_storm",
"g5_extreme"
],
"type": "string",
"default": "live"
},
"grid_price_usd_mwh": {
"type": "number",
"default": 65,
"maximum": 5000,
"minimum": -200
}
}
}Invoke before scheduling batch AI training/inference or evaluating orbital vs. terrestrial compute TCO. Computes OCEI v2.2 Spot/Structural/TWAP scores, L1 shockwave lead time, beta-angle eclipse battery mass, Earth IR/albedo radiator sizing, Silicon Tj throttling, Young-Daly SEU checkpointing, and $/MTok unit economics.
| Argument | Type | Description |
|---|---|---|
| hw | string | |
| beta_deg | number | |
| power_mw | number | |
| storm_mode | string | |
| altitude_km | number | |
| loop_temp_c | number | |
| grid_price_usd_mwh | number |
{
"type": "object",
"properties": {
"hw": {
"enum": [
"rubin_nvl72",
"trillium_tpu_v6e",
"blackwell_b200"
],
"type": "string",
"default": "rubin_nvl72"
},
"beta_deg": {
"type": "number",
"default": 75,
"maximum": 90,
"minimum": 0
},
"power_mw": {
"type": "number",
"default": 100,
"maximum": 100000,
"minimum": 1
},
"storm_mode": {
"enum": [
"live",
"g0_quiet",
"g3_storm",
"g5_extreme"
],
"type": "string",
"default": "live"
},
"altitude_km": {
"type": "number",
"default": 650,
"maximum": 35786,
"minimum": 300
},
"loop_temp_c": {
"type": "number",
"default": 80,
"maximum": 120,
"minimum": 40
},
"grid_price_usd_mwh": {
"type": "number",
"default": 115,
"maximum": 5000,
"minimum": -200
}
}
}Deterministic constraint solver returning the optimal percentage split across 650 km Dawn-Dusk SSO, 320 km VLEO Edge, and Terrestrial Spot Grids based on workload class, max latency tolerance (ms), and electricity spot price.
| Argument | Type | Description |
|---|---|---|
| storm_mode | string | |
| workload_type | string | |
| max_latency_ms | number | |
| grid_price_usd_mwh | number |
{
"type": "object",
"properties": {
"storm_mode": {
"enum": [
"live",
"g0_quiet",
"g3_storm",
"g5_extreme"
],
"type": "string",
"default": "live"
},
"workload_type": {
"enum": [
"frontier_training",
"batch_inference",
"realtime_inference"
],
"type": "string",
"default": "frontier_training"
},
"max_latency_ms": {
"type": "number",
"default": 45,
"maximum": 10000,
"minimum": 1
},
"grid_price_usd_mwh": {
"type": "number",
"default": 115,
"maximum": 5000,
"minimum": -200
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 12, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.