starlink-enterprise-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | HTTP port when MCP_TRANSPORT=http | 3000 |
| MCP_BASE_URL | No | Public URL of the server for HTTP mode | |
| MCP_ICON_URL | No | Custom login page icon URL | |
| MCP_TRANSPORT | No | Transport mode: stdio or http | stdio |
| MCP_CORS_ORIGIN | No | Allowed CORS origin | |
| MCP_PERSISTENCE | No | Persistence backend (e.g., firestore) | |
| MCP_LOGIN_HEADER | No | Custom login page header | |
| STARLINK_API_URL | No | Override Starlink API URL | |
| MCP_DISABLED_TOOLS | No | Glob pattern of tools to disable | |
| MCP_LOGIN_LOGO_URL | No | Custom login page logo URL | |
| MCP_SESSION_SECRET | No | 32+ hex chars for signing cookies in HTTP mode | |
| STARLINK_CLIENT_ID | No | Your Starlink service account client ID | |
| STARLINK_TOKEN_URL | No | Override Starlink token URL | |
| GOOGLE_CLOUD_PROJECT | No | Google Cloud project ID for Firestore | |
| MCP_DISABLED_ACTIONS | No | Glob pattern of actions to disable | |
| STARLINK_ACCESS_TOKEN | No | Existing Starlink bearer token to skip grant | |
| STARLINK_CLIENT_SECRET | No | Your Starlink service account secret | |
| MCP_DISABLE_DESTRUCTIVE | No | Set to true to disable destructive operations |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_accountA | Get account information — Required permission: Account information, View. — [GET /public/v2/account] |
| post_data_usage_queryC | Query data usage — Required permission: Service plan, View.Retrieve the real-time data tracking info for this account's data usage. For detailed instructions, please refer to the API documentation: https://starlink.readme.io/docs/data-usage-api — [POST /public/v2/data-usage/query] |
| get_productsA | Get products — Required permission: Service plan, View.Gets all products available to this account that could be assigned to service lines. Each product includes data block product info if compatible. — [GET /public/v2/products] |
| get_addressesA | Get all addresses — Required permission: Account information, View.Returns all addresses on the account in paginated form. — [GET /public/v2/addresses] |
| post_addressesC | Create address — Required permission: Account information, Edit. — [POST /public/v2/addresses] |
| get_addresses_by_address_reference_idA | Get address — Required permission: Account information, View. — [GET /public/v2/addresses/{addressReferenceId}] |
| put_addresses_by_address_reference_idB | Update address — Required permission: Account information, Edit. — [PUT /public/v2/addresses/{addressReferenceId}] |
| get_contactsA | Get contacts — Required permission: User management, Edit.Get list of contacts on the authenticated user's account. — [GET /public/v2/contacts] |
| post_contactsB | Create contact — Required permission: Admin Only - API User Management, Edit.Creates the contact if it is new, and adds the contact to the authenticated account. — [POST /public/v2/contacts] |
| put_contacts_by_subject_idB | Update contact — Required permission: Admin Only - API User Management, Edit.Update contact on the authenticated account. — [PUT /public/v2/contacts/{subjectId}] |
| delete_contacts_by_subject_idA | Delete contact — Required permission: Admin Only - API User Management, Edit.Deletes contact based on specified subject Id on the authenticated account. — [DELETE /public/v2/contacts/{subjectId}] |
| get_data_poolsA | Pre-Release: Get all multi-service line enabled data pools. — Required permission: Service plan, View.This endpoint is available for select audiences only. — [GET /public/v2/data-pools] |
| get_data_pools_usageA | Pre-Release: Query data pool usage with service line and monthly breakdowns. — Required permission: Service plan, View.This endpoint is available for select audiences only. — [GET /public/v2/data-pools/usage] |
| post_data_pools_by_data_pool_id_set_automatic_top_upB | Pre-Release: Enable or disable automatic top-up for a data pool. — Required permission: Service plan, Edit.This endpoint is available for select audiences only. — [POST /public/v2/data-pools/{dataPoolId}/set-automatic-top-up] |
| post_flights_statusB | Post a flight event — Required permission: Aviation flight status management, Edit.Post a real-time flight event on a Starlink-enabled plane. This endpoint is only accessible from an aviation account. — [POST /public/v2/flights/status] |
| post_managed_customersA | Create a managed customer account — This endpoint is only callable with an authorized provider account. — [POST /public/v2/managed/customers] |
| get_routers_by_router_idA | Get router — Required permission: Device management, View. — [GET /public/v2/routers/{routerId}] |
| get_routers_configsA | Get all router configs — Required permission: Device command and configuration, View.Return all router configs on this account in paginated form — [GET /public/v2/routers/configs] |
| post_routers_configsB | Create router config — Required permission: Device command and configuration, Edit. — [POST /public/v2/routers/configs] |
| get_routers_configs_by_config_idB | Get router config — Required permission: Device command and configuration, View. — [GET /public/v2/routers/configs/{configId}] |
| put_routers_configs_by_config_idA | Update router config — Required permission: Device command and configuration, Edit.Update a given router config. Any router assigned to this config will immediately receive the update if it is online. Otherwise, the router will receive the update when it comes online. — [PUT /public/v2/routers/configs/{configId}] |
| put_routers_configs_assignA | Router config assignment — Required permission: Device configuration assignment, Edit.Assign the config (or none) to the routers. For each router if it is currently online, the config will immediately be sent to the router. Else, the config will be sent to the router when it comes online. Configs are sent to the router within 1-2 minutes. On error no assignment occurs. — [PUT /public/v2/routers/configs/assign] |
| get_routers_configs_defaultA | Get default router config — Required permission: Device command and configuration, View.Gets the router config id that will be assigned to any routers when they are first added to this account. — [GET /public/v2/routers/configs/default] |
| put_routers_configs_defaultA | Set default router config — Required permission: Device configuration assignment, Edit.Set the default router config on the account. Use an empty string to remove the default config from the account. Any NEW routers on this account will be assigned this config. — [PUT /public/v2/routers/configs/default] |
| get_routers_configs_tlsA | Get TLS configs — Required permission: Device command and configuration, View.Gets a paginated list of TLS configs on this account. — [GET /public/v2/routers/configs/tls] |
| post_routers_configs_tlsA | Create TLS config — Required permission: Device command and configuration, Edit.Creates a TLS config that allows this certificate and key to be used in router configs when a certificate and key are required by only specifying the certificate (matching key will be added). TLS configs are identified by their certificate string base64 encoded which must be unique on the account. — [POST /public/v2/routers/configs/tls] |
| delete_routers_configs_tlsA | Delete TLS config — Required permission: Device command and configuration, Edit.Deletes a TLS certificate and key pair from the set of TLS configs that can be reused when saving router configs and only specifying the certificate. Does not affect any router configs that were already saved, just removes it from list of certificates that the matching key will be inserted on save for. — [DELETE /public/v2/routers/configs/tls] |
| get_routers_local_contentA | Get list of router local content files — Required permission: Device command and configuration, View. — [GET /public/v2/routers/local-content] |
| post_routers_local_contentA | Upload router local content file — Required permission: Device command and configuration, Edit.Upload html file to allow it to be configured as the HTTPS server local content file for router configs. File must be HTML, under 4MB, and file name under 100 characters. Files are stored in a public bucket for configured routers to download. File should be attached as multipart/form-data. See https://starlink.readme.io/docs/local-content for example upload script. — [POST /public/v2/routers/local-content] |
| get_routers_sandbox_clientsA | Get sandbox clients — Required permission: Device command and configuration, View.Returns clients that were unsandboxed through the management API and have access that has not yet expired, paginated 1000 at a time. Clients that are allowed internet access due to sandbox disablement are not returned. — [GET /public/v2/routers/sandbox/clients] |
| post_routers_sandbox_clientsA | Batch update sandbox clients — Required permission: Device command and configuration, Edit.Update the sandbox state for multiple clients. If sandboxing is enabled, sandboxed clients will only have access to domains in the sandbox domain allow list. If a client is duplicated, records the client with the latest expiry. — [POST /public/v2/routers/sandbox/clients] |
| put_routers_sandbox_heartbeatA | Update sandbox heartbeat — Required permission: Device command and configuration, Edit.Heartbeats verify the health of enterprise systems that manage router sandboxing. If heartbeats are not received for an account, Starlink API will instruct routers under the account disable sandboxes until reboot. — [PUT /public/v2/routers/sandbox/heartbeat] |
| post_routers_by_router_id_rebootA | Reboot router — Required permission: Device command and configuration, Edit. — [POST /public/v2/routers/{routerId}/reboot] |
| get_service_lines_by_service_line_numberA | Get service line — Required permission: Service plan, View. — [GET /public/v2/service-lines/{serviceLineNumber}] |
| delete_service_lines_by_service_line_numberB | Deactivate a service line — Required permission: Service plan, Edit. — [DELETE /public/v2/service-lines/{serviceLineNumber}] |
| get_service_linesA | Get all service lines — Required permission: Service plan, View. — [GET /public/v2/service-lines] |
| post_service_linesA | Create service line — Required permission: Service plan, Edit.Service line must be linked to an address and a subscription/product-ID, and can optionally be immediately configured with data blocks. — [POST /public/v2/service-lines] |
| put_service_lines_by_service_line_number_nicknameB | Set service line nickname — Required permission: Service plan, Edit. — [PUT /public/v2/service-lines/{serviceLineNumber}/nickname] |
| put_service_lines_by_service_line_number_productC | Update service line product — Required permission: Service plan, Edit. — [PUT /public/v2/service-lines/{serviceLineNumber}/product] |
| put_service_lines_by_service_line_number_public_ipA | Set service line public IP setting — Required permission: Device command and configuration, Edit.Enable or disable public ip setting on a service line — [PUT /public/v2/service-lines/{serviceLineNumber}/public-ip] |
| post_service_lines_by_service_line_number_data_opt_inA | Opt in priority data — Required permission: Service plan, Edit.Opt in the service line to continue using priority data after reaching the plan capacity. Only applies to some products. — [POST /public/v2/service-lines/{serviceLineNumber}/data/opt-in] |
| post_service_lines_by_service_line_number_data_opt_outA | Opt out priority data — Required permission: Service plan, Edit.Opt out the service line from continuing to use priority data even when plan capacity is exceeded. If the service line reaches the plan capacity, it will switch to using standard data. Only applies to some products. — [POST /public/v2/service-lines/{serviceLineNumber}/data/opt-out] |
| post_service_lines_by_service_line_number_user_terminalsA | Add user terminal to service line — Required permission: Service plan, Edit.User terminal must already be on the account. See POST /v2/user-terminals to add user terminal to account. — [POST /public/v2/service-lines/{serviceLineNumber}/user-terminals] |
| delete_service_line_user_terminalA | Remove user terminal from service line — Required permission: Service plan, Edit.This removes the user terminal from the service line, but it remains on the account and can be added to another service line. This clears any L2VPN circuits configured for the terminal. — [DELETE /public/v2/service-lines/{serviceLineNumber}/user-terminals/{deviceId}] |
| put_service_lines_by_service_line_number_data_recurringA | Set recurring data blocks on service line — Required permission: Service plan, Edit.Service line must be on a top up plan — [PUT /public/v2/service-lines/{serviceLineNumber}/data/recurring] |
| post_service_lines_by_service_line_number_data_top_upA | Adds one-time top up data block to service line — Required permission: Service plan, Edit.Service line must be on a top up plan — [POST /public/v2/service-lines/{serviceLineNumber}/data/top-up] |
| get_service_line_billing_cycles_partial_periodsA | Get billing partial periods — Required permission: Service plan, View.Get the previous billing partial periods for this service line. For more information about this endpoint, see https://starlink.readme.io/docs/understanding-proration. — [GET /public/v2/service-lines/{serviceLineNumber}/billing-cycles/partial-periods] |
| patch_service_lines_by_service_line_number_consume_from_poolA | Pre-Release: Set whether a service line should consume from a data pool. — Required permission: Service plan, Edit.This endpoint is available for select audiences only. — [PATCH /public/v2/service-lines/{serviceLineNumber}/consume-from-pool] |
| get_user_terminalsA | Get all user terminals — Required permission: Device management, View.Gets all user terminals on the account, filtered by the optional filter parameters, in paginated form — [GET /public/v2/user-terminals] |
| post_user_terminalsA | Add user terminal to account — Required permission: Device management, Edit.This will add the user terminal to the account, but won't start service. User terminals must be present on the account before adding to a service line. — [POST /public/v2/user-terminals] |
| delete_user_terminals_by_device_idA | Remove user terminal from account — Required permission: Device management, Edit.User terminal must already be removed from service lines before it can be removed from the account. See /v2/service-lines/{serviceLineNumber}/user-terminals/{deviceId} — [DELETE /public/v2/user-terminals/{deviceId}] |
| post_user_terminals_by_device_id_rebootC | Reboot user terminal — Required permission: Device command and configuration, Edit. — [POST /public/v2/user-terminals/{deviceId}/reboot] |
| put_user_terminals_configs_assignA | User terminal config assignment — Required permission: Device configuration assignment, Edit.Assign the config (or none) to the user terminals. For each terminal if it is currently online, the config will immediately be sent. Else, the config will be sent when it comes online. On error no assignment occurs. Currently terminal configIds are only visible on starlink website. — [PUT /public/v2/user-terminals/configs/assign] |
| get_user_terminals_l2vpnA | Get L2VPN circuits available for this account — Required permission: Device command and configuration, View. — [GET /public/v2/user-terminals/l2vpn] |
| put_user_terminals_by_device_id_l2vpnB | Set L2VPN VLANs for user terminal — Required permission: Device configuration assignment, Edit.Terminal must be on subscription that allows L2VPN. Maximum 2 circuits per Starlink PoP. Use null or empty circuit list to clear all L2VPN circuits for terminal. See /user-terminals/available-circuits for all configurable circuits and associated Starlink PoP. — [PUT /public/v2/user-terminals/{deviceId}/l2vpn] |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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/WiFiWithoutWalls/starlink-enterprise-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server