LWS

io.github.NKSTUD由 GitHub 帳號 NKSTUD 發布v0.2.1更新於 Oct 24, 2026

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

概覽

AI 產生的概覽

讓助理透過 LWS 用戶端 API 管理 LWS(lws.fr)的網域、DNS 區域、主機與帳戶,並可檢查 DNS 解析是否生效。

可以做什麼
  • 讀取、新增、修改與刪除 DNS 記錄,並比對 LWS 區域、名稱伺服器與公共解析器來檢查傳播狀況
  • 查詢網域、檢查可用性、列出頂級網域、變更名稱伺服器、設定轉移保護、申請轉移授權碼、管理網域轉址
  • 列出主機與價格、查看續約價格、開關自動續約,並可選擇購買或續約主機
  • 讀取帳戶餘額、購買紀錄與聯絡人,並建立或更新聯絡人
  • 列出請求,包括名稱伺服器變更、購買等背景待處理作業
適用情境
適合讓助理代為處理例行的 LWS 網域與 DNS 操作,例如新增驗證或郵件記錄,或確認某次 DNS 變更是否已生效,而不必開啟 LWS 控制台。
執行需求
透過 uvx 在本機執行(uv 會自動取得 Python)。需要 LWS 帳戶 ID(LWS_LOGIN)與 API 金鑰(LWS_API_KEY),並在 LWS 的 Api 頁面放行執行機器的公網 IP。選用設定包括測試模式、唯讀模式、購買開關、逾時與 API 位址。
安裝前請注意
擁有 DNS 權限的助理可能讓網站或信箱中斷,購買類工具會花錢;除非設定 LWS_ENABLE_PURCHASES,否則不會出現購買工具,LWS_READ_ONLY 會移除所有變更類工具。API 金鑰屬機密,只會傳送給 LWS API。名稱伺服器變更、轉移與購買在背景處理。社群專案,與 LWS 無隸屬關係。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 LWS,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

lws-mcp

[CI] [License: MIT] [PyPI] [Python 3.10+]

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).

[Install in Cursor] [Install in VS Code]

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

Claude Code
bash
claude mcp add lws \  -e LWS_LOGIN=123456 \  -e LWS_API_KEY=your-api-key \  -- uvx lws-mcp
Codex (CLI, IDE extension and app)
bash
codex mcp add lws \  --env LWS_LOGIN=123456 \  --env LWS_API_KEY=your-api-key \  -- uvx lws-mcp

Or in ~/.codex/config.toml:

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):

json
{  "mcpServers": {    "lws": {      "command": "uvx",      "args": [        "lws-mcp"      ],      "env": {        "LWS_LOGIN": "123456",        "LWS_API_KEY": "your-api-key"      }    }  }}
VS Code (GitHub Copilot)
bash
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:

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
json
{  "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

bash
git clone https://github.com/NKSTUD/lws-mcp && cd lws-mcpuv syncuv run pytestuv 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):

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

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

License

MIT

來源:README.md,提交 522d902

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.1最新Oct 15, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分