Перейти до вмісту
tech

LEO to GEO from a URL

Live Open Graph card from sidus.tools

TL;DR. sidus.tools is a free MIT catalog of educational space-engineering checks in SI. Hohmann from about 200 km LEO to GEO, r1_m = 6578137 and r2_m = 42164137, comes back 3931.86 m/s from the public MCP. The browser uses the same function.

The page is Vite 8 and React 19, Tailwind v4, react-router-dom 7, a SPA whose dist sits on Vercel. Numbers run in the client. Physics is hand-written TypeScript in src/lib/physics/. mcp/full-catalog.ts imports that folder. Public endpoint is https://sidus.tools/api/mcp over Streamable HTTP, no API key. GET is discovery JSON. POST is the official SDK: createMcpHandler from @modelcontextprotocol/server, toNodeHandler from @modelcontextprotocol/node. Handler source is mcp/http-handler.ts, bundled with esbuild to api/mcp.js, Vercel Node, maxDuration 30s, not Edge. The UI lists 175 tools in committed src/data/tools.ts (kebab-case). tools/list returns 177; list_bodies and list_mcp_tools are extra meta tools with underscore names. Local stdio is npm run mcp.

Today, 13 August 2026, I pointed a client at https://sidus.tools/api/mcp and called hohmann. r1_m = 6578137. r2_m = 42164137. Circular, about 200 km LEO to GEO. Educational Earth μ. SI the whole way. No MATLAB window. No CSV I named final_final.

dv1 2454.59 m/s. dv2 1477.27 m/s. Total 3931.86 m/s. Time of flight 18931.92 s, about 5.3 hours. Transfer semi-major axis 24371137 m. v1 7784.26 m/s, v2 3074.66 m/s.

Five hours and a bit, LEO to GEO, on an educational two-body Hohmann transfer. I can hold that in my head. I can also hand the same call to an agent. Public MCP over Streamable HTTP, no API key. You point the client at the URL. GET is discovery JSON. Then you call the tool.

I am a software engineer, not a space engineer. I am passionate about space engineering. That is why sidus.tools exists, and why that call works. I came to it from physics and astronomy, a couple of Balbi books and some Einstein on the nightstand, and science fiction. Then I wanted the numbers in SI on a page.

The homepage still says about 175 tools. tools/list today returned 177. MIT, pure SI, no account. Source is github.com/massimodeluisa/sidus-tools. The card at the top is the live Open Graph image from the site.

You can do the same Hohmann in the browser. Type the radii. See the formula. See 3931.86 m/s if you use these defaults. Then hit the MCP and get the same SI out.

I used to lose these checks in notes apps. A μ with the wrong exponent. A radius in kilometres treated as metres at 1 a.m. SIDUS is how I stopped doing that, with tests that want a live source URL.

I wanted the number in metres per second, on a page I could read, and on a protocol a client could hit, without a second physics library quietly drifting. Browser and MCP share the functions. If Hohmann is wrong in one place, it is wrong in both. You fix it once. Edit on GitHub. Pull request. MIT, on purpose. I want engineers from anywhere on this. People at agencies. People at private shops, SpaceX included. If someone who actually flies hardware argues a default into a better one, I would be proud to see them in the git log. A PR. Nobody is endorsing me by filing it.

I tried Grok Build on a lot of the mechanical work. Wiring, exports, MCP glue. The boring scaffolding. (Overview, intro.) It is xAI’s coding agent, a TUI. I did not hand it the physics, the SI defaults, or which textbook a tool cites.

The catalog

Orbital, propulsion, satellite and RF, launch, crew ECLSS, geometry, planetary, utilities. The ugly units stay in SI. I did not hide kilometres in a spreadsheet column named r_km_final2. If you want kilometres, you convert on purpose. That conversion is a decision. I want it visible.

Defaults are educational WGS-84-class Earth. μ⊕ = 3.986004418×10¹⁴ m³/s². Equatorial radius 6 378 137 m. The models stay small. Two-body, impulsive burns, circular Clohessy-Wiltshire, ideal rocket, ISA aero. You can hold the assumption in your head. You can finish a check before the coffee cools. Teaching, a design review, the argument you were having about Δv at 23:40.

Two-body pages carry Vallado’s Fundamentals of Astrodynamics and Applications (CelesTrak companion) and Curtis’s Orbital Mechanics for Engineering Students. NASA-class references where they apply. Automated checks want a real HTTPS source URL before a tool ships. If the citation 404s, the tool stays home. I like that more than I like a new category with a weak source.

Export is C, C++, Rust, Zig, Python, JS/TS, MATLAB, Julia, Fortran, LaTeX. I have been spending cycles on Rust. Watching a Δv leave the page as idiomatic Rust is how I check whether the number survives another language. Same μ and radii, different syntax. If the two disagree, I have a bug. The formulas, and that exportable code, should be reviewed and tested.

The Hohmann I ran is a class of transfer, two-body, impulsive, educational μ. You can disagree with the model. You can see the formula. You can call it again.

The URL

Same catalog, public MCP. No clone, no key.

npx skills add massimodeluisa/sidus-tools --skill sidus

Listed at skills.sh/massimodeluisa/sidus-tools/sidus. isready’s MCP is the other flavor: paid API key, metered. This one you just hit. I like both, for different reasons. SIDUS is the public one. I wanted the numbers in SI on a Tuesday night. The cool later version is a PWA or a small native app. Rust, or Zig, or Go. Something you could imagine on a laptop in the ISS, on a machine inside a Dragon, on a PC at Starbase. I want that picture. A phone that does an SI check without opening a tab would already be nice.

The catalog is public. If a check helps, use it. If a default is wrong, send a PR. I work on it in the evening after client work. That is enough.