lws-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LWS_LOGIN | Yes | Your LWS account ID (the digits of LWS-XXXXXX). | |
| LWS_API_KEY | Yes | Production API key. | |
| LWS_TIMEOUT | No | Request timeout, in seconds. | 30 |
| LWS_BASE_URL | No | API base URL. | https://api.lws.net/v1 |
| LWS_READ_ONLY | No | Only expose tools that read. | false |
| LWS_TEST_MODE | No | Send requests to the LWS test environment. | false |
| LWS_TEST_API_KEY | No | Test key, used instead of LWS_API_KEY in test mode. | |
| LWS_ENABLE_PURCHASES | No | Expose buy_hosting and renew_hosting. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_dns_zoneA | List the DNS records of a domain (id, type, name, value, ttl). Use the ids to update or delete records. |
| check_dns_propagationA | Check whether a DNS change is live: what is saved in the LWS zone, what the domain's nameservers answer, and what three public resolvers (Cloudflare, Google, Quad9) answer. |
| add_dns_recordA | Add a record to a domain's DNS zone. Propagation can take up to a few hours. |
| update_dns_recordA | Replace an existing DNS record. Every field is required; LWS adds the record if the id does not exist. |
| delete_dns_recordA | Delete a DNS record. Check the id with get_dns_zone first: a wrong record can take a site or mail down. |
| get_domainA | Get a domain's owner, nameservers and status flags (redemption, hold, transfer lock). |
| check_domain_availabilityB | Check whether a domain name is free to register (data is true when available). |
| list_tldsB | List the extensions LWS sells with their purchase, renewal, transfer and restore prices (EUR). |
| update_nameserversA | Replace the four nameservers of a domain (deferred: see list_pending_requests). |
| set_transfer_protectionB | Lock or unlock the transfer of a domain to another registrar (deferred). |
| request_transfer_authcodeB | Have the transfer authorization code e-mailed to the domain owner (deferred). |
| create_domain_redirectB | Redirect a whole domain to a URL. |
| delete_domain_redirectA | Remove a domain's redirection (succeeds even if there was none). |
| list_hostingsA | List every domain and hosting on the account, with expiry dates, nameservers and auto-renewal. |
| get_hostingB | Get a hosting's package, purchase and expiry dates, nameservers and auto-renewal settings. |
| list_hosting_pricesA | List every hosting package with its monthly price in EUR. |
| get_renewal_pricesA | Get the renewal price (hosting, domain, options) and the expiry status. Check it before renew_hosting. |
| set_auto_renewA | Turn automatic renewal of a hosting (and its domain, if bought at LWS) on or off. |
| get_account_balanceA | Get the remaining balance of the prepaid account, in EUR. |
| get_purchase_historyB | List every purchase, renewal and other transaction made through the API. |
| list_contactsA | List the contacts managed by the account, keyed by contact ID. |
| get_contactB | Get a contact's details (name, address, e-mail, phone, credit). |
| create_contactC | Create a contact managed by the account, usable as owner of domains and hostings. |
| update_contactA | Update a contact's address, phone or password. Only the fields given are changed. |
| list_requestsC | Search the requests made through the API. 'retour' stays empty until a deferred request is processed. |
| list_pending_requestsB | List the deferred requests that have not been processed yet. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Most tools target a distinct resource and action, and descriptions clearly separate DNS zone inspection from propagation checks, contacts, hostings, and account/request operations. Minor overlap exists between add_dns_record and update_dns_record (upsert behavior) and between list_requests and list_pending_requests, but the descriptions largely resolve these.
All tool names use consistent snake_case with a verb-noun pattern (get_, list_, create_, update_, delete_, set_, check_, request_). The convention is predictable across every resource area.
26 tools is on the heavy side for an MCP surface; while the LWS domain is broad and each operation is granular, several tools could be consolidated (e.g., request listings, price lookups). The count is borderline rather than clearly excessive given the multi-service scope.
Core lifecycle operations are missing: there are no tools to register/renew/delete a domain, purchase/renew/delete a hosting, or delete a contact. The gap is especially pronounced because get_renewal_prices explicitly references renew_hosting, which does not exist, creating a dead end.