namecheap-webui-mcp
namecheap-webui-mcp
MCP server for managing Namecheap through the normal web dashboard (no Namecheap API key, no IP allowlist).
This server uses fresh Playwright sessions plus saved auth state (storage-state.json) so reads/writes survive between calls without relying on fragile persistent browser profiles.
quick start
npm install
npx playwright install chromium
npm run build
npm starttools
Tool | Purpose |
| Check if saved auth state is logged in |
| Username/password login + optional 2FA submit |
| Import a full logged-in cookie set |
| Open dashboard views and return text snapshot |
| List currently visible dashboard links |
| List domains from Domain List |
| Read Domain Manage overview |
| Read nameserver mode and custom nameservers |
| Set Basic/Free/Premium/Custom nameservers |
| Read auto-renew/domain-lock/whois-privacy state |
| Set one of those feature toggles |
| Read Advanced DNS host records |
| Append/replace Advanced DNS host records |
supported dashboard views (namecheap_webui_query)
accountdomainsexpiringhostingprivate-emailssl-certificatesappsmy-offersprofilegrowth-toolsadvanced-dns(requiresdomainName)domain-manage(requiresdomainName)
env
Copy .env.example and adjust if needed:
cp .env.example .envNAMECHEAP_BASE_URL(defaulthttps://www.namecheap.com)NAMECHEAP_LOGIN_URL(defaulthttps://www.namecheap.com/myaccount/login/)NAMECHEAP_ACCOUNT_URL(defaulthttps://ap.www.namecheap.com/)NAMECHEAP_USER_DATA_DIR(default.namecheap-profile)NAMECHEAP_BROWSER_EXECUTABLE_PATH(optional, e.g./usr/bin/chromium-browser)NAMECHEAP_HEADLESS(defaulttrue)NAMECHEAP_SLOW_MO(default0)NAMECHEAP_NAVIGATION_TIMEOUT_MS(default30000)
login flow
call
namecheap_webui_loginwithusername+passwordif result is
two-factor-required, call again withtwoFactorCodeverify with
namecheap_webui_status
If direct login is blocked by anti-bot friction on your host, import a full logged-in cookie set with namecheap_webui_import_cookies.
recommended safety workflow
namecheap_webui_statusnamecheap_domain_get_overview/namecheap_domain_get_nameserversnamecheap_dns_get_recordsnamecheap_dns_set_records(preferappend)
For domain-level changes:
namecheap_domain_get_featuresnamecheap_domain_set_feature
mcp config example
{
"mcp": {
"namecheap-webui": {
"type": "local",
"enabled": true,
"command": ["node", "/absolute/path/namecheap-webui-mcp/dist/index.js"],
"environment": {
"NAMECHEAP_USER_DATA_DIR": "/absolute/path/namecheap-webui-mcp/.namecheap-profile",
"NAMECHEAP_HEADLESS": "true",
"NAMECHEAP_NAVIGATION_TIMEOUT_MS": "30000"
}
}
}
}limitations
Depends on live Namecheap markup and labels; selectors may need updates when UI changes
Bulk operations are still modeled as single-domain actions
Some accounts/domains may require extra verification dialogs before edits are allowed
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Microck/namecheap-webui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server