Skip to main content

Attaching SandCastle to the CesiumJS MCP

 I've been playing wit ionosphere maps and Cesium's MCP controller this week. I wanted to try some quick experiments, but quickly realized I hadn't learned how to hooik connect the Cesium Sandcastle to the their MCP as a client. The method Codex Sol 5.6 and I finally devised and successfully used  is documented below the video.

Using that method, I was able to set up the following ionosphere fly-through as seen by a Starlink satellite. More on that soon.


Videos



Attach the Cesium MCP Camera Bridge to a Sandcastle Map

1. Confirm the camera MCP is running

The camera MCP browser bridge listens at:

ws://localhost:3002/mcp/ws

Check its health from PowerShell:

Invoke-RestMethod http://localhost:3002/mcp/health

Before attachment, the response should be healthy but may show "connected": false.

2. Open the map in the Sandcastle editor

If the map URL uses standalone.html, replace that portion with index.html while preserving the complete #c=... fragment:

https://sandcastle.cesium.com/index.html#c=...

This opens the same shared map in the editable Sandcastle interface.

3. Expose the local viewer

Find the complete viewer construction statement in the Sandcastle source:

var viewer = new Cesium.Viewer("cesiumContainer", {
  // Viewer options...
});

Immediately after its closing });, add:

globalThis.cesiumViewer = viewer;

Do not insert this line inside the viewer options object. Click Run in Sandcastle.

4. Select the preview's JavaScript context

Sandcastle runs the map in a preview frame. DevTools can display log messages from that frame while its Console prompt still targets the parent page.

  1. Open Chrome DevTools and select Console.
  2. Open the execution-context dropdown, usually initially labeled top.
  3. Select the Sandcastle preview context. Depending on the Sandcastle version, it may be named bucket.html, Sandcastle, or something similar.
  4. Test the selected context:
typeof Cesium

The correct context returns:

"object"

Now verify the exposed viewer:

globalThis.cesiumViewer?.camera

It should return the Cesium camera object.

In a browser frame, globalThis.cesiumViewer and window.cesiumViewer refer to the same property. The insertion client expects window.cesiumViewer.

5. Insert the browser bridge

Open web-insertion-client.js from the repository, copy its entire contents, and paste it into the DevTools Console while the preview context remains selected.

Press Enter. The Console should report:

Cesium MCP bridge connected

Verify the WebSocket:

window.cesiumMcpBridge?.readyState

A value of 1 means the bridge is connected.

The MCP health response should now show:

{
  "connected": true
}

Disconnect or reconnect

Disconnect the browser bridge with:

window.cesiumMcpBridge?.close()

Re-running web-insertion-client.js closes an existing bridge before creating a new one.

The camera MCP accepts only one browser bridge at a time. Close any bridge attached to another Cesium tab before connecting this one.

Comments

Popular posts from this blog

Cool Math Tricks: Deriving the Divergence, (Del or Nabla) into New (Cylindrical) Coordinate Systems

Now available as a Kindle ebook for 99 cents ! Get a spiffy ebook, and fund more physics The following is a pretty lengthy procedure, but converting the divergence, (nabla, del) operator between coordinate systems comes up pretty often. While there are tables for converting between common coordinate systems , there seem to be fewer explanations of the procedure for deriving the conversion, so here goes! What do we actually want? To convert the Cartesian nabla to the nabla for another coordinate system, say… cylindrical coordinates. What we’ll need: 1. The Cartesian Nabla: 2. A set of equations relating the Cartesian coordinates to cylindrical coordinates: 3. A set of equations relating the Cartesian basis vectors to the basis vectors of the new coordinate system: How to do it: Use the chain rule for differentiation to convert the derivatives with respect to the Cartesian variables to derivatives with respect to the cylindrical variables. The chain ...

The Alcubierre Warp Drive Tophat Function and Open Science with Sage

I transferred yesterday's Mathematica file with the Alcubierre warp drive[2] line element and space curvature calculations to the  +Sage Mathematical Software System  today, (the files been  added to the public repository [3]).  If you haven't used Sage before, it's a Python based software package that's similar in functionality to Mathematica.  Oh, and it' free.  I also worked a little more on understanding the theory, but frankly, I made far more progress with the software than the theory.  What follows will be a little more of the Alcubierre theory, plus, a cool Sage interactive demo of one of the Alcubierre functions[1], as well as a bit about my first experience with using Sage. Theory The theory is fun, but it's moving slowly.  Here's the chalk board from this morning's discussion Alcubierre setup the derivation using something called the 3+1 formalism which means we consider space to be flat, (in this case), slices that are labelled ...

How Many Files Can You Add to a GPT Project? An Interview with GPT-5 on Limits, Context Engineering Tips, and Chats

 Setting the scene: I’m tinkering with Project TouCans, knee-deep in radio logs, SQLite dumps, and Cesium code. Naturally, I’m wondering if shoving all this into one GPT Project is a recipe for brilliance… or for disaster. So I turn to Vril — you know, after Brainy from the Legion of Super-Heroes , because what else do you call your AI sidekick who always has the answers? Time to ask him straight up. [ As an aside, yes, GPT-5 has decided to sometimes call me Vail. I'm not sure why to be honest. Also, I asked Vril, er GPT-5, to write up our interview for me. Apparently, me asking it to 'Bro' up a few stories, just for fun, has convinced Vril that I use 'Like,' more than I actually might. ] Me (Vail): So Vril, how many files can I throw into a GPT Project before it just starts choking? Like, is there some magic number where the context window taps out and everything falls apart? GPT-5 (Vril): Great question. There’s no single hard file limit. What matters is ...