Gandi MCP by usefulapi
List domains and expiry dates; read, create and update LiveDNS records in Gandi.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"gandi": {
"url": "https://gandi.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://gandi.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(8)
🟢gandi_list_domains(fqdn, tld, nameserver, sharing_id, page, ...)
List the domains owned by the token's user, with status, registry dates, autorenew and nameserver type. Gandi API: GET /v5/domain/domains.
入力スキーマ
{
"type": "object",
"properties": {
"fqdn": {
"description": "Filter by name, with optional patterns such as example.* or *example.com.",
"type": "string"
},
"tld": {
"description": "Filter by extension, for example com.",
"type": "string"
},
"nameserver": {
"description": "Filter by nameserver type.",
"type": "string",
"enum": [
"abc",
"livedns",
"other"
]
},
"sharing_id": {
"description": "Organization id to list under (sharing_id filter).",
"type": "string"
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Results per page (max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢gandi_get_domain(domain)
Get one domain with its status, life-cycle dates (registry_ends_at, renew_begins_at, hold_begins_at), autorenew and nameserver mode. Gandi API: GET /v5/domain/domains/{domain}.
入力スキーマ
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"description": "Domain name, for example example.com."
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢gandi_list_expiring_domains(days, max_pages)
List domains whose registry end date falls within the next N days (or has passed), soonest first. Reads up to max_pages pages of 100 domains; check complete in the result. Built from GET /v5/domain/domains.
入力スキーマ
{
"type": "object",
"properties": {
"days": {
"description": "Look-ahead window in days (default 60).",
"type": "integer",
"minimum": 1,
"maximum": 365
},
"max_pages": {
"description": "Pages of 100 domains to read (default 5, max 10).",
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢gandi_list_livedns_domains(sharing_id, page, per_page)
List the domains whose DNS is hosted in Gandi LiveDNS. Gandi API: GET /v5/livedns/domains.
入力スキーマ
{
"type": "object",
"properties": {
"sharing_id": {
"description": "Organization id to list under (sharing_id filter).",
"type": "string"
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"per_page": {
"description": "Results per page (max 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢gandi_list_zone_records(fqdn)
List all DNS record sets in a LiveDNS zone, with name, type, TTL and values. Gandi API: GET /v5/livedns/domains/{fqdn}/records.
入力スキーマ
{
"type": "object",
"properties": {
"fqdn": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"description": "Domain name, for example example.com."
}
},
"required": [
"fqdn"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢gandi_get_zone_record(fqdn, rrset_name, rrset_type)
Get one DNS record set by zone, name and type. Returns 404 when the name and type pair does not exist. Gandi API: GET /v5/livedns/domains/{fqdn}/records/{rrset_name}/{rrset_type}.
入力スキーマ
{
"type": "object",
"properties": {
"fqdn": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"description": "Domain name, for example example.com."
},
"rrset_name": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"description": "Record name relative to the zone. Use '@' for the zone apex, or 'www' for www.<domain>."
},
"rrset_type": {
"type": "string",
"enum": [
"A",
"AAAA",
"ALIAS",
"CAA",
"CDS",
"CNAME",
"DNAME",
"DS",
"HTTPS",
"KEY",
"LOC",
"MX",
"NAPTR",
"NS",
"OPENPGPKEY",
"PTR",
"RP",
"SOA",
"SPF",
"SRV",
"SSHFP",
"SVCB",
"TLSA",
"TXT",
"WKS"
],
"description": "Record type, for example A, AAAA, CNAME, MX or TXT."
}
},
"required": [
"fqdn",
"rrset_name",
"rrset_type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴gandi_create_zone_record(fqdn, rrset_name, rrset_type, rrset_values, rrset_ttl)
Create a DNS record set in a LiveDNS zone. It changes live DNS for the domain. Fails when the name and type pair already exists; use gandi_update_zone_record to change it. Gandi API: POST /v5/livedns/domains/{fqdn}/records/{rrset_name}/{rrset_type}.
入力スキーマ
{
"type": "object",
"properties": {
"fqdn": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"description": "Domain name, for example example.com."
},
"rrset_name": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"description": "Record name relative to the zone. Use '@' for the zone apex, or 'www' for www.<domain>."
},
"rrset_type": {
"type": "string",
"enum": [
"A",
"AAAA",
"ALIAS",
"CAA",
"CDS",
"CNAME",
"DNAME",
"DS",
"HTTPS",
"KEY",
"LOC",
"MX",
"NAPTR",
"NS",
"OPENPGPKEY",
"PTR",
"RP",
"SOA",
"SPF",
"SRV",
"SSHFP",
"SVCB",
"TLSA",
"TXT",
"WKS"
],
"description": "Record type, for example A, AAAA, CNAME, MX or TXT."
},
"rrset_values": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"description": "All values of the record set. For example ['192.0.2.10'] for an A record."
},
"rrset_ttl": {
"description": "Cache time in seconds (300 to 2592000). Omit to keep the API default.",
"type": "integer",
"minimum": 300,
"maximum": 2592000
}
},
"required": [
"fqdn",
"rrset_name",
"rrset_type",
"rrset_values"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴gandi_update_zone_record(fqdn, rrset_name, rrset_type, rrset_values, rrset_ttl)
Replace all values (and optionally the TTL) of one DNS record set. It changes live DNS for the domain and drops the old values. Safe to repeat with the same input. Gandi API: PUT /v5/livedns/domains/{fqdn}/records/{rrset_name}/{rrset_type}.
入力スキーマ
{
"type": "object",
"properties": {
"fqdn": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"description": "Domain name, for example example.com."
},
"rrset_name": {
"type": "string",
"minLength": 1,
"maxLength": 253,
"description": "Record name relative to the zone. Use '@' for the zone apex, or 'www' for www.<domain>."
},
"rrset_type": {
"type": "string",
"enum": [
"A",
"AAAA",
"ALIAS",
"CAA",
"CDS",
"CNAME",
"DNAME",
"DS",
"HTTPS",
"KEY",
"LOC",
"MX",
"NAPTR",
"NS",
"OPENPGPKEY",
"PTR",
"RP",
"SOA",
"SPF",
"SRV",
"SSHFP",
"SVCB",
"TLSA",
"TXT",
"WKS"
],
"description": "Record type, for example A, AAAA, CNAME, MX or TXT."
},
"rrset_values": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"description": "All values of the record set. For example ['192.0.2.10'] for an A record."
},
"rrset_ttl": {
"description": "Cache time in seconds (300 to 2592000). Omit to keep the API default.",
"type": "integer",
"minimum": 300,
"maximum": 2592000
}
},
"required": [
"fqdn",
"rrset_name",
"rrset_type",
"rrset_values"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス