MCP Hub
Back to servers

axion-planetary-mcp

A comprehensive geospatial AI MCP server that democratizes Earth observation by allowing users to search, process, and analyze satellite imagery (Sentinel, Landsat, NAIP) through natural language.

Stars
170
Forks
17
Tools
7
Updated
Dec 12, 2025
Validated
Jan 9, 2026

🌍 Axion Planetary MCP

The Foundation for Democratizing Geospatial AI Agents


🚀 V2.0 - Now Powered by AWS

Major Update: Axion Planetary MCP has been completely rebuilt on AWS infrastructure for better performance, reliability, and global accessibility. No more Google Cloud setup required!


Watch the demo

Click the image above to watch the demo video

npm version downloads license aws powered mcp compatible

🚀 Making Earth Observation as Easy as Having a Conversation

From PhD-level complexity to natural language queries in one install

"Show me crop health in Iowa""Analyze vegetation in California""Track water levels in Lake Tahoe"

🎯 The Revolution⚡ Quick Start🌟 What's Possible🛠️ Self-Host


⚡ Hosted Version (2-Minute Setup!)

Start using satellite imagery analysis immediately without any server setup!

🚀 Quick Start

Step 1: Get Your API Key

Try it now with this starter key:

axion_6C1D_634DDAEAA324235F

Need your own key? Email dhenenjay.2001@gmail.com or open an issue

Step 2: Configure Claude Desktop

Open your Claude Desktop config file:

OSConfig File Path
Windows%APPDATA%\Claude\claude_desktop_config.json
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json

Add the following (replace YOUR_API_KEY):

{
  "mcpServers": {
    "axion": {
      "command": "npx",
      "args": ["-y", "axion-mcp", "--api-key", "YOUR_API_KEY"]
    }
  }
}

Step 3: Restart Claude Desktop

Done! Ask Claude:

"Show me the NDVI vegetation map of Central Park, New York"


💻 Alternative Installation Methods

Using Environment Variables

{
  "mcpServers": {
    "axion": {
      "command": "npx",
      "args": ["-y", "axion-mcp"],
      "env": {
        "AXION_API_KEY": "your_key_here"
      }
    }
  }
}

Global Install (if npx doesn't work)

npm install -g axion-mcp
{
  "mcpServers": {
    "axion": {
      "command": "axion-mcp",
      "args": ["--api-key", "YOUR_API_KEY"]
    }
  }
}

Using sse-bridge.mjs Directly

{
  "mcpServers": {
    "axion": {
      "command": "node",
      "args": ["C:/path/to/sse-bridge.mjs", "https://axion-mcp-sse.onrender.com/sse", "YOUR_API_KEY"]
    }
  }
}

✨ Why Use the Hosted Version?

  • 🚀 2-minute setup - Just add config and restart
  • ☁️ No server management - Everything runs in the cloud
  • 🔒 Simple API key auth - Secure and easy
  • ⚡ Always up-to-date - Latest features automatically
  • 🌍 Free satellite data - Access Sentinel-2, Landsat, NAIP
  • 💻 Zero maintenance - No processes to manage
  • 🌐 Works anywhere - No firewall issues, no ports to open

📦 Hosted Server Details

🌟 Hosted Version Exclusive: The hosted version includes axion_sar2optical - our proprietary Axion Foundation Model that converts SAR radar imagery to optical-like images, enabling cloud-free, day/night Earth observation. This AI-powered tool is only available through the hosted server.

Note: The hosted server runs on Render's free tier and may take 30 seconds to wake up if idle. For always-on access, consider self-hosting.


🎯 The Geospatial AI Revolution

We are witnessing the "iPhone moment" for Earth observation. Just like the iPhone made computing accessible to everyone, Axion Planetary MCP makes petabytes of satellite data accessible through simple conversation.

🔥 The Paradigm Shift

Before: Building geospatial AI required PhD expertise, months of setup, complex APIs, and massive infrastructure.

Now: Anyone can build sophisticated Earth observation AI agents with natural language and one command: npm install

Traditional Path: 1 Expert → 1 Year → 1 Specialized Tool
Our Path:        1 Person → 2 Minutes → Unlimited Possibilities

🌟 What Becomes Possible

👥 Who Can Now Build Geospatial AI Agents:

Before AxionAfter Axion
PhD researchers with GIS expertiseFarmers: "Monitor my fields for crop health"
Large corporations with dedicated teamsCity Planners: "Track urban expansion patterns"
Government agencies with massive budgetsNGOs: "Monitor deforestation in real-time"
Tech giants with infrastructureStudents: "Study climate change impacts"
Small Businesses: "Analyze supply chain risks"
Anyone: Who can install npm and talk to AI

🚀 Real-World Transformations

Precision Agriculture Revolution 🌾

Farmer: "Create an AI agent that monitors my 500-acre farm"
Result: Daily crop health reports, irrigation optimization, 
        vegetation stress detection, yield predictions

Environmental Monitoring 🌊

Researcher: "Track water quality in Lake Tahoe"
Result: Water index analysis, temporal changes,
        algae bloom detection, quality reports

Urban Planning 🏙️

Planner: "Analyze urban heat islands in Phoenix"
Result: Surface temperature maps, vegetation coverage,
        heat mitigation recommendations

🛠️ Available Tools (6)

axion_data

Search satellite imagery from multiple collections:

  • Sentinel-2 (10m resolution, 5-day revisit)
  • Landsat 8/9 (30m resolution, 16-day revisit)
  • NAIP (1m aerial imagery, US only)

axion_map

Create interactive maps with:

  • Vegetation indices (NDVI, EVI, SAVI)
  • Water indices (NDWI, MNDWI)
  • Built-up index (NDBI)
  • True/false color composites
  • Custom band expressions

axion_process

Process imagery:

  • Cloud-free composites
  • Temporal mosaics
  • 9+ spectral indices
  • Band math expressions

axion_classification

ML land cover classification:

  • Random Forest classifier
  • Custom training points
  • Multi-class output
  • Accuracy metrics

axion_export

Export options:

  • GeoTIFF downloads
  • PNG thumbnails
  • Map tiles (XYZ)
  • Cloud storage (S3)

axion_system

System utilities:

  • Health check
  • Configuration info
  • Available collections

📚 Example Queries

Just talk to Claude like you would a geospatial expert:

🌾 Agriculture & Food Security

"Show me NDVI vegetation health for Iowa farmland"

"Create a crop classification map for California's Central Valley"

"Which areas show vegetation stress this month?"

🌊 Water Resources

"Calculate water index for Lake Mead"

"Show me water bodies in the Nevada desert"

"Track reservoir levels over time"

🏢 Urban Planning

"Map urban expansion in Austin, Texas"

"Show built-up areas vs green spaces in Seattle"

"Analyze land use changes in Denver"

🌲 Environmental Monitoring

"Monitor forest health in Yellowstone"

"Create a false color composite of the Amazon"

"Show vegetation changes between 2020 and 2024"


🐳 Self-Hosting

Want to run your own Axion MCP server? No cloud credentials required for basic functionality!

Prerequisites

  • Docker (recommended) OR Node.js 18+
  • That's it! Satellite data comes from free public APIs.

Option 1: Docker (Recommended)

# Clone this repository
git clone https://github.com/Dhenenjay/Axion-Planetary-MCP
cd Axion-Planetary-MCP

# Build the Docker image
docker build -t axion-mcp .

# Run without authentication (for local/personal use)
docker run -p 3000:3000 -e REQUIRE_AUTH=false axion-mcp

# OR run with authentication (for production/shared use)
docker run -p 3000:3000 \
  -e REQUIRE_AUTH=true \
  -e AXION_API_KEY=your-secret-key-here \
  axion-mcp

# Test it's working
curl http://localhost:3000/health
# Should return: {"status":"healthy","tools":6}

Option 2: Run from Source

# Clone and install
git clone https://github.com/Dhenenjay/Axion-Planetary-MCP
cd Axion-Planetary-MCP
npm install

# Build the SSE server
npm run build:sse

# Run (no auth)
REQUIRE_AUTH=false npm run start:sse

# OR with auth
REQUIRE_AUTH=true AXION_API_KEY=your-key npm run start:sse

Connect Claude Desktop to Your Server

Without authentication:

{
  "mcpServers": {
    "axion-local": {
      "command": "node",
      "args": ["C:/path/to/Axion-Planetary-MCP/sse-bridge.mjs", "http://localhost:3000/sse"]
    }
  }
}

With authentication:

{
  "mcpServers": {
    "axion-local": {
      "command": "node",
      "args": ["C:/path/to/Axion-Planetary-MCP/sse-bridge.mjs", "http://localhost:3000/sse", "your-secret-key-here"]
    }
  }
}

Cloud Deployment

The included Dockerfile works with any container platform:

PlatformHow to Deploy
RenderFork repo → New Web Service → Connect GitHub → Deploy
Railwayrailway initrailway up
Fly.ioflyctl launchflyctl deploy
AWS ECSPush to ECR → Create task definition → Run service
Google Cloud Rungcloud run deploy

Environment Variables Reference

VariableRequiredDescription
PORTNoServer port (default: 3000)
REQUIRE_AUTHNoEnable API key auth (default: true)
AXION_API_KEYIf auth enabledYour API key for authentication
AWS_ACCESS_KEY_IDNoFor S3 exports only
AWS_SECRET_ACCESS_KEYNoFor S3 exports only
AWS_REGIONNoAWS region (default: us-east-1)
AXION_S3_EXPORTS_BUCKETNoS3 bucket for GeoTIFF exports

What You Get Without Any Credentials

Full satellite data search (Sentinel-2, Landsat, NAIP)
Interactive map generation (NDVI, NDWI, false color, etc.)
Image processing (composites, indices, band math)
ML classification (Random Forest land cover)
System health & info

What Requires AWS Credentials (Optional)

⚠️ GeoTIFF exports to S3 - requires AWS credentials and S3 bucket
⚠️ Large file downloads - exports over 10MB need S3

Docker Compose Example

version: '3.8'
services:
  axion:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - REQUIRE_AUTH=true
      - AXION_API_KEY=${AXION_API_KEY}  # Set in .env file
      # Optional AWS for exports:
      # - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
      # - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
    restart: unless-stopped

📡 Data Sources

CollectionResolutionCoverageRevisit
Sentinel-2 L2A10-60mGlobal5 days
Landsat C2 L230mGlobal16 days
NAIP0.6-1mUSA2-3 years

All data accessed via AWS Earth Search STAC API (free, no auth required).


🔧 Troubleshooting

"Command not found: npx"

Install Node.js 18+ from nodejs.org

"Unauthorized - Invalid API key"

  1. Verify your API key is correct
  2. Make sure there are no extra spaces
  3. Try with environment variable: "env": { "AXION_API_KEY": "your_key" }

"Connection refused"

The hosted server may be sleeping (free tier). Wait 30 seconds and try again, or self-host.

Claude doesn't show Axion tools

  1. Completely quit Claude Desktop
  2. Check config JSON syntax at jsonlint.com
  3. Restart Claude Desktop
  4. Look for "axion" in Claude's tool list

🏗️ Architecture

┌─────────────────┐
│   Claude AI     │  (Your AI Assistant)
└────────┬────────┘
         │ MCP Protocol
         ▼
┌─────────────────┐
│  axion-mcp      │  (NPM Bridge Package)
└────────┬────────┘
         │ SSE/HTTP
         ▼
┌─────────────────┐
│  Axion Server   │  (Cloud or Self-hosted)
└────────┬────────┘
         │ STAC API
         ▼
┌─────────────────┐
│  AWS Earth      │  (Free Satellite Data)
│  Search         │  Sentinel-2, Landsat, NAIP
└─────────────────┘

🤝 Contributing

Contributions welcome! Please feel free to:

  • Report bugs via GitHub Issues
  • Submit pull requests
  • Suggest new features
  • Improve documentation

📄 License

MIT License - feel free to use in your projects!


💬 Support


🎆 The Future is Now

This isn't just a tool—it's the foundation of a revolution.

We're democratizing Earth observation, making geospatial intelligence as accessible as sending a text message.

🌍 What Will You Build?

🌾 Agricultural AI that monitors crops? • 🌊 Water analysis that tracks resources? • 🌳 Forest monitoring that fights climate change?


The Earth is waiting. The tools are ready. The only question is: what will you discover?

From PhD-level complexity to conversational simplicity in one command

Built with ❤️ to accelerate humanity's response to our biggest challenges

Reviews

No reviews yet

Sign in to write a review