LWS

Registre officiel Recherche et web

Manage LWS (lws.fr) domains, DNS zones, hosting and account from any MCP client.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

PYPI package lws-mcp
Claude Code
claude mcp add lws -e 'LWS_LOGIN=<LWS_LOGIN>' -e 'LWS_API_KEY=<your lws_api_key>' -e 'LWS_READ_ONLY=false' -e 'LWS_ENABLE_PURCHASES=false' -e 'LWS_TEST_MODE=false' -e 'LWS_TEST_API_KEY=<your lws_test_api_key>' -- uvx lws-mcp==0.2.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "lws": {
            "command": "uvx",
            "args": [
                "lws-mcp==0.2.1"
            ],
            "env": {
                "LWS_LOGIN": "<LWS_LOGIN>",
                "LWS_API_KEY": "<your lws_api_key>",
                "LWS_READ_ONLY": "false",
                "LWS_ENABLE_PURCHASES": "false",
                "LWS_TEST_MODE": "false",
                "LWS_TEST_API_KEY": "<your lws_test_api_key>"
            }
        }
    }
}

Variables d'environnement

  • LWS_LOGIN obligatoire Your LWS account ID (the digits of LWS-XXXXXX)
  • LWS_API_KEY obligatoire secret LWS API key (LWS Panel > Api LWS)
  • LWS_READ_ONLY true to expose only read tools
  • LWS_ENABLE_PURCHASES true to expose the paid tools (buy, renew)
  • LWS_TEST_MODE true to use the LWS test environment
  • LWS_TEST_API_KEY secret Test key, used instead of LWS_API_KEY in test mode

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. lws-mcp
  2. Tools
  3. Safety
  4. Requirements
  5. Installation
  6. Configuration
  7. Good to know
  8. Development
  9. License

lws-mcp

English · Français

An MCP server for the LWS Client API. Manage your domains, DNS zones, hosting and account from Claude, Cursor or any MCP client:

"Add the CNAME records Stripe gave me to example.fr, then tell me when they are live."

It covers the whole LWS Client API (29 endpoints), plus a propagation check that compares your LWS zone, its nameservers and three public resolvers.

Community project, not affiliated with or endorsed by LWS.

Tools

AreaTools
DNSget_dns_zone · add_dns_record · update_dns_record · delete_dns_record · check_dns_propagation
Domainsget_domain · check_domain_availability · list_tlds · update_nameservers · set_transfer_protection · request_transfer_authcode · create_domain_redirect · delete_domain_redirect
Hostinglist_hostings · get_hosting · list_hosting_prices · get_renewal_prices · set_auto_renew · buy_hosting¹ · renew_hosting¹
Accountget_account_balance · get_purchase_history · list_contacts · get_contact · create_contact · update_contact · add_test_credit_to_contact² · add_test_credit_to_account²
Requestslist_requests · list_pending_requests

¹ Paid: off unless LWS_ENABLE_PURCHASES=true. ² Only in test mode.

DNS record names can be written in full (_dmarc.example.fr): they are shortened to what the LWS zone expects (_dmarc, @).

Safety

An assistant with access to your DNS can take a site or a mailbox down, and one with access to purchases can spend money. So:

  • Purchases are off by default. buy_hosting and renew_hosting only exist when LWS_ENABLE_PURCHASES=true.
  • Read-only mode. LWS_READ_ONLY=true removes every tool that changes something.
  • Hints for your client. Every tool declares whether it reads, writes or destroys (tool annotations), so clients can ask before running it.
  • Test environment. LWS_TEST_MODE=true sends every request to the LWS sandbox.
  • Your key stays local. It goes only to api.lws.net, and is never logged or returned to the model.

Requirements

  • An LWS account and its API key: LWS Panel → your account number (LWS-XXXXXX, top right) → Api LWS → Clé API en mode PRODUCTION → voir. LWS guide.
  • The public IP address of the machine running the server, allowed on the same Api LWS page. Otherwise every call fails with bad source <your IP>.
  • uv (it fetches Python and the server for you).

Installation

Every client runs the same command, uvx lws-mcp, with LWS_LOGIN and LWS_API_KEY in its environment (see Configuration for the optional settings).

The buttons leave LWS_LOGIN and LWS_API_KEY empty: fill them in after installing.

Claude Code

claude mcp add lws \
  -e LWS_LOGIN=123456 \
  -e LWS_API_KEY=your-api-key \
  -- uvx lws-mcp

Codex (CLI, IDE extension and app)

codex mcp add lws \
  --env LWS_LOGIN=123456 \
  --env LWS_API_KEY=your-api-key \
  -- uvx lws-mcp

Or in ~/.codex/config.toml:

[mcp_servers.lws]
command = "uvx"
args = ["lws-mcp"]
env = { LWS_LOGIN = "123456", LWS_API_KEY = "your-api-key" }

Cursor

Use the button above, or add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

{
  "mcpServers": {
    "lws": {
      "command": "uvx",
      "args": [
        "lws-mcp"
      ],
      "env": {
        "LWS_LOGIN": "123456",
        "LWS_API_KEY": "your-api-key"
      }
    }
  }
}

VS Code (GitHub Copilot)

code --add-mcp '{"name":"lws","command":"uvx","args":["lws-mcp"],"env":{"LWS_LOGIN":"123456","LWS_API_KEY":"your-api-key"}}'

Or in .vscode/mcp.json:

{
  "servers": {
    "lws": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "lws-mcp"
      ],
      "env": {
        "LWS_LOGIN": "123456",
        "LWS_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Desktop · Windsurf · Gemini CLI · others

Add this block to the client's MCP file:

ClientFile
Claude DesktopSettings → Developer → Edit Config (claude_desktop_config.json)
Windsurf~/.codeium/windsurf/mcp_config.json
Gemini CLI~/.gemini/settings.json
Cline, Roo Code, Zed…their MCP settings, same format
{
  "mcpServers": {
    "lws": {
      "command": "uvx",
      "args": [
        "lws-mcp"
      ],
      "env": {
        "LWS_LOGIN": "123456",
        "LWS_API_KEY": "your-api-key"
      }
    }
  }
}

Configuration

VariableDefaultDescription
LWS_LOGINrequiredYour LWS account ID (the digits of LWS-XXXXXX).
LWS_API_KEYrequiredProduction API key.
LWS_TEST_API_KEYTest key, used instead of LWS_API_KEY in test mode.
LWS_TEST_MODEfalseSend requests to the LWS test environment.
LWS_READ_ONLYfalseOnly expose tools that read.
LWS_ENABLE_PURCHASESfalseExpose buy_hosting and renew_hosting.
LWS_TIMEOUT30Request timeout, in seconds.
LWS_BASE_URLhttps://api.lws.net/v1API base URL.

Good to know

  • Deferred actions. Nameserver changes, transfer protection, auth codes, purchases and renewals are processed in the background. Follow them with list_pending_requests.
  • Propagation. A DNS change can take from minutes to a few hours to be seen everywhere: each resolver keeps the old answer until its TTL runs out. check_dns_propagation compares what is saved in the LWS zone, what the domain's nameservers answer (no cache) and what Cloudflare, Google and Quad9 answer, then says how long a stale answer can last. Some networks block direct DNS queries to nameservers; the resolvers are asked over HTTPS, so that part always works.
  • Record ids change. LWS replaces a record under a new id when it is updated. add_dns_record and update_dns_record return the current id.
  • Rate limit. LWS refuses bursts of requests (about fifteen in a row) with Invalid input (rate limit): wait a minute and retry.
  • Allowed TTLs. 900, 1800, 3600, 7200, 21600, 43200 or 86400 seconds.

Development

git clone https://github.com/NKSTUD/lws-mcp && cd lws-mcp
uv sync
uv run pytest
uv run ruff check . && uv run ruff format --check .

Try it against your account with the MCP Inspector, credentials in a local .env (see .env.example):

npx @modelcontextprotocol/inspector uv run --env-file .env lws-mcp

See CONTRIBUTING.md to add a tool or fix a bug.

License

MIT

Questions fréquentes

Qu'est-ce que LWS ?

Manage LWS (lws.fr) domains, DNS zones, hosting and account from any MCP client.

Comment installer LWS ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add lws -e 'LWS_LOGIN=<LWS_LOGIN>' -e 'LWS_API_KEY=<your lws_api_key>' -e 'LWS_READ_ONLY=false' -e 'LWS_ENABLE_PURCHASES=false' -e 'LWS_TEST_MODE=false' -e 'LWS_TEST_API_KEY=<your lws_test_api_key>' -- uvx lws-mcp==0.2.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour LWS ?

Oui. Il attend LWS_LOGIN, LWS_API_KEY, LWS_TEST_API_KEY, à renseigner dans sa configuration.

LWS est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient LWS ?

Il est publié par NKSTUD. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.