---
title: "Gandi MCP server for AI agents - actionlake"
description: "Give Claude 218 Gandi actions through one MCP server: domains, livedns records, certificates. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/gandi
updated: 2026-10-23
---

Connectors · Email & messaging

# Gandi MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Gandi and the rest of your systems. It gives your agent 218 Gandi actions (95 reads, 91 writes and 32 that wait for a confirmation) and holds the Gandi credential itself, so the agent never does. It paces Gandi's limits and records every call.

[Connect Gandi free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "gandi.mailboxes.list",
  intent: "check which Gandi account is connected"
}
# List mailboxes · read · 1 upstream call
```

- 218 actions in one signed file
- 95 read look, never change
- 91 write create and update
- 32 wait for a yes destructive, confirmed first

Set up

## Connect Gandi in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Gandi.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `access_token` Gandi Personal Access Token (Gandi Admin > Account settings > Authentication options > Personal Access Token)
   - `environment` Your Gandi environment
   ```
   account { op: "connections.requirements", service: "gandi" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "gandi.mailboxes.list" }
   # list mailboxes · read · 1 upstream call
   check { action: "gandi.mailboxes.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Gandi at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`access_token`

**Setup fields**

`environment`

**Limits we pace to**

1,000 calls a minute, per connection

**API covered**

Gandi Public API v5 (RAML reference rendered at api.gandi.net/docs), at your Gandi instance's API base URL, which you enter when connecting

**Built from**

Gandi's documentation, read 23 October 2026[api.gandi.net](https://api.gandi.net/docs/domains/) [api.gandi.net](https://api.gandi.net/docs/livedns/) [api.gandi.net](https://api.gandi.net/docs/linkedzones/)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

90 of 95 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line Gandi up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Gandi.

218 actions in 56 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **95** read look, never change
- **91** write create and update
- **32** destructive wait for a confirmation

1. ### Domains
   15
   6 read · 6 write · 3 destructive
   Create a new domain · List domains · Renew a Domain · Restore a Domain
2. ### Livedns records
   14
   3 read · 8 write · 3 destructive
   List records associated with a domain · Creates a new record · Get a single single record with its name and type · Update a record (RRset) in the zone records linked to a domain
3. ### Certificates
   10
   4 read · 5 write · 1 destructive
   List certificates · Create a new certificate · Certificate details · Update a certificate
4. ### Email mailboxes
   8
   2 read · 4 write · 2 destructive
   Create a new mailbox · List mailboxes · Renew a mailbox · Renew all mailboxes
5. ### Webhosting instances
   7
   3 read · 3 write · 1 destructive
   Create Web Hosting instances · List Web Hosting instances · Instance details · Usage metrics
6. ### Domain transfers
   6
   2 read · 4 write · 0 destructive
   Check transfer availability · Transfer a domain to Gandi · Resend the transfer FOA emails · Get transfer status
7. ### Linkedzone zones
   6
   2 read · 3 write · 1 destructive
   Create a zone · List linked zones · Deploy or undeploy a zone · Linked zone details
8. ### Mailboxes
   6
   2 read · 3 write · 1 destructive
   List mailboxes · Create new mailbox · Get mailbox detail · Update mailbox

**48 more areas · 146 actions**

- Organizations **6**
- Templates **6**
- Webhosting vhosts **6**
- Acme subscriptions **5**
- Certificate tags **5**
- Domain glue records **5**
- Domain tags **5**
- Domain web redirections **5**
- Livedns dnssec keys **5**
- Livedns domains **5**
- Livedns snapshots **5**
- Organization customers **5**
- Domain dnskeys **4**
- Email forwards **4**
- Email slots **4**
- Linkedzone domains **4**
- Livedns tsig keys **4**
- Mailbox forwards **4**
- Acme domains **3**
- Comments **3**
- Domain contacts **3**
- Domain dnssec **3**
- Domain owner changes **3**
- Livedns axfr secondaries **3**
- Livedns domain tsig keys **3**
- Mailbox domains **3**
- Acme accounts **2**
- Billing accounts **2**
- Certificate packages **2**
- Domain claims **2**
- Domain livedns **2**
- Domain nameservers **2**
- Email migrations **2**
- Email offers **2**
- Linkedzone tasks **2**
- Mailbox products **2**
- Mailbox slots **2**
- TLDS **2**
- Webhosting applications **2**
- Access tokens **1**
- Acme catalog **1**
- Acme quotes **1**
- Billing prices **1**
- Livedns nameservers **1**
- Livedns record types **1**
- Mailbox quotas **1**
- Template dispatches **1**
- Users **1**

Top actions

## The Gandi API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 27 of Gandi's 28 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `gandi.users.me` Get user information | Get user information. | read | `identity.current_user.get` 307 connectors |
| `gandi.mailboxes.list` List mailboxes | List mailboxes. | read | `comm.mailbox.list` 18 connectors |
| `gandi.mailboxes.create` Create new mailbox | Create new mailbox. | write | `comm.mailbox.create` 15 connectors |
| `gandi.livedns_records.list` List records associated with a domain | List records associated with a domain. | read | `infra.dns_record.list` 12 connectors |
| `gandi.livedns_snapshots.list` List available snapshots | List available snapshots. | read | `infra.snapshot.list` 12 connectors |
| `gandi.livedns_records.create` Creates a new record | Creates a new record. | write | `infra.dns_record.create` 11 connectors |
| `gandi.livedns_domains.list` List of domains handled by LiveDNS | List of domains handled by LiveDNS. | read | `infra.dns_zone.list` 10 connectors |
| `gandi.livedns_snapshots.create` Creates a new snapshot | Creates a new snapshot. | write | `infra.snapshot.create` 9 connectors |
| `gandi.mailboxes.delete` Delete mailbox | Delete mailbox. | destructive | `comm.mailbox.delete` 13 connectors |
| `gandi.livedns_domains.create` Add a new domain to LiveDNS | Add a new domain to LiveDNS. | write | `infra.dns_zone.create` 8 connectors |
| `gandi.certificates.list` List certificates | List certificates. | read | `security.certificate.list` 22 connectors |
| `gandi.certificates.create` Create a new certificate | Create a new certificate. | write | `security.certificate.create` 15 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Gandi actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   List mailboxes in Gandi and tell me what stands out.
   calls `gandi.mailboxes.list`
2. Write write
   Create new mailbox in Gandi. Show me exactly what you will send before you save it.
   calls `gandi.mailboxes.create`

Governance for Gandi

## Destructive actions wait for a yes.

32 Gandi actions are destructive. The first 10:

- Delete mailbox `gandi.mailboxes.delete`
- Delete record with {rrset_name} and {rrset_type} `gandi.livedns_records.delete`
- Delete a snapshot `gandi.livedns_snapshots.delete`
- Delete a forwarding address `gandi.mailbox_forwards.delete`
- Domain delete `gandi.domains.delete`
- Revoke a certificate `gandi.certificates.revoke`
- Delete an organization `gandi.organizations.delete`
- Delete a DNSSEC Key `gandi.domain_dnskeys.delete`
- Disable DNSSEC for a domain `gandi.domain_dnssec.disable`
- Remove all tags from this domain `gandi.domain_tags.delete_all`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do gandi.mailboxes.delete confirm_policy: **human**

Delete mailbox?

**intent:** the user asked me to delete mailbox

run suspended · waiting for a named person · key _gandi-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "gandi-agent",
  allowed_actions: ["gandi.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "gandi.mailboxes.delete", approver: "lead@example.com" },
    { match: "gandi.livedns_records.delete", approver: "lead@example.com" },
    { match: "gandi.livedns_snapshots.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Gandi only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Gandi costs on actionlake.

Every Gandi action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Gandi refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 218 Gandi actions
- 218 actions page each page of a long list is one call
- 90 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Gandi action.

218 actions by area: the id your agent calls, what it does, and its effect.

**Domains 15**

- `gandi.domains.check_availability` Domain availability read
- `gandi.domains.create` Create a new domain write
- `gandi.domains.delete` Domain delete destructive
- `gandi.domains.get` Domain details read
- `gandi.domains.get_create_status` Domain Creation Status read
- `gandi.domains.get_renewal_info` Domain renewal information read
- `gandi.domains.get_restore_info` Domain restore information read
- `gandi.domains.list` List domains read
- `gandi.domains.renew` Renew a Domain write
- `gandi.domains.resend_reachability` Resend reachability email write
- `gandi.domains.reset_authinfo` Reset of authorization code write
- `gandi.domains.respond_transfer_out` Accept or decline a transfer to another registrar destructive
- `gandi.domains.restore` Restore a Domain write
- `gandi.domains.update_autorenew` Edit autorenew status write
- `gandi.domains.update_transfer_lock` Transfer lock/unlock destructive

**Livedns records 14**

- `gandi.livedns_records.add_verification` Add a verification DNS record write
- `gandi.livedns_records.create` Creates a new record write
- `gandi.livedns_records.create_by_name` Create a new record whose name is defined by the path write
- `gandi.livedns_records.create_by_name_and_type` Create a new record whose name and type are defined by the path write
- `gandi.livedns_records.delete` Delete record with {rrset_name} and {rrset_type} destructive
- `gandi.livedns_records.delete_all` Delete all records destructive
- `gandi.livedns_records.delete_by_name` Delete all records named {rrset_name} destructive
- `gandi.livedns_records.get` Get a single single record with its name and type read
- `gandi.livedns_records.list` List records associated with a domain read
- `gandi.livedns_records.list_by_name` Zone records list {rrset_name} linked to a domain read
- `gandi.livedns_records.replace` Overwrites a single record with {rrset_name} and {rrset_type} write
- `gandi.livedns_records.replace_by_name` Replace all records named {rrset_name} write
- `gandi.livedns_records.replace_zone` Replace the whole zone with new records write
- `gandi.livedns_records.update` Update a record (RRset) in the zone records linked to a domain write

**Certificates 10**

- `gandi.certificates.create` Create a new certificate write
- `gandi.certificates.get` Certificate details read
- `gandi.certificates.get_dcv_params` Retrieve DCV parameters read
- `gandi.certificates.get_dcv_params_for_certificate` Retrieve DCV parameters read
- `gandi.certificates.list` List certificates read
- `gandi.certificates.renew` Renew a certificate write
- `gandi.certificates.resend_dcv` Resend the DCV write
- `gandi.certificates.revoke` Revoke a certificate destructive
- `gandi.certificates.update` Update a certificate write
- `gandi.certificates.update_dcv_method` Update the DCV method write

**Email mailboxes 8**

- `gandi.email_mailboxes.create` Create a new mailbox write
- `gandi.email_mailboxes.delete` Delete a mailbox destructive
- `gandi.email_mailboxes.get` Retrieve a mailbox read
- `gandi.email_mailboxes.list` List mailboxes read
- `gandi.email_mailboxes.purge` Purge a mailbox destructive
- `gandi.email_mailboxes.renew` Renew a mailbox write
- `gandi.email_mailboxes.renew_all` Renew all mailboxes write
- `gandi.email_mailboxes.update` Update a mailbox write

**Webhosting instances 7**

- `gandi.webhosting_instances.create` Create Web Hosting instances write
- `gandi.webhosting_instances.delete` Delete webhosting instances destructive
- `gandi.webhosting_instances.get` Instance details read
- `gandi.webhosting_instances.get_usage` Usage metrics read
- `gandi.webhosting_instances.list` List Web Hosting instances read
- `gandi.webhosting_instances.perform_action` Perform an action on the instance write
- `gandi.webhosting_instances.update` Web Hosting instance modification write

**Domain transfers 6**

- `gandi.domain_transfers.check_availability` Check transfer availability read
- `gandi.domain_transfers.create` Transfer a domain to Gandi write
- `gandi.domain_transfers.get` Get transfer status read
- `gandi.domain_transfers.relaunch` Relaunch transfer process write
- `gandi.domain_transfers.resend_foa` Resend the transfer FOA emails write
- `gandi.domain_transfers.update_authinfo` Update authinfo code of a pending transfer write

**Linkedzone zones 6**

- `gandi.linkedzone_zones.create` Create a zone write
- `gandi.linkedzone_zones.delete` Delete a linked zone destructive
- `gandi.linkedzone_zones.deploy` Deploy or undeploy a zone write
- `gandi.linkedzone_zones.get` Linked zone details read
- `gandi.linkedzone_zones.list` List linked zones read
- `gandi.linkedzone_zones.update` Update a linked zone write

**Mailboxes 6**

- `gandi.mailboxes.create` Create new mailbox write
- `gandi.mailboxes.delete` Delete mailbox destructive
- `gandi.mailboxes.get` Get mailbox detail read
- `gandi.mailboxes.list` List mailboxes read
- `gandi.mailboxes.renew` Renew a mailbox write
- `gandi.mailboxes.update` Update mailbox write

**Organizations 6**

- `gandi.organizations.create` Create an organization write
- `gandi.organizations.delete` Delete an organization destructive
- `gandi.organizations.get` Show organization information read
- `gandi.organizations.list` List organizations read
- `gandi.organizations.perform_action` Perform action organizations write
- `gandi.organizations.update` Update an organization write

**Templates 6**

- `gandi.templates.apply` Apply a template write
- `gandi.templates.create` Create a new template write
- `gandi.templates.delete` Delete a template destructive
- `gandi.templates.get` Template details read
- `gandi.templates.list` List of templates read
- `gandi.templates.update` Edit a template write

**Webhosting vhosts 6**

- `gandi.webhosting_vhosts.create` Create a new vhost write
- `gandi.webhosting_vhosts.delete` Delete a vhost destructive
- `gandi.webhosting_vhosts.get` Vhost details read
- `gandi.webhosting_vhosts.list` List vhosts read
- `gandi.webhosting_vhosts.purge_cache` Purge a vhost's cache destructive
- `gandi.webhosting_vhosts.update` Update a vhost write

**Acme subscriptions 5**

- `gandi.acme_subscriptions.create` Create a partial subscription, waiting for billing task to be paid write
- `gandi.acme_subscriptions.delete` Delete the subscription destructive
- `gandi.acme_subscriptions.get` Returns a single account associated with the subscription_id and the account_id read
- `gandi.acme_subscriptions.list` List subscriptions for a given sharing_id read
- `gandi.acme_subscriptions.rename` Changes the name of the subscription write

**Certificate tags 5**

- `gandi.certificate_tags.add` Attach a new tag to the certificate write
- `gandi.certificate_tags.delete_all` Remove all tags from this certificate destructive
- `gandi.certificate_tags.list` Get the list of tags linked to a certificate read
- `gandi.certificate_tags.replace_all` Replace all the tags of the certificate write
- `gandi.certificate_tags.update` Update some of the tags of the certificate write

**Domain glue records 5**

- `gandi.domain_glue_records.create` Create a new glue record write
- `gandi.domain_glue_records.delete` Delete a glue record destructive
- `gandi.domain_glue_records.get` Glue record information read
- `gandi.domain_glue_records.list` Glue record list read
- `gandi.domain_glue_records.update` Update a glue record write

**Domain tags 5**

- `gandi.domain_tags.add` Attach a new tag to the domain write
- `gandi.domain_tags.delete_all` Remove all tags from this domain destructive
- `gandi.domain_tags.list` Get the list of tags linked to a domain read
- `gandi.domain_tags.replace_all` Update all the tags of the domain write
- `gandi.domain_tags.update` Update some of the tags of the domain write

**Domain web redirections 5**

- `gandi.domain_web_redirections.create` Create a new web redirection write
- `gandi.domain_web_redirections.delete` Delete a redirection destructive
- `gandi.domain_web_redirections.get` Get web redirection information read
- `gandi.domain_web_redirections.list` List web redirections read
- `gandi.domain_web_redirections.update` Update a redirection write

**Livedns dnssec keys 5**

- `gandi.livedns_dnssec_keys.create` Creates a new DNSSEC Key write
- `gandi.livedns_dnssec_keys.delete` Deletes a key destructive
- `gandi.livedns_dnssec_keys.get` Get information about a key read
- `gandi.livedns_dnssec_keys.list` List DNSSEC keys of a domain read
- `gandi.livedns_dnssec_keys.undelete` Undelete a key write

**Livedns domains 5**

- `gandi.livedns_domains.create` Add a new domain to LiveDNS write
- `gandi.livedns_domains.get` Show domain's properties read
- `gandi.livedns_domains.get_nameservers` Retrieve this domain's nameservers read
- `gandi.livedns_domains.list` List of domains handled by LiveDNS read
- `gandi.livedns_domains.update` Update domain's properties write

**Livedns snapshots 5**

- `gandi.livedns_snapshots.create` Creates a new snapshot write
- `gandi.livedns_snapshots.delete` Delete a snapshot destructive
- `gandi.livedns_snapshots.get` Snapshot details read
- `gandi.livedns_snapshots.list` List available snapshots read
- `gandi.livedns_snapshots.update` Update a snapshot write

**Organization customers 5**

- `gandi.organization_customers.create` Create a new customer write
- `gandi.organization_customers.delete` Delete customer destructive
- `gandi.organization_customers.get` Show customer's information read
- `gandi.organization_customers.list` List customers read
- `gandi.organization_customers.update` Update customer's information write

**Domain dnskeys 4**

- `gandi.domain_dnskeys.create` Create a new DNS Key write
- `gandi.domain_dnskeys.delete` Delete a DNSSEC Key destructive
- `gandi.domain_dnskeys.list` DNS Key List read
- `gandi.domain_dnskeys.replace_all` Replace keys on this domain write

**Email forwards 4**

- `gandi.email_forwards.create` Create a forwarding address write
- `gandi.email_forwards.delete` Delete a forwarding address destructive
- `gandi.email_forwards.list` List forwarding addresses read
- `gandi.email_forwards.update` Update a forwarding address write

**Email slots 4**

- `gandi.email_slots.create` Create a new mailbox slot write
- `gandi.email_slots.get` Get slot details read
- `gandi.email_slots.list` List existing mailbox slots read
- `gandi.email_slots.refund` Refund a slot destructive

**Linkedzone domains 4**

- `gandi.linkedzone_domains.get` Domain details read
- `gandi.linkedzone_domains.link` Link domains to a specific zone write
- `gandi.linkedzone_domains.list` List domains read
- `gandi.linkedzone_domains.unlink` Unlink domains from a linked zone write

**Livedns tsig keys 4**

- `gandi.livedns_tsig_keys.create` Creates a new TSIG key write
- `gandi.livedns_tsig_keys.get` GET information about a TSIG key read
- `gandi.livedns_tsig_keys.get_config` Software configuration information read
- `gandi.livedns_tsig_keys.list` List existing TSIG keys read

**Mailbox forwards 4**

- `gandi.mailbox_forwards.create` Create a forwarding address write
- `gandi.mailbox_forwards.delete` Delete a forwarding address destructive
- `gandi.mailbox_forwards.list` List forwarding addresses read
- `gandi.mailbox_forwards.update` Update a forwarding address write

**Acme domains 3**

- `gandi.acme_domains.get` Returns a single domain linked to the right subscription_id and domain_id association read
- `gandi.acme_domains.list` List all domains on a subscription read
- `gandi.acme_domains.update` Changes the domains of the subscription write

**Comments 3**

- `gandi.comments.delete` Delete the comment for the entity corresponding to the id. destructive
- `gandi.comments.get` Return the comment read
- `gandi.comments.set` Set the comment for the entity corresponding to the id write

**Domain contacts 3**

- `gandi.domain_contacts.get` Domain contact list read
- `gandi.domain_contacts.update` Domain contact update write
- `gandi.domain_contacts.update_owner` Edit domain owner write

**Domain dnssec 3**

- `gandi.domain_dnssec.disable` Disable DNSSEC for a domain destructive
- `gandi.domain_dnssec.enable` Activate DNSSEC for a domain write
- `gandi.domain_dnssec.get` Return informations about DNSSEC status for a domain read

**Domain owner changes 3**

- `gandi.domain_owner_changes.create` Initiate a change owner write
- `gandi.domain_owner_changes.get` Change Owner followup. read
- `gandi.domain_owner_changes.resend_foa` Resend the change owner FOA emails write

**Livedns axfr secondaries 3**

- `gandi.livedns_axfr_secondaries.add` Add a new slave IP address to a domain write
- `gandi.livedns_axfr_secondaries.list` List current slave's IP addresses read
- `gandi.livedns_axfr_secondaries.remove` Remove a slave IP address from a domain destructive

**Livedns domain tsig keys 3**

- `gandi.livedns_domain_tsig_keys.associate` Associate a domain with a TSIG key write
- `gandi.livedns_domain_tsig_keys.dissociate` Remove association between a domain and a TSIG key destructive
- `gandi.livedns_domain_tsig_keys.list` List TSIG keys associated with a domain read

**Mailbox domains 3**

- `gandi.mailbox_domains.get` Get domain detail read
- `gandi.mailbox_domains.list` Lists all your domains read
- `gandi.mailbox_domains.validate` Validate configuration write

**Acme accounts 2**

- `gandi.acme_accounts.get` Returns a single account associated with the subscription_id and the account_id read
- `gandi.acme_accounts.list` List all accounts linked to a subscription read

**Billing accounts 2**

- `gandi.billing_accounts.get` Get Account Information read
- `gandi.billing_accounts.get_current` Get your user account's information read

**Certificate packages 2**

- `gandi.certificate_packages.get` Package information read
- `gandi.certificate_packages.list` Package list read

**Domain claims 2**

- `gandi.domain_claims.accept` Accept a previously retrieved claims write
- `gandi.domain_claims.get` Retrieve potential trademark information read

**Domain livedns 2**

- `gandi.domain_livedns.enable` Enable LiveDNS write
- `gandi.domain_livedns.get` Domain LiveDNS Information read

**Domain nameservers 2**

- `gandi.domain_nameservers.get` Domain Nameserver Information read
- `gandi.domain_nameservers.update` Update Domain Nameserver List write

**Email migrations 2**

- `gandi.email_migrations.get` Show migration details read
- `gandi.email_migrations.launch` Launch migration write

**Email offers 2**

- `gandi.email_offers.get` Retrieve current email offer read
- `gandi.email_offers.update` Update global email options write

**Linkedzone tasks 2**

- `gandi.linkedzone_tasks.get` Task details read
- `gandi.linkedzone_tasks.list` List tasks read

**Mailbox products 2**

- `gandi.mailbox_products.buy` Buy new mailbox write
- `gandi.mailbox_products.list` Lists all buyable product read

**Mailbox slots 2**

- `gandi.mailbox_slots.get` Get slot detail read
- `gandi.mailbox_slots.list` Lists all your slots read

**TLDS 2**

- `gandi.tlds.get` TLD Details read
- `gandi.tlds.list` List available TLD extensions read

**Webhosting applications 2**

- `gandi.webhosting_applications.get` Application details read
- `gandi.webhosting_applications.list` List Web Hosting applications read

**Access tokens 1**

- `gandi.access_tokens.renew_current` Renew the current personal access token write

**Acme catalog 1**

- `gandi.acme_catalog.get` List catalog prices of quantity of one domain read

**Acme quotes 1**

- `gandi.acme_quotes.get_quote` List prices with filters, according to specific domain list read

**Billing prices 1**

- `gandi.billing_prices.list` Return product catalog prices. read

**Livedns nameservers 1**

- `gandi.livedns_nameservers.get` Retrieve the generic (hashed) nameservers read

**Livedns record types 1**

- `gandi.livedns_record_types.list` List record types read

**Mailbox quotas 1**

- `gandi.mailbox_quotas.get` Get mailboxes available and mailboxes already used. read

**Template dispatches 1**

- `gandi.template_dispatches.get` Dispatch information read

**Users 1**

- `gandi.users.me` Get user information read

Questions

## The Gandi MCP server, answered.

**Is there a Gandi MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 218 Gandi actions across domains, livedns records, certificates and email mailboxes, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Gandi.

**What do I need to connect Gandi?**

Gandi Personal Access Token (Gandi Admin > Account settings > Authentication options > Personal Access Token). Plus your environment. The free call account { op: "connections.requirements", service: "gandi" } lists exactly what to paste.

**Can an AI agent delete or change things in Gandi?**

Only if its key allows it, and only with an explicit confirmation. 32 Gandi actions are destructive, including delete mailbox, delete record with {rrset_name} and {rrset_type} and delete a snapshot. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Gandi API limit?**

actionlake paces every call to the limits in the Gandi service file: 1,000 calls a minute per connection. Repeated reads are answered from cache (90 Gandi actions can be), which never reaches Gandi.

**What does a Gandi action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (218 Gandi actions page). Cache hits, searches, dry runs and calls Gandi refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Gandi API does it cover?**

The Gandi Public API v5 (RAML reference rendered at api.gandi.net/docs) at your Gandi instance's API base URL, which you enter when connecting. It is built from Gandi's documentation as read on 23 October 2026. 218 actions in 56 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Gandi data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Gandi credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Gandi

Shares the most action names with

- [Twilio SendGrid 9](https://actionlake.com/connectors/twilio-sendgrid)
- [Gmail 8](https://actionlake.com/connectors/gmail)
- [Mailtrap 5](https://actionlake.com/connectors/mailtrap)
- [Bird 5](https://actionlake.com/connectors/bird)
- [Nylas 4](https://actionlake.com/connectors/nylas)
- [Bluesky 1](https://actionlake.com/connectors/bluesky)

Joins with, on shared entities

- [Cloudflare 2](https://actionlake.com/connectors/cloudflare)
- [CIPP 2](https://actionlake.com/connectors/cipp)
- [Make 2](https://actionlake.com/connectors/make)
- [Sophos Central 2](https://actionlake.com/connectors/sophos-central)
- [Laravel Forge 2](https://actionlake.com/connectors/laravel-forge)
- [PlanetScale 2](https://actionlake.com/connectors/planetscale)

Browse

- [All Email & messaging connectors](https://actionlake.com/connectors/category/email-and-messaging)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Gandi; the name is the vendor's own. Counts are from the Gandi service file, version 1.0.0.

## Give your agent Gandi today.

[Connect Gandi free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/gandi
More: https://actionlake.com/llms.txt
