Gandi MCP服务器
](https://badge.fury.io/js/@artik0din%2Fmcp-gandi)  
全面 模型上下文协议(MCP) 用于通过Gandi API v5管理Gandi域和DNS记录的服务器。该服务器使Claude等人工智能助手能够直接通过Gandi的API管理域和LiveDNS记录。
特性
🌐 域管理
- 列出域名:查看您帐户中的所有域
- 域详细信息:获取全面的域信息
- 域检查:检查域名可用性以进行注册
- 联系人管理:列出域联系人
📝 LiveDNS管理
- DNS记录:DNS记录的完整CRUD操作
- 记录类型:支持A、AAAA、CNAME、MX、NS、PTR、SRV、TXT、CAA
- 智能过滤:按类型或名称筛选记录
- TTL控制:管理记录生存时间设置
🛡️ 安全性和可靠性
- 安全认证:基于环境的API令牌管理
- 错误处理:全面的错误处理,信息清晰
- 类型安全:完全支持TypeScript,具有正确的类型定义
快速开始
使用npx直接运行服务器(需要Node.js 18+):
npx @artik0din/mcp-gandi或在本地安装:
npm install -g @artik0din/mcp-gandi
mcp-gandi环境变量
创建一个 .env 工作目录中的文件:
| 变量 | 必填 | 描述 |
|---|---|---|
GANDI_API_TOKEN | ✅ | 具有域和LiveDNS权限的Gandi API令牌 |
获取您的Gandi API代币
- 登录到 甘迪仪表板
- 首选 组织>\[您的组织\]>账单和卡
- 点击 帐户设置>安全
- 在 API密钥 部分,单击 生成API密钥
- 使用以下项创建新的API密钥:
- 领域:查看和编辑权限 - LiveDNS:查看和编辑权限 - 计费:查看权限(可选,了解域名定价)
MCP客户端配置
克劳德桌面
将此添加到您的Claude Desktop配置中:
{
"mcpServers": {
"gandi": {
"command": "npx",
"args": ["@artik0din/mcp-gandi"],
"env": {
"GANDI_API_TOKEN": "your_api_token_here"
}
}
}
}其他MCP客户端
使用命令 npx @artik0din/mcp-gandi 设置适当的环境变量。
可用工具
域管理工具
gandi-domains_list
列出您Gandi帐户中的所有域名。
参数: 无
例子:
List all my Gandi domainsgandi-domains_get
获取特定域的详细信息。
参数:
domain(string,必填):域名(例如example.com)
例子:
Get details for domain example.com
Show information about mydomain.netgandi-domains_check
检查域名是否可供注册。
参数:
domain(字符串,必填):要检查的域名
例子:
Check if newdomain.com is available
Is example.org available for registration?gandi-domains_联系方式
列出与域关联的联系人。
参数:
domain(字符串,必填):域名
例子:
Show contacts for example.com
List contact information for mydomain.netDNS管理工具
gandidns_records_list
列出域的所有DNS记录。
参数:
domain(字符串,必填):域名type(字符串,可选):按记录类型筛选(A、AAAA、CNAME、MX、NS、PTR、SRV、TXT、CAA)
例子:
List all DNS records for example.com
Show A records for mydomain.net
Get MX records for example.orggandi-dns_record_get
按名称和类型获取特定的DNS记录。
参数:
domain(字符串,必填):域名name(字符串,必填):记录名称(例如www、@、子域)type(字符串,必填):记录类型
例子:
Get A record for www.example.com
Show CNAME record for blog subdomain of mydomain.netgandi-dns_record_create
创建新的DNS记录。
参数:
domain(字符串,必填):域名name(字符串,必填):记录名称(例如www、@、子域)type(字符串,必填):记录类型(A、AAAA、CNAME、MX、NS、PTR、SRV、TXT、CAA)values(数组,必填):记录值(IP地址、主机名、文本内容)ttl(数字,可选):TTL(秒)(300-2592000,默认为300)
例子:
Create an A record for www pointing to 1.2.3.4 for example.com
Add CNAME record for blog pointing to www.example.com with TTL 3600
Create MX record for @ pointing to mail.example.com with TTL 1800gandi-dns_record_update
更新现有DNS记录。
参数:
domain(字符串,必填):域名name(字符串,必填):记录名称type(字符串,必填):记录类型values(数组,必填):新记录值ttl(数字,可选):新TTL(秒)
例子:
Update A record for www.example.com to point to 5.6.7.8
Change TTL of CNAME record for blog.mydomain.net to 7200 seconds
Update MX record for example.org to use new mail servergandi-dns_record_delete
删除DNS记录。
参数:
domain(字符串,必填):域名name(字符串,必填):记录名称type(字符串,必填):记录类型
例子:
Delete A record for old.example.com
Remove CNAME record for staging subdomain
Delete old MX record for example.orgDNS记录类型
服务器支持所有标准DNS记录类型:
- A.:IPv4地址记录
- AAAA:IPv6地址记录
- 别名:规范名称记录(别名)
- 导弹试验:邮件交换记录
- 纳秒:名称服务器记录
- 指针:指针记录(反向DNS)
- SRV:服务记录
- 文本:文本记录(SPF、DKIM、验证等)
- 中国民航局:证书颁发机构授权记录
安全注意事项
- API代币安全:永远不要将API令牌提交到版本控制
- 最低权限:仅使用具有所需权限的API令牌
- 定期轮换:为了安全起见,定期轮换API令牌
- 环境变量:始终使用环境变量作为凭据
- 域名安全:在生产中删除DNS记录时要小心
错误处理
服务器为常见场景提供清晰的错误消息:
- API令牌无效:检查您的令牌和权限
- 找不到域:验证域所有权和拼写
- 未找到记录:检查记录名称、类型和域
- 速率限制:甘迪API有费率限制;服务器将指示您是否击中了它们
- 记录数据无效:格式错误的DNS记录的验证错误
发展
# Clone the repository
git clone https://github.com/artik0din/mcp-gandi.git
cd mcp-gandi
# Install dependencies
npm install
# Build the project
npm run build
# Run locally
npm startAPI兼容性
此服务器与兼容 甘迪API v5。它使用:
- 域API:用于域管理操作
- LiveDNS API:用于DNS记录管理
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
贡献
欢迎投稿!请随时提交拉取请求。
学分
内置:
