WorldWideView is an open source geospatial intelligence engine that turns live data feeds into layers on a photorealistic 3D globe. Instead of building custom WebGL plumbing for every new data source, you load a plugin, and the data appears on the globe. Even better, an AI agent can drive the globe itself through a built-in MCP endpoint, flying the camera, toggling layers, and selecting entities in a running browser session (GitHub).
Watch the 30-second repo signal
Key Takeaways
WorldWideView renders live data on a high fidelity CesiumJS 3D globe with Google Photorealistic 3D Tiles.
Every data source is a plugin, so the core viewer stays untouched when you add aircraft, ships, or event feeds.
A built-in MCP endpoint at `/api/mcp` lets AI agents fly the camera, toggle layers, and select entities. The Agent Bus is opt-in and off by default.
You can self-host it with Docker or run it locally with pnpm, and it is licensed under the Elastic License 2.0.
What Is WorldWideView?
WorldWideView describes itself as "The Open-Source, Plugin-Driven Geospatial Intelligence Engine" (GitHub). In plain terms, it is a situational awareness platform: it ingests live data streams and renders them as interactive, cinematic layers on a 3D globe.
The project lives at silvertakana/worldwideview. It was created on March 4, 2026, and at the time of writing it has 1,931 stars, 427 forks, and 1,200 commits on GitHub. The original repo signal scored it 88 and described it as suited to OSINT researchers and geospatial engineers who track live operations without building custom WebGL plumbing.
That framing matters, because WorldWideView is not a static map. It is built for data that moves: live aircraft, maritime vessels, and conflict events are the examples given in its README. When a feed updates, the globe updates with it.
How the Plugin System Works
The core idea is separation. The platform itself is data agnostic. All data sources arrive as plugins that are dynamically imported at runtime, decoupled from the core 3D viewer.
This "All-Bundle" plugin architecture has a practical payoff: you can ingest a new data source without touching the core platform. The README lists a marketplace integration that lets you download and sync new plugins directly from the UI, plus a plugin SDK and a CLI for scaffolding your first plugin.
Under the hood, the pipeline looks like this: public APIs are polled (or microservices stream data) into a data engine, updates flow over WebSocket to a custom typed `DataBus`, the data hydrates a Zustand store, memoized entities go to an entity renderer, and CesiumJS draws them on the globe. Automatic horizon culling, chunked primitive rendering, and 3D stacking keep the scene fast even when many entities are visible.
Aspect | Detail |
|---|---|
3D engine | CesiumJS with Resium, Google Photorealistic 3D Tiles |
Frontend | Next.js 16, React 19, TypeScript 5 |
State and data flow | Zustand store, custom DataBus, WebSocket updates |
Database | PostgreSQL via Prisma 7 |
Deployment | Docker multi-stage build, Coolify |
License | Elastic License 2.0 |
How an AI Agent Flies the Globe
This is the part that sets WorldWideView apart from a normal globe viewer. It exposes a built-in MCP endpoint at `/api/mcp`, so any MCP-compatible client, such as Claude Desktop, Claude Code, Cursor, or Cline, can connect directly without a separate sidecar server (GitHub).
Through that endpoint, an agent can use the opt-in Agent Bus, an HTTP and SSE control surface that lets an external tool fly the globe, toggle layers, and select entities in the running browser session. Authentication uses an API key generated from the `/setup` page, passed as a Bearer token.
Two details are worth noting. First, the Agent Bus is opt-in and off by default, so the globe does not accept remote control until you enable it. Second, plugin tools only appear in the MCP tool list after the browser tab running WorldWideView has loaded the relevant plugin, so you may need to call the tool list again after loading a new plugin.
A reference MCP server for driving the globe from an LLM agent is also listed in the project ecosystem, under `szski/wwv-mcp`, alongside companion repos for the data engine, first-party plugins, the marketplace, and the marketing site.
Who Is It For?
WorldWideView fits a few clear audiences:
OSINT and situational awareness teams who want live feeds on one globe instead of a patchwork of dashboards.
Geospatial engineers who need a plugin-based viewer they can extend without forking the core.
AI agent builders who want an agent to explore geospatial data visually, by flying a real globe rather than reading rows in a table.
Self-hosters who want the whole stack on their own domain, LAN address, or server, with no allowlist to update.
It is less suited to someone who only needs a simple embedded map. If your data is static and your audience just needs to look up locations, a lighter mapping library will be simpler. WorldWideView earns its complexity when data is live, layered, and agent driven.
How to Run It Yourself
You need Node.js 20 or newer, pnpm 9 or newer, Docker for self-hosting, and PostgreSQL (or the compose container that ships with the project).
For self-hosting on Mac or Linux, the README gives a one-command setup that creates a folder and runs the project's setup script from its self-host directory. For local development, the flow is:
Clone the repo: `git clone https://github.com/silvertakana/worldwideview.git`
Install dependencies: `pnpm install`
Generate local environment values: `pnpm run setup`
Start everything: `pnpm run dev:all`
Open `http://localhost:3000` to see the live globe
For production, make sure a PostgreSQL database is connected through the `DATABASE_URL` environment variable.
What to Know Before You Adopt It
Three things deserve a sober look before you commit. First, the license is Elastic License 2.0, not a permissive MIT or Apache license, so check that it fits your commercial plans. Second, this is a substantial stack: a Next.js monorepo, a database, a data engine, and a 3D renderer. It is rewarding, but it is not a weekend static site. Third, the Agent Bus is powerful by design, so treat its API keys like production credentials, keep it off unless you need it, and only enable it on an instance you control.
Read this article in Indonesian: WorldWideView: Globe 3D Open Source yang Bisa Diterbangkan Agen AI
Frequently Asked Questions
What is WorldWideView?
WorldWideView is an open source, plugin-driven geospatial intelligence engine that renders live data feeds as interactive layers on a photorealistic CesiumJS 3D globe.
How do AI agents control WorldWideView?
Through its built-in MCP endpoint at `/api/mcp`. With an API key and the opt-in Agent Bus enabled, an MCP client can fly the camera, toggle layers, and select entities in the running browser session.
Is WorldWideView free to use?
The code is open source under the Elastic License 2.0. Self-hosting is free apart from your own server costs, but the Elastic license has conditions that differ from MIT or Apache, so read it before commercial use.
What do I need to run WorldWideView locally?
Node.js 20 or newer, pnpm 9 or newer, and PostgreSQL. Docker is used for self-hosting or full local development, and the app runs on `http://localhost:3000` in development.
Conclusion
WorldWideView takes a familiar idea, a globe with live data, and pushes it in a direction that fits 2026: plugins instead of hard-coded sources, a real-time pipeline instead of periodic refreshes, and an MCP endpoint so an AI agent can operate the globe as a tool. If you track live events on a map today, or you are building agents that need to reason about the world visually, it is worth a self-hosted spin. Start with the plugin marketplace, enable the Agent Bus only when you need it, and let the globe do the heavy lifting. If the PostgreSQL side interests you, see also SereneDB: One Postgres Database for Search and Analytics.
