卫星图像访问服务

SkyFi MCP Server是一个标准化接口,使自主AI代理能够发现、任务和购买SkyFi平台的地理空间数据,适用于地理信息系统、环境监测等场景。

  • by pyrex41
  • Elixir
  • 混合部署
  • 更新于
在 GitHub 查看 pyrex41/skyfi_mcp

使用说明

SkyFi MCP服务器

通过模型上下文协议实现人工智能对卫星图像的原生访问

SkyFi MCP是一个标准化的接口,使自主AI代理(Claude、GPT等)能够直接从SkyFi的平台发现、分配和购买地理空间数据。通过实施 模型上下文协议(MCP),该服务器将SkyFi转变为新兴人工智能经济的“代理就绪”生态系统。

快速开始

使用SkyFi MCP的最简单方法是通过 新巴拿马型船舶 (无需安装)或直接连接到 托管服务器.

先决条件

您需要:

  1. Node.js (适用于npx)或支持HTTP/SSE的MCP客户端
  2. SkyFi API密钥 -注册地址: skyfi.com 获取API密钥
  3. MCP访问密钥 (适用于远程服务器)-来自服务器管理员的请求

选项1:npx(推荐)

无需安装即可连接到远程SkyFi MCP服务器:

npx skyfi-mcp-client \
  --server https://your-server.fly.dev \
  --access-key sk_mcp_your_access_key \
  --api-key your_skyfi_api_key

选项2:HTTP传输

对于支持HTTP的MCP客户端,请直接连接:

URL: https://your-server.fly.dev/mcp/message
Headers:
  Authorization: Bearer sk_mcp_your_access_key
  X-SkyFi-API-Key: your_skyfi_api_key

选项3:SSE运输

对于实时流媒体连接:

URL: https://your-server.fly.dev/mcp/sse
Headers:
  Authorization: Bearer sk_mcp_your_access_key
  X-SkyFi-API-Key: your_skyfi_api_key

AI客户端配置

克劳德桌面版

编辑MCP设置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "skyfi": {
      "command": "npx",
      "args": [
        "skyfi-mcp-client",
        "--server", "https://your-deployment.fly.dev",
        "--access-key", "sk_mcp_your_access_key",
        "--api-key", "your_skyfi_api_key"
      ]
    }
  }
}

克劳德代码

选项A:CLI命令(推荐)

claude mcp add skyfi -- npx -y skyfi-mcp-client \
  --server https://your-deployment.fly.dev \
  --access-key sk_mcp_your_access_key \
  --api-key your_skyfi_api_key

添加 -s user 标记以在所有项目中全局安装。

选项B:配置文件

上面的CLI命令写入 ~/.claude.json 在...之下 projects.<project-path>.mcpServers。您也可以直接编辑此内容:

{
  "projects": {
    "/path/to/your/project": {
      "mcpServers": {
        "skyfi": {
          "command": "npx",
          "args": [
            "-y", "skyfi-mcp-client",
            "--server", "https://your-deployment.fly.dev",
            "--access-key", "sk_mcp_your_access_key",
            "--api-key", "your_skyfi_api_key"
          ]
        }
      }
    }
  }
}

法典

添加到 .codex/mcp.json 或 ~/.codex/mcp.json:

{
  "mcpServers": {
    "skyfi": {
      "command": "npx",
      "args": [
        "-y", "skyfi-mcp-client",
        "--server", "https://your-deployment.fly.dev",
        "--access-key", "sk_mcp_your_access_key",
        "--api-key", "your_skyfi_api_key"
      ]
    }
  }
}

OpenCode

添加到 ~/.config/opencode/config.json:

{
  "mcp": {
    "servers": {
      "skyfi": {
        "type": "http",
        "url": "https://your-deployment.fly.dev/mcp/message",
        "headers": {
          "Authorization": "Bearer sk_mcp_your_access_key",
          "X-SkyFi-API-Key": "your_skyfi_api_key"
        },
        "enabled": true
      }
    }
  }
}

特性

  • 搜索存档:按位置、日期和云量查找现有卫星图像
  • 检查可行性:确定是否可以为特定区域捕获新的图像
  • 价格估算:获取存档下载或任务订单的成本明细
  • 下订单:购买带有内置安全确认功能的图像
  • 列出订单:使用分页支持查看和筛选您的订单历史记录
  • 地理编码:将位置名称转换为坐标(例如“旧金山”→ 纬度/经度)
  • 反向地理编码:将坐标转换为位置名称
  • AOI监测:在新图像可用时设置自动警报
  • Webhook通知:接收有关图像可用性的实时更新

运输比较

运输 最适合 要求
npx电桥 大多数用户 Node.js
超文本传输协议 防火墙、调试 HTTP客户端支持
上海证券交易所 实时更新 SSE客户端支持

演示和示例

交互式Python演示

cd examples
pip install -r requirements.txt
python demo_agent.py

Claude的快速示例

You: "Find satellite images of the Amazon rainforest from last month with less than 20% cloud cover"

Claude: [Uses geocode + search_archive tools]
        I found 12 satellite images of the Amazon rainforest...

看 examples/README.md 以获取完整的文档。


部署自己的服务器

Fly.io(推荐)

  1. 安装Fly CLI并登录:

    curl -L https://fly.io/install.sh | sh
    fly auth login
    
  2. 启动并配置:

    fly launch
    fly volumes create data --size 1 --region <your-region>
    fly secrets set SECRET_KEY_BASE=$(mix phx.gen.secret)
    fly deploy
    fly ssh console -C "/app/bin/skyfi_mcp eval 'SkyfiMcp.Release.migrate'"
    
  3. 为用户创建访问密钥:

    mix skyfi.access.create user@example.com "User Name"
    

码头工人

docker build -t skyfi-mcp .
docker run -p 4000:4000 \
  -e SECRET_KEY_BASE=$(mix phx.gen.secret) \
  -v $(pwd)/data:/data \
  skyfi-mcp

管理员:管理访问密钥

# Create access key
mix skyfi.access.create user@example.com "Description"

# List all keys
mix skyfi.access.list

# View stats
mix skyfi.access.stats sk_mcp_abc123...

# Revoke access
mix skyfi.access.revoke sk_mcp_abc123...

地方发展(Elixir)

对于贡献者或在本地运行服务器的人。

先决条件

elixir --version  # Verify installation

安装

# Install dependencies
mix deps.get

# Run migrations
mix ecto.migrate

# Verify
mix test  # Should show: 82 tests, 0 failures

配置

创建一个 .env 文件:

SKYFI_API_KEY=your_skyfi_api_key_here
SECRET_KEY_BASE=your_secret_key_here  # Generate with: mix phx.gen.secret

本地运行

# Development server
mix phx.server

# Or with IEx for debugging
iex -S mix phx.server

服务器可用 http://localhost:4000.

克劳德桌面(本地)

{
  "mcpServers": {
    "skyfi": {
      "command": "mix",
      "args": ["skyfi_mcp.stdio"],
      "cwd": "/path/to/skyfi_mcp",
      "env": {
        "SKYFI_API_KEY": "your_api_key"
      }
    }
  }
}

运行测试

mix test              # All tests
mix test --cover      # With coverage
mix precommit         # Full quality checks

项目结构

lib/
├── skyfi_mcp/           # Core business logic
│   ├── mcp_protocol/    # JSON-RPC & MCP handlers
│   ├── skyfi_client/    # HTTP client for SkyFi API
│   └── tools/           # MCP tool implementations
└── skyfi_mcp_web/       # Web layer (SSE, HTTP endpoints)

config/                  # Environment configurations
priv/repo/migrations/    # Database migrations
test/                    # Test suite

资源


许可证

(待定)

支持

  • 在GitHub上打开一个问题
  • 联系SkyFi支持人员:support@skyfi.com

状态: ✅ 生产就绪

内置于 凤凰框架 和 灵药