# Ortho Earth MCP server

This URL is a Model Context Protocol (MCP) endpoint. An AI client talks to it with JSON-RPC over HTTP POST; opening it in a browser shows this guide.

- Endpoint: https://www.ortho-earth.com/mcp
- Transport: Streamable HTTP, stateless (POST JSON-RPC, JSON responses; no SSE stream, no session)
- Local alternative: `npx -y @ortho-earth/mcp` (stdio, Node.js 18 or later, same tools)
- Authentication: none. No API key, no account
- Version: 0.1.0. MCP Registry name: io.github.kenjiyoshidahome2026-bit/ortho-earth

## What it is for

Ortho Earth is an open-source 3D globe map engine for the browser. This server helps an AI agent write code with it correctly: it looks up the current facts (version, packages, licenses), the tested setup recipe, exact API declarations, whether a given MapLibre GL JS or CesiumJS example runs on Ortho Earth, and the documentation.

It is a reference server. It does not open or operate a map, render images, move a camera, or edit layers, and it does not search PLATEAU building attributes or run spatial analysis. To show a place, it returns a link that opens the globe there (`view_link`). All tools are read-only.

## Tools

- `get_facts`: Latest version and release date, npm packages, licenses, and how many official MapLibre GL JS and CesiumJS examples run unchanged on Ortho Earth.
- `search_docs`: Full-text search over the Ortho Earth documentation (the recipe, the changelog, migration guides from MapLibre GL JS, CesiumJS, Leaflet and Google Maps, the engine overview, GeoPBF, Gint, comparison articles).
- `get_started`: The step-by-step recipe for putting the Ortho Earth globe in a web page, with the exact file contents.
- `check_compat`: Looks up how the official MapLibre GL JS examples and CesiumJS Sandcastle examples matching the query run on Ortho Earth (same picture / same answers / runs partly / does not run), with notes and links to side-by-side comparisons, and how MapLibre style properties are read (e.g. "fill-extrusion", "line-dasharray").
- `lookup_api`: Returns the TypeScript declaration (with its doc comment) of an Ortho Earth API from the published types: createGlobe and its options (globe.d.ts), the map object it returns (globe-map.ts), and the MapLibre-compatible facade (maplibre.d.ts).
- `view_link`: Makes a www.ortho-earth.com link that opens the 3D globe at a place, and the matching view string for createGlobe({ view }).
- `list_apps`: The apps and demos on www.ortho-earth.com, each with its link and a one-line description.

## Connect

Claude Code:

```bash
claude mcp add --transport http ortho-earth https://www.ortho-earth.com/mcp
```

Claude Desktop: Settings → Connectors → Add custom connector, URL `https://www.ortho-earth.com/mcp`. Or run it locally, in claude_desktop_config.json:

```json
{ "mcpServers": { "ortho-earth": { "command": "npx", "args": ["-y", "@ortho-earth/mcp"] } } }
```

Cursor (~/.cursor/mcp.json or .cursor/mcp.json):

```json
{ "mcpServers": { "ortho-earth": { "url": "https://www.ortho-earth.com/mcp" } } }
```

VS Code (.vscode/mcp.json):

```json
{ "servers": { "ortho-earth": { "type": "http", "url": "https://www.ortho-earth.com/mcp" } } }
```

## Try it without a client

```bash
curl -s https://www.ortho-earth.com/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

## Where the answers come from

The files that www.ortho-earth.com rebuilds on every deploy: /facts.json, /llms.txt, /llms-full.txt, /start.md, /compat.json and /ref/*.ts. Nothing else is read or stored.

## Links

- Package and full README: https://www.npmjs.com/package/@ortho-earth/mcp
- Source: https://github.com/kenjiyoshidahome2026-bit/ortho-earth/tree/main/packages/mcp
- Site: https://www.ortho-earth.com/ · For AI agents: https://www.ortho-earth.com/llms.txt
