Starlink Enterprise MCP Server

Starlink Enterprise MCP Server

Enables managing your Starlink terminal fleet through Claude AI using the Starlink Enterprise API, supporting terminal management, telemetry, data usage, and service line operations.

Category
访问服务器

README

Starlink Enterprise MCP Server

<img src="https://github.com/ry-ops/starlink-mcp-server/blob/main/starlink-mcp-server.png" width="100%">

Python uv MCP License: MIT PRs Welcome

Manage your Starlink terminal fleet through Claude AI using the Starlink Enterprise API.

Perfect For

  • Enterprise customers with multiple Starlink terminals deployed
  • Fleet operators needing centralized terminal management
  • IT teams monitoring terminal health and performance
  • Operations managers tracking data usage and costs

Features

Terminal Management

  • List all your user terminals
  • Get real-time telemetry (uptime, signal, obstructions)
  • View terminal details and configuration
  • Historical performance data

Service Line Management

  • List all service lines (subscriptions)
  • Track data usage by date range
  • View subscription details and status
  • Monitor billing and plans

Address Management

  • List all service addresses
  • Check service availability at new locations
  • View address details

Account Overview

  • Complete fleet status at a glance
  • Summary statistics across all terminals
  • Quick health checks

Prerequisites

  • Python 3.10 or higher
  • uv package manager
  • Claude Desktop App
  • Starlink Business/Enterprise Account with API access
  • Client ID and Client Secret from your Starlink account manager

Quick Start

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create and setup project
mkdir starlink-mcp-server && cd starlink-mcp-server
mkdir src

# Save starlink_mcp_server.py to src/
# Save pyproject.toml to root
# Save .env.example to root

# Install
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e .

# Configure credentials
cp .env.example .env
# Edit .env and add your STARLINK_CLIENT_ID and STARLINK_CLIENT_SECRET

Getting API Access

API access is available by request to Starlink Enterprise and Business customers. Contact your Starlink account manager or email business-support@starlink.com to request access.

Step 1: Create Service Account

  1. Log into https://www.starlink.com/account
  2. Navigate to Settings tab
  3. Find "Service Accounts" section
  4. Click "+ Add Service Account"
  5. Note your Client ID and Client Secret

Step 2: Configure Environment

Add credentials to .env:

STARLINK_CLIENT_ID=your_actual_client_id_here
STARLINK_CLIENT_SECRET=your_actual_client_secret_here

Connect to Claude Desktop

Configuration File Location

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json

Add Server Configuration

{
  "mcpServers": {
    "starlink": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/starlink-mcp-server",
        "run",
        "python",
        "src/starlink_mcp_server.py"
      ],
      "env": {
        "STARLINK_CLIENT_ID": "your_client_id",
        "STARLINK_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Important: Replace /absolute/path/to/starlink-mcp-server with your actual path!

Restart Claude

  1. Quit Claude Desktop completely
  2. Reopen Claude Desktop
  3. Look for 🔌 icon - you should see "starlink" connected

Available Tools

list_user_terminals

List all your Starlink terminals with status.

Example:

Show me all my Starlink terminals

get_terminal_details

Get detailed information about a specific terminal.

Example:

Get details for terminal abc-123-def-456

get_terminal_telemetry

Get real-time performance data (uptime, signal quality, obstructions, throughput).

Example:

Show me telemetry for terminal abc-123-def-456

list_service_lines

List all your service lines (subscriptions).

Example:

List all my service lines

get_service_line_details

Get details about a specific service line.

Example:

Get details for service line xyz-789

get_data_usage

Get data usage over a date range.

Example:

Show me data usage from 2024-01-01 to 2024-01-31 for service line xyz-789

list_addresses

List all service addresses.

Example:

Show me all my Starlink addresses

get_address_details

Get details about a specific address.

Example:

Get details for address addr-123

check_service_availability

Check if Starlink is available at coordinates.

Example:

Is Starlink available at latitude 45.5, longitude -93.2?

get_account_overview

Get complete overview of your fleet.

Example:

Give me an overview of my entire Starlink account

list_subscription_products

List available Starlink plans and products.

Example:

What subscription products are available?

get_terminal_history

Get historical data for a terminal.

Example:

Show me history for terminal abc-123 from 2024-01-01T00:00:00Z to 2024-01-02T00:00:00Z

Common Use Cases

Daily Fleet Check

Good morning! Show me all my terminals and highlight any with issues

Troubleshooting

Terminal ABC123 in Denver is slow. Show me its telemetry data

Usage Monitoring

Show me data usage for all service lines this month

Expansion Planning

We want to add terminals at these locations: [coordinates]. Check service availability

Performance Review

Show me terminals with lowest uptime over the past 30 days

Cost Analysis

Which service lines had the highest data usage last month?

Example Workflows

Morning Status Report

Claude, give me a morning report:
1. List all terminals
2. Show which ones are offline or have issues
3. Total data usage yesterday across all service lines

Terminal Troubleshooting

1. Get telemetry for terminal [id]
2. Show 24-hour history
3. Compare to other terminals at same location

Monthly Review

1. Get account overview
2. Data usage for January across all service lines
3. List terminals by uptime percentage
4. Identify any performance trends

Project Structure

starlink-mcp-server/
├── src/
│   └── starlink_mcp_server.py    # Main server code
├── pyproject.toml                 # Dependencies
├── .env                           # Your credentials (DO NOT COMMIT)
├── .env.example                   # Template
├── .gitignore                     # Git exclusions
└── README.md                      # This file

API Rate Limits

Endpoint Limit
Authentication 10 requests/minute
Terminal queries 100 requests/minute
Telemetry 1000 requests/minute
Data usage 100 requests/minute

Tips:

  • Cache terminal lists (they change rarely)
  • Batch related requests
  • Implement retry logic with exponential backoff

Troubleshooting

"credentials not configured"

  • Check .env file exists and has correct values
  • Ensure no extra spaces in credential values
  • Verify credentials with your account manager

"Authentication failed"

  • Confirm Client ID and Client Secret are correct
  • Check that your service account is active
  • Contact account manager if credentials expired

Server won't connect to Claude

  • Verify absolute path in claude_desktop_config.json
  • Check Python and dependencies installed
  • Test server manually: python src/starlink_mcp_server.py
  • Restart Claude Desktop

Rate limit errors

  • You've exceeded API limits
  • Wait for limit reset (usually 1 minute)
  • Reduce request frequency
  • Consider caching results

Security Best Practices

Do:

  • Keep .env in .gitignore
  • Use strong, unique credentials
  • Rotate credentials periodically
  • Use environment variables, not hardcoded values
  • Separate dev/prod credentials

Don't:

  • Commit credentials to git
  • Share credentials publicly
  • Hardcode credentials in code
  • Use same credentials across environments

A2A (Agent-to-Agent) Protocol Support

This MCP server supports the A2A protocol for agent-to-agent communication, enabling automated fleet management and integration with other AI agents.

Agent Card

The agent capabilities are defined in agent-card.json at the repository root. This file describes:

  • Agent Identity: Name, description, and version
  • Capabilities: Streaming support, task types, async operations
  • Skills: All 12 available MCP tools with detailed schemas
  • Authentication: OAuth2 client credentials requirements
  • Rate Limits: API usage constraints
  • Use Cases: Common integration scenarios

Available Skills for Agent Communication

The A2A protocol exposes these skill categories:

Terminal Management

  • list_user_terminals - List all terminals with pagination
  • get_terminal_details - Get detailed terminal information
  • get_account_overview - Complete fleet overview

Telemetry Monitoring

  • get_terminal_telemetry - Real-time performance data
  • get_terminal_history - Historical telemetry over time periods

Service Line Management

  • list_service_lines - List all subscriptions
  • get_service_line_details - Subscription details and status
  • list_subscription_products - Available plans

Data Usage Analytics

  • get_data_usage - Usage statistics over date ranges

Address Management

  • list_addresses - All service addresses
  • get_address_details - Specific address information

Availability Checking

  • check_service_availability - Service availability at coordinates

Integration Examples

Agent-to-Agent Communication

{
  "task": "monitor_fleet_health",
  "agent": "starlink-enterprise-mcp-agent",
  "skills": ["list_user_terminals", "get_terminal_telemetry"],
  "parameters": {
    "page_size": 100
  }
}

Automated Health Checks

{
  "task": "daily_fleet_report",
  "agent": "starlink-enterprise-mcp-agent",
  "skills": ["get_account_overview"],
  "schedule": "0 8 * * *"
}

Multi-Agent Coordination

{
  "workflow": "expand_service",
  "agents": [
    {
      "name": "starlink-enterprise-mcp-agent",
      "skill": "check_service_availability",
      "parameters": {
        "latitude": 45.5,
        "longitude": -93.2
      }
    },
    {
      "name": "notification-agent",
      "skill": "send_alert",
      "depends_on": "starlink-enterprise-mcp-agent"
    }
  ]
}

A2A Authentication

When using A2A protocol, ensure the agent has access to:

{
  "credentials": {
    "STARLINK_CLIENT_ID": "your_client_id",
    "STARLINK_CLIENT_SECRET": "your_client_secret"
  },
  "scopes": [
    "enterprise.read",
    "terminals.read",
    "telemetry.read"
  ]
}

Rate Limiting in A2A Context

When integrating with other agents, respect these rate limits:

Endpoint Type Limit Recommended Strategy
Authentication 10/min Cache tokens (valid 1 hour)
Terminal queries 100/min Batch requests
Telemetry 1000/min Use for real-time monitoring
Data usage 100/min Schedule during off-peak

Discovering Agent Capabilities

Other agents can discover capabilities by reading agent-card.json:

curl https://raw.githubusercontent.com/ry-ops/starlink-enterprise-mcp-server/main/agent-card.json

Or through the MCP protocol's tool listing:

{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "id": 1
}

Support

Starlink Support

  • Email: business-support@starlink.com
  • Account Manager: Contact your assigned manager
  • Support Portal: https://www.starlink.com/support

Documentation

  • API Docs: https://starlink.readme.io/docs (requires access)
  • Enterprise Guide: https://starlink-enterprise-guide.readme.io
  • Swagger UI: https://web-api.starlink.com/enterprise/swagger/index.html
  • Agent Card: agent-card.json in repository root

Contributing

Found a bug or have a feature request? Please open an issue on GitHub.

License

MIT


Manage your Starlink fleet effortlessly with Claude AI and A2A protocol! 🛰️✨🤖

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选