Skip to main content
Glama
WiFiWithoutWalls

starlink-enterprise-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_PORTNoHTTP port when MCP_TRANSPORT=http3000
MCP_BASE_URLNoPublic URL of the server for HTTP mode
MCP_ICON_URLNoCustom login page icon URL
MCP_TRANSPORTNoTransport mode: stdio or httpstdio
MCP_CORS_ORIGINNoAllowed CORS origin
MCP_PERSISTENCENoPersistence backend (e.g., firestore)
MCP_LOGIN_HEADERNoCustom login page header
STARLINK_API_URLNoOverride Starlink API URL
MCP_DISABLED_TOOLSNoGlob pattern of tools to disable
MCP_LOGIN_LOGO_URLNoCustom login page logo URL
MCP_SESSION_SECRETNo32+ hex chars for signing cookies in HTTP mode
STARLINK_CLIENT_IDNoYour Starlink service account client ID
STARLINK_TOKEN_URLNoOverride Starlink token URL
GOOGLE_CLOUD_PROJECTNoGoogle Cloud project ID for Firestore
MCP_DISABLED_ACTIONSNoGlob pattern of actions to disable
STARLINK_ACCESS_TOKENNoExisting Starlink bearer token to skip grant
STARLINK_CLIENT_SECRETNoYour Starlink service account secret
MCP_DISABLE_DESTRUCTIVENoSet to true to disable destructive operations

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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