Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
Control CesiumJS 3D globes via MCP: camera, layers, entities, animation, and interaction.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"cesium-runtime": {
"command": "npx",
"args": [
"-y",
"cesium-mcp-runtime"
]
}
}
}ターミナルでこれを実行します
claude mcp add cesium-runtime -- npx -y cesium-mcp-runtimeプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"cesium-runtime": {
"command": "npx",
"args": [
"-y",
"cesium-mcp-runtime"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"cesium-runtime": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cesium-mcp-runtime"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント gaopengbin で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.0.0)がレジストリに届いたのは昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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:
latestuses the stable MCP SDK v2 and supports both
MCP
2025-11-25and2026-07-28from 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
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.
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.
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:
| Transport | Use Case | Protocol |
|---|---|---|
| stdio (default) | Local AI clients (Claude Desktop, VS Code, Cursor) | Standard I/O |
| http | Remote/cloud MCP clients (Dify, custom backends) | Streamable HTTP |
# Stable channel (stdio mode, default)
npx -y cesium-mcp-runtime
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.
For remote/cloud MCP clients like Dify:
# Start in HTTP transport mode
npx -y cesium-mcp-runtime --transport http --port 3000
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).
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.
| Variable | Purpose |
|---|---|
CESIUM_HOST | Bind address, default 127.0.0.1. Non-loopback addresses require CESIUM_AUTH_TOKEN. |
CESIUM_AUTH_TOKEN | Shared connection secret. When set, all APIs and WebSocket connections require authentication, including local clients. |
CESIUM_ALLOWED_HOSTS | Comma-separated exact hostnames without ports, in addition to loopback and the bind address. No wildcards. |
CESIUM_ALLOWED_ORIGINS | Comma-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.
{
"mcpServers": { "cesium": { "command": "npx", "args": ["-y", "cesium-mcp-runtime"], "env": { "CESIUM_WS_PORT": "9100", "DEFAULT_SESSION_ID": "default" } } } }
In .vscode/mcp.json:
{
"servers": { "cesium": { "command": "npx", "args": ["-y", "cesium-mcp-runtime"], "env": { "DEFAULT_SESSION_ID": "default" } } } }
In .cursor/mcp.json:
{
"mcpServers": { "cesium": { "command": "npx", "args": ["-y", "cesium-mcp-runtime"] } } }
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.
| Toolset | Tools | Default | Description |
|---|---|---|---|
view | 8 | Yes | Camera view controls + viewpoint bookmarks + scene export |
entity | 10 | Yes | Core entity operations + batch, query & property inspection |
layer | 9 | Yes | Layer management (GeoJSON, schema, style, basemap) |
interaction | 3 | Yes | Screenshot, highlight & measurement |
camera | 4 | — | Advanced camera controls (orbit, lookAt) |
entity-ext | 7 | — | Extended entity types (box, cylinder, wall, etc.) |
animation | 8 | — | Animation system (waypoints, clock, tracking, lighting) |
tiles | 7 | — | 3D Tiles, Gaussian Splats, terrain, imagery services, CZML & KML |
trajectory | 1 | — | Trajectory playback |
heatmap | 1 | — | Heatmap visualization |
scene | 3 | — | Scene options, post-processing & Runtime-only Ion credentials |
geolocation | 1 | — | Geocoding — convert address/place name to coordinates (Nominatim/OSM) |
{
"mcpServers": { "cesium": { "command": "npx", "args": ["-y", "cesium-mcp-runtime"], "env": { "CESIUM_TOOLSETS": "all" } } } }
CESIUM_TOOLSETS value | Result |
|---|---|
| *(not set)* | Default 4 toolsets (30 tools + 2 meta-tools) |
view,entity,camera,animation | Only specified toolsets + 2 meta-tools |
all | All 62 command tools, no meta-tools |
When not in all mode, two meta-tools are always available so the AI can discover and activate additional capabilities on demand:
| Tool | Description |
|---|---|
list_toolsets | List all toolset groups with enabled status and tool names |
enable_toolset | Dynamically enable a toolset — new tools become immediately available |
| Tool | Description |
|---|---|
flyTo | Fly to coordinates (lon, lat, height, heading, pitch, roll, duration) |
setView | Set camera position instantly |
getView | Get current camera state |
zoomToExtent | Zoom to bounding box (west, south, east, north) |
| Tool | Description |
|---|---|
addMarker | Add a marker at coordinates |
addLabel | Add text labels to the map |
addModel | Add 3D model (glTF/GLB or Ion asset) |
addPolygon | Add polygon with styling |
addPolyline | Add polyline with styling |
updateEntity | Update entity properties |
removeEntity | Remove entity by ID |
| Tool | Description |
|---|---|
addGeoJsonLayer | Add GeoJSON with styling (choropleth, category, etc.) |
listLayers | List all layers |
removeLayer | Remove layer by ID |
setLayerVisibility | Toggle layer visibility |
updateLayerStyle | Change layer color/opacity/width |
setBasemap | Switch basemap |
| Tool | Description |
|---|---|
lookAtTransform | Orbit-style camera aim at a position (heading/pitch/range) |
startOrbit | Start orbiting the camera around current center |
stopOrbit | Stop orbit animation |
setCameraOptions | Configure camera controller (enable/disable rotation, zoom, tilt) |
| Tool | Description |
|---|---|
addBillboard | Add an image icon at a position |
addBox | Add a 3D box with dimensions and material |
| addCorridor | Add a corrido
冒頭だけを表示しています。続きはリポジトリで読めます