SkyFi MCP Server
Integration with AWS Secrets Manager for secure secret management in production deployments.
Supports containerized deployment of the MCP server using Docker for easy setup and scaling.
Integration with Google Gemini for satellite imagery capabilities.
Integration with LangChain for building satellite imagery workflows and AI agents.
Integration with OpenAI for satellite imagery search and analysis.
Provides tools for geocoding, reverse geocoding, area of interest polygon generation, and distance calculation using OpenStreetMap data.
Integration with Vercel AI SDK for deploying satellite imagery applications.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SkyFi MCP Serversearch for satellite images of downtown Austin from last week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SkyFi MCP Server
A Model Context Protocol (MCP) server that provides access to SkyFi's satellite imagery API through Claude Desktop, Cursor, and other MCP-compatible clients.
A comprehensive toolkit for satellite imagery search, ordering, tasking, monitoring, and geographic operations.
Features
π°οΈ Satellite Image Search - Search for satellite imagery with natural language dates
π° Cost Controls - Built-in spending limits and cost tracking
π Order Management - Track and download your satellite image orders
π Multi-Location Search - Search multiple areas simultaneously
π Order History Export - Export orders to CSV, JSON, HTML, or Markdown
π― Satellite Tasking - Request new satellite captures for specific areas
π‘ Area Monitoring - Set up webhooks to monitor areas for new imagery
πΊοΈ OpenStreetMap Integration - Convert locations to polygons for searches
π³ Docker Support - Easy deployment with Docker containers
π€οΈ Weather Integration - Get weather data for capture planning
Related MCP server: SkyFi MCP Server
Quick Start
Prerequisites
Python 3.10+
SkyFi Pro account and API key (get it at app.skyfi.com)
Installation
Clone the repository:
git clone https://github.com/NoaheCampbell/SkyFi-MCP.git
cd SkyFi-MCPInstall the package:
pip install -e .Set up your environment:
cp .env.example .env
# Edit .env and add your API keys:
# - SKYFI_API_KEY: Your SkyFi API key (required)
# - WEATHER_API_KEY: Your OpenWeatherMap API key (optional, for weather features)Testing the Server
Run the server directly to test:
python -m mcp_skyfiClaude Desktop Setup
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"skyfi": {
"command": "python3",
"args": ["-m", "mcp_skyfi"],
"env": {
"SKYFI_API_KEY": "YOUR_SKYFI_API_KEY_HERE",
"WEATHER_API_KEY": "YOUR_OPENWEATHERMAP_API_KEY_HERE",
"SKYFI_COST_LIMIT": "40.0",
"SKYFI_FORCE_LOWEST_COST": "true"
}
}
}
}Note: If you get a "spawn python ENOENT" error, try using the full path to python:
{
"mcpServers": {
"skyfi": {
"command": "/usr/bin/python3",
"args": ["-m", "mcp_skyfi"],
"env": {
"SKYFI_API_KEY": "YOUR_SKYFI_API_KEY_HERE",
"WEATHER_API_KEY": "YOUR_OPENWEATHERMAP_API_KEY_HERE",
"SKYFI_COST_LIMIT": "40.0",
"SKYFI_FORCE_LOWEST_COST": "true"
}
}
}
}Restart Claude Desktop after updating the configuration.
Docker Setup
You can also run the MCP server using Docker:
Build the Docker image:
docker build -t skyfi-mcp .Run the container:
docker run -d \
--name skyfi-mcp \
-e SKYFI_API_KEY="YOUR_SKYFI_API_KEY" \
-e WEATHER_API_KEY="YOUR_OPENWEATHERMAP_API_KEY" \
-p 8765:8765 \
skyfi-mcpUpdate Claude Desktop config for Docker:
{
"mcpServers": {
"skyfi-mcp-docker": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--name", "skyfi-mcp-test",
"-e", "SKYFI_API_KEY=YOUR_API_KEY",
"-e", "WEATHER_API_KEY=YOUR_WEATHER_KEY",
"skyfi-mcp",
"python", "-m", "mcp_skyfi"
]
}
}
}Available Tools
SkyFi Tools
skyfi_search_archives
Search for satellite imagery in a specific area and time range.
Example:
Search for satellite images of Central Park from the last monthskyfi_prepare_order / skyfi_confirm_order
Two-step ordering process with safety checks:
Prepare an order to get pricing and confirmation token
Confirm the order with the token to complete purchase
skyfi_list_orders
List your recent satellite image orders.
skyfi_download_order
Download a completed order.
skyfi_export_order_history
Export your order history to various formats.
skyfi_get_user
Get your account information and available credits.
Weather Tools
Note: Weather tools require an OpenWeatherMap API key. Get one free at openweathermap.org.
weather_current
Get current weather conditions for any location.
Example:
What's the weather in San Francisco?weather_forecast
Get weather forecast for the next few days.
Example:
What's the weather forecast for New York for the next 3 days?Satellite Tasking Tools
skyfi_get_tasking_quote
Get a quote for tasking a satellite to capture new imagery.
skyfi_create_tasking_order
Place an order for new satellite imagery capture.
skyfi_analyze_capture_feasibility
Analyze the feasibility of capturing imagery for an area.
skyfi_predict_satellite_passes
Predict when satellites will pass over an area.
Monitoring Tools
skyfi_create_webhook_subscription
Set up webhooks to monitor for new imagery.
skyfi_setup_area_monitoring
Monitor specific areas for new satellite captures.
skyfi_get_notification_status
Check the status of your monitoring subscriptions.
OpenStreetMap Tools
osm_geocode
Convert addresses to coordinates.
Example:
Get coordinates for the Eiffel Towerosm_reverse_geocode
Convert coordinates to addresses.
Example:
What address is at latitude 40.7484, longitude -73.9857?osm_generate_aoi
Generate area of interest polygons (circles, squares, etc.) around a point.
Example:
Create a 2km square around coordinates 40.7580, -73.9855osm_calculate_distance
Calculate distances between geographic points.
Example:
Calculate distance from NYC (40.7128, -74.0060) to Boston (42.3601, -71.0589)Example Workflows
Finding Satellite Images of a City
Use
osm_geocodeto get coordinates:Get coordinates for San FranciscoUse
osm_generate_aoito create a search area:Create a 10km square around San FranciscoUse
skyfi_search_archiveswith the polygon:Search for satellite images of that area from January 2024
Weather-Aware Image Selection
Check weather conditions:
What's been the weather in Miami for the past week?Search for clear-day images:
Find satellite images of Miami from days with low cloud cover
Configuration
Environment Variables
SKYFI_API_KEY(required): Your SkyFi API keySKYFI_API_URL: Override the API endpoint (default: https://app.skyfi.com/platform-api)SKYFI_COST_LIMIT: Maximum spending limit (default: 40.0)SKYFI_FORCE_LOWEST_COST: Always select lowest cost option (default: true)WEATHER_API_KEY: OpenWeatherMap API key for weather featuresMCP_LOG_LEVEL: Logging level (default: INFO)
Using with Other Clients
The server supports the standard MCP protocol and can be used with any MCP-compatible client.
Interactive Demos
Try out the SkyFi MCP capabilities with our interactive web demos:
Web Demo (demos/web_demo.py)
Interactive map-based demo for exploring satellite imagery:
python demos/web_demo.py
# Open http://localhost:8888Features:
Click anywhere on the map to analyze locations
Search for satellite imagery with thumbnails
Get weather data and cost estimates
Visual feedback with markers and activity feed
MCP Chat Demo (demos/mcp_chat_demo.py)
Full chat interface showcasing natural language interaction:
python demos/mcp_chat_demo.py
# Open http://localhost:8889Features:
Natural language understanding for all 30+ tools
Quick action buttons for common tasks
Interactive map with polygon visualization
Real-time tool execution feedback
See demos/README.md for more demo applications and examples.
Development
Running Tests
pip install -e ".[dev]"
pytestCode Quality
ruff check src/
mypy src/Troubleshooting
"Invalid API Key" Error
Verify your API key at app.skyfi.com
Ensure you have a Pro account
Check that
SKYFI_API_KEYis set correctly in your environment
No Results from Search
Verify the date range includes available imagery
Try a larger area or different location
Check if open data is enabled (some areas may only have commercial imagery)
Connection Issues
Check your internet connection
Verify the API URL is accessible
Try increasing the timeout in the configuration
Integration Guides
See docs/INTEGRATIONS.md for detailed guides on using SkyFi MCP with:
Claude Desktop & Cursor
Langchain, Vercel AI SDK, ADK
OpenAI, Anthropic, Google Gemini
Multi-user cloud deployments
Deployment Options
Local Installation
pip install git+https://github.com/NoaheCampbell/SkyFi-MCP.gitCloud Deployment
Docker support for containerized deployments
WebSocket bridge for remote access
Built-in AWS Secrets Manager and Parameter Store integration
License
MIT License - see LICENSE file for details.
Documentation
Authentication Guide - API keys and authentication methods
Deployment Guide - Docker, cloud, and production deployment
User Guide - End-user documentation
Integration Guide - Framework integrations
Troubleshooting Guide - Common issues and solutions
Migration Guide - Upgrading from previous versions
Technical Specification - Detailed API specification
Support
SkyFi API Documentation: docs.skyfi.com
Issues: GitHub Issues
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NoaheCampbell/SkyFi-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server