Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Cesium MCP Runtime

by gaopengbinversion 2.0.0i★ –iRuns on your computer
Registry nameio.github.gaopengbin/cesium-mcp-runtime

Install

Overview

Description from the maker (original English)

Control CesiumJS 3D globes via MCP: camera, layers, entities, animation, and interaction.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Design, images & audio

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "cesium-runtime": {
      "command": "npx",
      "args": [
        "-y",
        "cesium-mcp-runtime"
      ]
    }
  }
}

Run this in your terminal

claude mcp add cesium-runtime -- npx -y cesium-mcp-runtime

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "cesium-runtime": {
      "command": "npx",
      "args": [
        "-y",
        "cesium-mcp-runtime"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "cesium-runtime": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "cesium-mcp-runtime"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account gaopengbin, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Design, images & audioi

  • More stars than 0% of the other 2204 servers in this category
  • Published to the registry more recently than 97% of the other 2204 servers in this category
  • Basic checks equal to or better than 100% of the other 2204 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Cesium MCP Runtime safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (2.0.0) reached the registry yesterday.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

Runs on your computer★ 16,165MITUpdated 5 months ago
Install

Claude Real Video

by HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

Runs on your computer★ 2,284MITUpdated 2 months ago
Install

Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.

Runs in the cloud★ 2,152Updated 13 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

cesium-mcp-runtime

Usage statistics are on by default, with a startup notice on stderr. Set CESIUM_TELEMETRY_DISABLED=1, DO_NOT_TRACK=1, or pass --no-telemetry to disable. Collected fields and privacy.

English | 中文

MCP Server that enables AI Agents to control a Cesium globe in real-time via the Model Context Protocol.

Release channel: latest uses the stable MCP SDK v2 and supports both

MCP 2025-11-25 and 2026-07-28 from the same stdio/HTTP entry.

If you only want to try the "AI + Cesium" feel,

examples/browser-agent is the recommended

starting point — zero backend, runs in three minutes. See

Which mode should I use?.

MCP Apps map panel

openCesiumMap serves an interactive Cesium Viewer through the standard ui://cesium-mcp/map-v10.html MCP Apps resource. The map occupies the primary area and uses the host's existing native chat through ui/message, with no duplicate composer or history. Layout and host theme/locale changes preserve the Viewer, selection and session. The app follows host semantic style variables and fonts, supports Chinese and English, and publishes camera, layers and selected-object context. Local preview controls simulate live host settings and record message delivery. OpenAI global/thread entrypoint and fullscreen hints are included.

The built HTML, embedded Worker graph and Bridge bundle ship in dist. A compatible host must support WebGL and Blob module workers in an isolated, stable UI origin. The embedded panel exchanges commands through app-only MCP tools and does not access a local WebSocket. CESIUM_APP_DOMAIN optionally declares a dedicated UI origin. External browser Viewers retain the existing WebSocket transport.

For a real local MCP Apps preview, run npm run app:preview -w packages/cesium-mcp-runtime from a built repository and open http://127.0.0.1:19311/. See the full guide. Client-specific ChatGPT installation is a separate verification step.

Vector tiles

Enable the tiles toolset with CESIUM_TOOLSETS=view,entity,layer,interaction,tiles or enable_toolset. Use loadVectorTiles for MVT /{z}/{x}/{y} URLs or vector 3D Tiles, click a feature and read getSelectedTileFeature, then update its managed layer using updateLayerStyle with tileStyle.color and tileStyle.lineWidth. Read back getLayerSchema.metadata.tileStyle to verify the applied expressions.

Vector rendering and clamping require CesiumJS 1.147. Clamped line/polygon picking uses an experimental bounded adapter. For external data in an MCP Apps panel, configure exact allowed origins with CESIUM_MAP_DATA_ORIGINS. See the vector tiles guide for source formats, styling and limits.

Architecture

AI Agent <--MCP stdio--> cesium-mcp-runtime <--WebSocket--> Browser (cesium-mcp-bridge)

AI Agent <--MCP HTTP---> cesium-mcp-runtime <--WebSocket--> Browser (cesium-mcp-bridge)

The runtime acts as a bridge between MCP-compatible AI clients (Claude Desktop, VS Code Copilot, Cursor, etc.) and a browser running CesiumJS. It translates MCP tool calls into WebSocket commands that cesium-mcp-bridge executes.

The npm package ships its browser Bridge bundle locally. The built-in Viewer at http://localhost:9100/ therefore does not depend on an unpkg fallback; CesiumJS itself is still loaded from the official Cesium CDN.

For ordinary MCP users this is a one-package setup: run cesium-mcp-runtime and use the built-in Viewer. Install cesium-mcp-bridge separately only when developing a custom CesiumJS page.

Two transport modes are supported:

TransportUse CaseProtocol
stdio (default)Local AI clients (Claude Desktop, VS Code, Cursor)Standard I/O
httpRemote/cloud MCP clients (Dify, custom backends)Streamable HTTP

Install & Run

# Stable channel (stdio mode, default)

npx -y cesium-mcp-runtime

Or install globally

npm install -g cesium-mcp-runtime cesium-mcp-runtime

Then open http://localhost:9100/ to use the built-in Viewer. No separate Bridge installation is required for this default path.

Streamable HTTP Mode

For remote/cloud MCP clients like Dify:

# Start in HTTP transport mode

npx -y cesium-mcp-runtime --transport http --port 3000

MCP endpoint: POST http://localhost:3000/mcp

Environment variable alternative:

MCP_TRANSPORT=http MCP_HTTP_PORT=3000 npx -y cesium-mcp-runtime

In HTTP mode, all 62 Cesium command tools are enabled by default (no dynamic toolset discovery needed).

MCP Client Configuration

Network access

Runtime binds to 127.0.0.1 by default, including its HTTP and WebSocket ports. Local native MCP clients and pages served from localhost continue to work. Pages opened directly as file:// must instead be served by a local HTTP server.

VariablePurpose
CESIUM_HOSTBind address, default 127.0.0.1. Non-loopback addresses require CESIUM_AUTH_TOKEN.
CESIUM_AUTH_TOKENShared connection secret. When set, all APIs and WebSocket connections require authentication, including local clients.
CESIUM_ALLOWED_HOSTSComma-separated exact hostnames without ports, in addition to loopback and the bind address. No wildcards.
CESIUM_ALLOWED_ORIGINSComma-separated exact HTTPS page origins. Loopback HTTP/HTTPS origins are allowed by default. No wildcards.

For remote access, use HTTPS/WSS through a reverse proxy and configure the public hostname and Viewer origin explicitly. For example, set CESIUM_HOST=0.0.0.0, CESIUM_ALLOWED_HOSTS=maps.example.com, CESIUM_ALLOWED_ORIGINS=https://maps.example.com, and a generated CESIUM_AUTH_TOKEN in the server environment. Preserve the public Host header and WebSocket upgrades in the proxy.

MCP HTTP and REST clients send Authorization: Bearer . The built-in Viewer asks for the connection token when authentication is enabled; it keeps the token in the page only. Custom browser bridges authenticate with WebSocket subprotocols:

const encoded = btoa(String.fromCharCode(...new TextEncoder().encode(token)))

.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '') const ws = new WebSocket('wss://maps.example.com/?session=demo', [ 'cesium-mcp', cesium-token.${encoded}, ])

Do not put credentials in query strings. Reverse proxies must not log Authorization or Sec-WebSocket-Protocol headers. The Viewer HTML and Bridge script are public assets; protected APIs and WebSocket upgrades still require the token. Secondary local Runtime instances must use the same token to relay to an existing instance. Browser session IDs select a Viewer; they are not credentials.

Claude Desktop
{

"mcpServers": { "cesium": { "command": "npx", "args": ["-y", "cesium-mcp-runtime"], "env": { "CESIUM_WS_PORT": "9100", "DEFAULT_SESSION_ID": "default" } } } }

VS Code (Copilot)

In .vscode/mcp.json:

{

"servers": { "cesium": { "command": "npx", "args": ["-y", "cesium-mcp-runtime"], "env": { "DEFAULT_SESSION_ID": "default" } } } }

Cursor

In .cursor/mcp.json:

{

"mcpServers": { "cesium": { "command": "npx", "args": ["-y", "cesium-mcp-runtime"] } } }

MCP Tools (62 command tools + 2 discovery meta-tools)

Tools are organized into 12 toolsets. By default, 4 core toolsets are enabled (30 tools). Additional toolsets can be activated via environment variable or dynamically by the AI agent at runtime. Shared titles, behavior annotations, localized descriptions, defaults, input validation, advertised output schemas, and structured results are generated from the canonical JSON Schemas in cesium-mcp-contracts. Tool calls also retain text content for older clients.

Toolsets Overview
ToolsetToolsDefaultDescription
view8YesCamera view controls + viewpoint bookmarks + scene export
entity10YesCore entity operations + batch, query & property inspection
layer9YesLayer management (GeoJSON, schema, style, basemap)
interaction3YesScreenshot, highlight & measurement
camera4—Advanced camera controls (orbit, lookAt)
entity-ext7—Extended entity types (box, cylinder, wall, etc.)
animation8—Animation system (waypoints, clock, tracking, lighting)
tiles7—3D Tiles, Gaussian Splats, terrain, imagery services, CZML & KML
trajectory1—Trajectory playback
heatmap1—Heatmap visualization
scene3—Scene options, post-processing & Runtime-only Ion credentials
geolocation1—Geocoding — convert address/place name to coordinates (Nominatim/OSM)
Toolset Configuration
{

"mcpServers": { "cesium": { "command": "npx", "args": ["-y", "cesium-mcp-runtime"], "env": { "CESIUM_TOOLSETS": "all" } } } }

CESIUM_TOOLSETS valueResult
*(not set)*Default 4 toolsets (30 tools + 2 meta-tools)
view,entity,camera,animationOnly specified toolsets + 2 meta-tools
allAll 62 command tools, no meta-tools
Dynamic Discovery (meta-tools)

When not in all mode, two meta-tools are always available so the AI can discover and activate additional capabilities on demand:

ToolDescription
list_toolsetsList all toolset groups with enabled status and tool names
enable_toolsetDynamically enable a toolset — new tools become immediately available
View
ToolDescription
flyToFly to coordinates (lon, lat, height, heading, pitch, roll, duration)
setViewSet camera position instantly
getViewGet current camera state
zoomToExtentZoom to bounding box (west, south, east, north)
Entity
ToolDescription
addMarkerAdd a marker at coordinates
addLabelAdd text labels to the map
addModelAdd 3D model (glTF/GLB or Ion asset)
addPolygonAdd polygon with styling
addPolylineAdd polyline with styling
updateEntityUpdate entity properties
removeEntityRemove entity by ID
Layer
ToolDescription
addGeoJsonLayerAdd GeoJSON with styling (choropleth, category, etc.)
listLayersList all layers
removeLayerRemove layer by ID
setLayerVisibilityToggle layer visibility
updateLayerStyleChange layer color/opacity/width
setBasemapSwitch basemap
Camera *(toolset: camera)*
ToolDescription
lookAtTransformOrbit-style camera aim at a position (heading/pitch/range)
startOrbitStart orbiting the camera around current center
stopOrbitStop orbit animation
setCameraOptionsConfigure camera controller (enable/disable rotation, zoom, tilt)
Extended Entity Types *(toolset: entity-ext)*
ToolDescription
addBillboardAdd an image icon at a position
addBoxAdd a 3D box with dimensions and material

| addCorridor | Add a corrido

Only the beginning is shown; read the rest in the repo

Ask PopNx