Namecheap MCP服务器
用于Namecheap API的全面模型上下文协议(MCP)服务器,提供对域管理、DNS配置、SSL证书等的完全访问。专为在Google Cloud Run上部署而设计,支持SSE(服务器发送事件)协议。
特性
域管理
- 检查域可用性
- 注册新域名
- 续订域名
- 获取域信息
- 列出所有域
- 重新激活过期域
- 管理域联系人
- 将域名转移到Namecheap
DNS管理
- 获取/设置DNS主机记录
- 配置自定义名称服务器
- 设置默认的Namecheap DNS
- 管理电子邮件转发
- 创建/删除/更新名称服务器
SSL证书
- 列出SSL证书
- 获取证书信息
- 激活SSL证书
- 补发证书
- 续订证书
WhoisGuard
- 启用/禁用WhoisGuard
- 列出WhoisGuard订阅
账户管理
- 获取定价信息
- 检查账户余额
- 管理地址信息
需求
- Node.js 18或更高版本
- 名称便宜的API证书
- 谷歌云平台帐户(用于部署)
获取Namecheap API凭据
- 登录您的Namecheap帐户
- 转到个人资料→ 工具→ 业务和开发工具→ API访问
- 启用API访问
- 将服务器的IP地址列入白名单
- 复制您的API凭据:
- API用户 - API密钥 - 用户名 - 白名单IP
本地开发
安装
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start环境变量
创建一个 .env 文件(未包含在存储库中):
NAMECHEAP_API_USER=your_api_user
NAMECHEAP_API_KEY=your_api_key
NAMECHEAP_USERNAME=your_username
NAMECHEAP_CLIENT_IP=your_whitelisted_ip
NAMECHEAP_SANDBOX=true # Set to false for production
PORT=8080本地测试
# Health check
curl http://localhost:8080/health
# Test SSE connection
curl http://localhost:8080/sse谷歌云运行部署
先决条件
- 安装 谷歌云SDK
- 使用Google Cloud进行身份验证:
gcloud auth login
gcloud config set project YOUR_PROJECT_ID部署步骤
- 设置环境变量:
export NAMECHEAP_API_USER="your_api_user"
export NAMECHEAP_USERNAME="your_username"
export NAMECHEAP_CLIENT_IP="your_whitelisted_ip"
export NAMECHEAP_API_KEY="your_api_key"
export NAMECHEAP_SANDBOX="false" # or "true" for sandbox
export GCP_PROJECT_ID="your-gcp-project"
export GCP_REGION="us-central1"- 运行部署脚本:
chmod +x deploy.sh
./deploy.sh手动部署
# Build and push Docker image
gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/namecheap-mcp-server
# Create secret for API key
echo -n "your_api_key" | gcloud secrets create namecheap-api-key --data-file=-
# Deploy to Cloud Run
gcloud run deploy namecheap-mcp-server \
--image gcr.io/YOUR_PROJECT_ID/namecheap-mcp-server \
--region us-central1 \
--platform managed \
--allow-unauthenticated \
--set-env-vars NAMECHEAP_API_USER=your_api_user,NAMECHEAP_USERNAME=your_username,NAMECHEAP_CLIENT_IP=your_ip,NAMECHEAP_SANDBOX=false \
--set-secrets NAMECHEAP_API_KEY=namecheap-api-key:latest使用MCP服务器
可用工具
域操作
namecheap_check_domain-检查域是否可用namecheap_get_domain_info-获取详细的域信息namecheap_list_domains-列出帐户中的所有域namecheap_register_domain-注册新域名namecheap_renew_domain-续订现有域namecheap_reactivate_domain-重新激活过期的域namecheap_get_contacts-获取域联系信息namecheap_set_contacts-更新域联系人
DNS操作
namecheap_get_dns_hosts-获取DNS主机记录namecheap_set_dns_hosts-设置DNS主机记录namecheap_get_email_forwarding-获取电子邮件转发配置namecheap_set_email_forwarding-配置电子邮件转发namecheap_set_custom_dns-设置自定义名称服务器namecheap_set_default_dns-使用Namecheap默认DNSnamecheap_get_dns_list-列出DNS服务器
SSL操作
namecheap_list_ssl_certificates-列出SSL证书namecheap_get_ssl_info-获取SSL证书详细信息namecheap_activate_ssl-激活SSL证书namecheap_reissue_ssl-重新颁发证书namecheap_renew_ssl-续订证书
WhoisGuard运营
namecheap_enable_whoisguard-启用WhoisGuard保护namecheap_disable_whoisguard-禁用WhoisGuardnamecheap_list_whoisguard-列出WhoisGuard订阅
名称服务器操作
namecheap_create_nameserver-创建名称服务器namecheap_delete_nameserver-删除名称服务器namecheap_get_nameserver_info-获取名称服务器信息namecheap_update_nameserver-更新名称服务器IP
转移操作
namecheap_transfer_domain-将域名转移到Namecheapnamecheap_get_transfer_status-检查传输状态namecheap_list_transfers-列出所有转账
账户操作
namecheap_get_pricing-获取产品定价namecheap_get_balances-获取账户余额namecheap_get_address_info-获取地址信息
示例用法
// Check domain availability
{
"tool": "namecheap_check_domain",
"arguments": {
"domains": ["example.com", "mysite.net"]
}
}
// Register a domain
{
"tool": "namecheap_register_domain",
"arguments": {
"domainName": "example.com",
"years": 1,
"registrantFirstName": "John",
"registrantLastName": "Doe",
"registrantAddress1": "123 Main St",
"registrantCity": "New York",
"registrantStateProvince": "NY",
"registrantPostalCode": "10001",
"registrantCountry": "US",
"registrantPhone": "+1.2125551234",
"registrantEmailAddress": "john@example.com"
}
}
// Set DNS records
{
"tool": "namecheap_set_dns_hosts",
"arguments": {
"sld": "example",
"tld": "com",
"hosts": [
{
"hostName": "@",
"recordType": "A",
"address": "192.0.2.1",
"ttl": 1800
},
{
"hostName": "www",
"recordType": "CNAME",
"address": "example.com.",
"ttl": 1800
}
]
}
}建筑
- 快递服务器:用于SSE连接的HTTP服务器
- MCP-SDK:模型上下文协议实现
- 苏格兰和南方能源公司运输:服务器发送事件以进行实时通信
- Namecheap客户端:全面的API包装
- 解析器:处理Namecheap的XML响应
安全说明
- API密钥存储为Google云机密
- 非敏感配置的环境变量
- Namecheap要求的IP白名单
- 使用沙盒模式进行测试
故障排除
常见问题
- API身份验证错误
- 验证API凭据是否正确 - 确保您的IP被列入Namecheap的白名单 - 检查您的帐户中是否启用了API访问
- 连接错误
- 验证网络连接 - 检查是否使用了正确的端点(沙盒与生产) - 确保防火墙允许出站连接
- 域操作失败
- 验证域格式是否正确 - 检查购物账户余额 - 确保域符合操作条件
发展
项目结构
namecheap-mcp-server/
├── src/
│ ├── index.ts # Main server and MCP setup
│ └── namecheap-client.ts # Namecheap API client
├── Dockerfile # Container configuration
├── cloudbuild.yaml # Google Cloud Build config
├── deploy.sh # Deployment script
├── package.json # Dependencies
└── tsconfig.json # TypeScript configuration建筑
npm run build # Build TypeScript
npm run dev # Watch mode
npm run clean # Clean build artifacts许可证
麻省理工学院
支持
关于以下问题:
- 此MCP服务器:在GitHub上打开一个问题
- 名称便宜API:联系Namecheap支持
- MCP协议:参观 模型上下文协议文档
贡献
欢迎投稿!请随时提交拉取请求。
