Back to Browse

E2 MCP Server

Developer ToolsUse Caution4.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Open-source Google Maps Platform alternative for agents: search, route, map, geocode, and compute.

About

Open-source Google Maps Platform alternative for agents: search, route, map, geocode, and compute.

Security Report

4.2
Use Caution4.2High Risk

EmbedEarth is a well-structured, open-source geospatial SDK with appropriate authentication patterns and secure credential handling. The MCP server and CLI tools properly manage API keys through environment variables. Permissions align with the server's geographic data purpose (network HTTP for APIs, file I/O for caching/local data, environment variable access). Minor code quality observations exist around error handling scope, but no security vulnerabilities or malicious patterns were identified. Supply chain analysis found 4 known vulnerabilities in dependencies (2 critical, 0 high severity). Package verification found 1 issue (1 critical, 0 high severity).

6 files analyzed · 10 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

process_spawn

Check that this permission is expected for this type of plugin.

Unverified package source

We couldn't verify that the installable package matches the reviewed source code. Proceed with caution.

What You'll Need

Set these up before or after installing:

Optional EmbedEarth API key from embed.earth. Raises Cloud Search, Compute, and Route limits from 60 to 2,000 requests per minute and is required for street-level imagery.Required

Environment variable: E2_API_KEY

Optional URL of a custom routing service compatible with the E2 route API. Defaults to the first-party routing endpoint.Optional

Environment variable: ROUTE_URL

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-paulwxnter-mcp": {
      "env": {
        "ROUTE_URL": "your-route-url-here",
        "E2_API_KEY": "your-e2-api-key-here"
      },
      "args": [
        "-y",
        "embedearth"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

EmbedEarth

Open, programmable geography for applications and AI agents.

EmbedEarth (E2) is an open, programmable geographic engine for the physical world. Search places and real-world features, run spatial computations, build routes, render maps, and work with geographic datasets through one SDK.

E2 is built as an open alternative to Google Maps Platform, bringing together capabilities commonly spread across Maps, Places, Routes, Geocoding, Autocomplete, and Street View — while adding spatial computation, open geographic data, and local execution.

Get started · Documentation · Examples

EmbedEarth is an early developer foundation. The API surface, hosted services, and open-source boundary are still being shaped.

Packages

PackageInstallnpm
SDKnpm install @embedearth/sdk@embedearth/sdk
CLInpm install -g @embedearth/cli@embedearth/cli
MCPnpx -y @embedearth/mcp@embedearth/mcp

Modes

E2 can run locally or in the cloud. Local datasets are downloaded once per region and reused for future requests, so the same data does not need to be fetched again.

ModePurpose
autoUse local data when available, otherwise cloud.
offlineDownload once, then reuse locally.
cloudCloud execution with unlimited use using an API key.

Why E2

Traditional mapping APIs are built primarily around maps, places, and directions. E2 makes the broader physical world programmable.

  • Search places, infrastructure, observations, nature, civic data, and other real-world features.
  • Compute distance, proximity, counts, density, coverage, gaps, and other spatial relationships.
  • Map basemaps, features, routes, and application data.
  • Route between coordinates or directly to real-world features.
  • Stratum geographic datasets for local, offline, and cloud workflows.
  • Access street-level imagery and visual observations tied to geographic locations.

For developers coming from Google Maps Platform, E2 can replace many common workflows built around Maps, Places, Routes, Geocoding, Autocomplete, and street-level imagery while giving applications direct access to broader geographic datasets and spatial computation.

Try it

The repository includes a TypeScript SDK, CLI, MCP server, Stratum local-data workflows, and spatial compute primitives.

pnpm install
pnpm build
pnpm --filter @embedearth/cli exec earth search restaurant --area Brooklyn

From TypeScript:

import { E2 } from "@embedearth/sdk";

const earth = new E2({ apiKey: process.env.E2_API_KEY });
const results = await earth.search({
  feature: ["restaurant"],
  area: ["Brooklyn"],
  mode: "auto",
});

Six core areas

Search

Search the physical world by feature, place, region, or coordinates. Query places, infrastructure, observations, natural features, civic data, and other geographic datasets through one interface. Results are returned as GeoJSON and can be passed directly into Compute, Map, or Route.

await earth.search({ feature: ["restaurant"], area: ["New York"], mode: "auto" });

Compute

Run spatial analysis directly against geographic features. Find what is nearest, measure distance, count features, calculate density and coverage, detect gaps, or cluster nearby objects — turning geographic data into answers without a separate GIS stack.

await earth.compute.feature("restaurant").area("New York").near("park", 500).count();

Map

Render E2 data using MapLibre-compatible maps and PMTiles. Load the global basemap alongside feature layers, Search results, routes, and your own geographic data, while your application keeps control over styling and interaction.

const sources = await earth.map.sources(["restaurant"]);

Route

Calculate movement through the physical world. Build routes, travel-time matrices, isochrones, map matches, elevation queries, and network-aware searches from coordinates or E2 features — so applications can route to things rather than only fixed coordinates.

earth route to-feature restaurant --from "40.7128,-74.006" --mode walking --json

Stratum

E2's portable data layer for geographic datasets. Discover, download, cache, query, and upload geographic data for local, offline, and cloud workflows without maintaining a traditional spatial database. Supports GeoJSON, CSV, Parquet, and SQLite.

earth stratum download restaurant --area-id 4915 --out ./restaurants.parquet

Street-level Imagery

EmbedEarth processes billions of street-level images to connect visual observations with geographic features and places. Imagery adds visual context to locations and can surface physical-world features that may not appear in conventional place databases. Street-level imagery is cloud-based and requires an API key and active plan.

Cloud and API keys

E2 can run locally or in the cloud. Local datasets are downloaded once per region and reused for future requests, so the same data does not need to be fetched again. Cloud use is available without a key at limited rates; add an API key from embed.earth for full cloud access and street-level imagery.

Replace Google Maps Platform

Google Maps PlatformEmbedEarth
MapsMapLibre-based maps and PMTiles sources
Places APIFeature and place search
Places AutocompleteComing Soon
Geocoding APIComing Soon
Routes APIHosted or self-managed routing
Street View APIStreet-level imagery and visual observations
Insights APISpatial compute: nearest, distance, count, density, coverage, gaps, and clusters

Go beyond maps

Use the same interfaces for data that traditional mapping APIs do not expose:

  • Earth Search across records, infrastructure, incidents, permits, and observations
  • Spatial compute: nearest, distance, within, count, density, coverage, gaps, and clusters
  • Local-first querying over user-owned GeoJSON, CSV, Parquet, and SQLite data
  • MCP tools for Claude, Codex, and other AI agents
  • Dataset manifests and Stratum-aware map sources

Regions

To see which regions E2 covers — countries, states, cities, and other geographic areas with stable IDs — browse the Area catalog at embed.earth/catalog/areas.

Features

To see which features E2 covers — places, infrastructure, observations, natural features, civic data, and other real-world features — browse the Feature catalog at embed.earth/catalog/features.

Interfaces

InterfacePackageUse it for
SDK@embedearth/sdkJavaScript/TypeScript applications
CLI@embedearth/cliShell workflows and automation
MCP@embedearth/mcpAgent access to geographic tools
Map client@embedearth/sdk/mapMapLibre rendering and data layers
earth route run --locations "40.748,-73.985;40.641,-73.778" --mode driving
earth compute count restaurant --area Manhattan
earth search pothole --area Manhattan --json

Repository layout

packages/sdk/             JavaScript/TypeScript SDK and map client
packages/cli/             earth command-line interface
packages/mcp/             MCP server for AI agents
packages/core/             Internal geometry, time, and validation primitives
packages/datasets/         Stratum and dataset manifests
packages/registry/         Feature catalog
packages/regions/          Region catalog and lookup
packages/storage-sqlite/   Local dataset indexing and queries
examples/                  Focused integration examples
docs/                      Product and API documentation
schemas/                   Public data contracts
datasets/                  Dataset registry and provenance notes

Open-source boundary

The repository is intended to open-source the SDK, CLI, MCP server, schemas, examples, and selected data tooling. Hosted global search, continuously updated datasets, managed indexing, and large-scale visual search may remain EmbedEarth-managed services. See the boundary notes as the product evolves.

Contributing

Read CONTRIBUTING.md for setup and contribution paths. Good first contributions include a dataset adapter, a CLI output format, a Python or DuckDB example, an MCP tool, or documentation improvements.

Status

EmbedEarth v0.1 is the first public release. The roadmap is intentionally broad; API names and hosted endpoints may still change.

Licensed under Apache-2.0. See LICENSE and SECURITY.md.

Reviews

No reviews yet

Be the first to review this server!