Skip to main content
Glama
astrogirlnim

SkyFi MCP Server

by astrogirlnim
README.md
# 🛰️ SkyFi MCP Server

A comprehensive Model Context Protocol (MCP) server providing AI agents with access to satellite imagery, geospatial intelligence, and advanced billing management through the SkyFi platform.

## Overview

The SkyFi MCP Server provides standardized access to satellite imagery data and geospatial intelligence through the Model Context Protocol. This enables AI agents to seamlessly search archives, place orders, manage notifications, analyze feasibility, and get pricing information for satellite imagery.

## Features

- **Archive Search & Retrieval**: Search satellite imagery archives with comprehensive filtering
- **Order Management**: Create tasking and archive orders with delivery customization
- **Notifications**: Subscribe to imagery updates and alerts via webhooks
- **Feasibility Analysis**: Analyze satellite capture opportunities with weather predictions
- **Pricing Information**: Get detailed cost estimates and pricing matrices
- **Tool Registry**: Dynamic discovery of available tools with metadata

## Quick Start

### Installation

#### Option 1: Install from PyPI (Recommended)
```bash
pip install skyfi-mcp
```

#### Option 2: Install from source (Development)
```bash
pip install -e .
```

### Basic Usage

#### STDIO Transport (Default)
```bash
skyfi-mcp
```

#### HTTP Transport
```bash
skyfi-mcp --transport http --host 0.0.0.0 --port 8000
```

#### SSE Transport
```bash
skyfi-mcp --transport sse --host 0.0.0.0 --port 8000
```

## Configuration

Set your SkyFi API credentials via environment variables:

```bash
export SKYFI_API_KEY="your-api-key"
export SKYFI_BASE_URL="https://api.skyfi.com"
```

## Available Tools

The server provides 15+ MCP tools organized by category:

- **Archives**: `skyfi_search_archives`, `skyfi_get_archive_detail`
- **Orders**: `skyfi_list_orders`, `skyfi_create_tasking_order`, `skyfi_create_archive_order`
- **Notifications**: `skyfi_list_notifications`, `skyfi_create_notification`, `skyfi_get_notification`, `skyfi_delete_notification`
- **Feasibility**: `skyfi_analyze_feasibility`, `skyfi_get_feasibility_status`
- **Pricing**: `skyfi_get_pricing_info`, `skyfi_estimate_cost`
- **Registry**: `skyfi_list_available_tools`, `skyfi_get_tool_metadata`, `skyfi_get_registry_summary`

## MCP Transport Protocols

- **STDIO**: For local command-line tools and scripts
- **HTTP**: For web deployments and HTTP-based clients
- **SSE**: For Server-Sent Events compatibility

## Architecture

The server follows the MCP Development Philosophy with:

- Layered architecture with clear boundaries
- Enterprise-first, developer-friendly design
- Multi-method authentication support
- Tool organization by feature domain
- Comprehensive error handling
- Human-readable response formatting

## License

MIT License - see LICENSE file for details.

## MCP Client Configuration

### Claude Desktop

Add to your MCP settings in `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "skyfi": {
      "command": "skyfi-mcp",
      "env": {
        "SKYFI_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### Other MCP Clients

The server supports all MCP transports:
- **STDIO**: Use command `skyfi-mcp` 
- **HTTP**: Use `skyfi-mcp --transport http --port 8000`
- **SSE**: Use `skyfi-mcp --transport sse --port 8000`

## Support

For questions and support, please refer to the SkyFi documentation or contact support.