Skip to content

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.

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
  • 218actionsin one signed file
  • 95readlook, never change
  • 91writecreate and update
  • 32wait for a yesdestructive, 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_tokenGandi Personal Access Token (Gandi Admin > Account settings > Authentication options > Personal Access Token)
    • environmentYour 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 callcheck { 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 2026api.gandi.netapi.gandi.netapi.gandi.net
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.

  • 95readlook, never change
  • 91writecreate and update
  • 32destructivewait 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.

ActionWhat it doesEffectSame name in
gandi.users.meGet user informationGet user information.readidentity.current_user.get307 connectors
gandi.mailboxes.listList mailboxesList mailboxes.readcomm.mailbox.list18 connectors
gandi.mailboxes.createCreate new mailboxCreate new mailbox.writecomm.mailbox.create15 connectors
gandi.livedns_records.listList records associated with a domainList records associated with a domain.readinfra.dns_record.list12 connectors
gandi.livedns_snapshots.listList available snapshotsList available snapshots.readinfra.snapshot.list12 connectors
gandi.livedns_records.createCreates a new recordCreates a new record.writeinfra.dns_record.create11 connectors
gandi.livedns_domains.listList of domains handled by LiveDNSList of domains handled by LiveDNS.readinfra.dns_zone.list10 connectors
gandi.livedns_snapshots.createCreates a new snapshotCreates a new snapshot.writeinfra.snapshot.create9 connectors
gandi.mailboxes.deleteDelete mailboxDelete mailbox.destructivecomm.mailbox.delete13 connectors
gandi.livedns_domains.createAdd a new domain to LiveDNSAdd a new domain to LiveDNS.writeinfra.dns_zone.create8 connectors
gandi.certificates.listList certificatesList certificates.readsecurity.certificate.list22 connectors
gandi.certificates.createCreate a new certificateCreate a new certificate.writesecurity.certificate.create15 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. Readread

    List mailboxes in Gandi and tell me what stands out.

    callsgandi.mailboxes.list

  2. Writewrite

    Create new mailbox in Gandi. Show me exactly what you will send before you save it.

    callsgandi.mailboxes.create

Governance for Gandi

Destructive actions wait for a yes.

32 Gandi actions are destructive. The first 10:

  • Delete mailboxgandi.mailboxes.delete
  • Delete record with {rrset_name} and {rrset_type}gandi.livedns_records.delete
  • Delete a snapshotgandi.livedns_snapshots.delete
  • Delete a forwarding addressgandi.mailbox_forwards.delete
  • Domain deletegandi.domains.delete
  • Revoke a certificategandi.certificates.revoke
  • Delete an organizationgandi.organizations.delete
  • Delete a DNSSEC Keygandi.domain_dnskeys.delete
  • Disable DNSSEC for a domaingandi.domain_dnssec.disable
  • Remove all tags from this domaingandi.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.

dogandi.mailboxes.deleteconfirm_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: "[email protected]" },    { match: "gandi.livedns_records.delete", approver: "[email protected]" },    { match: "gandi.livedns_snapshots.delete", approver: "[email protected]" }  ]}
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.

  • 1upstream call per actionall 218 Gandi actions
  • 218actions pageeach page of a long list is one call
  • 90reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Gandi action.

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

Domains15
  • gandi.domains.check_availabilityDomain availabilityread
  • gandi.domains.createCreate a new domainwrite
  • gandi.domains.deleteDomain deletedestructive
  • gandi.domains.getDomain detailsread
  • gandi.domains.get_create_statusDomain Creation Statusread
  • gandi.domains.get_renewal_infoDomain renewal informationread
  • gandi.domains.get_restore_infoDomain restore informationread
  • gandi.domains.listList domainsread
  • gandi.domains.renewRenew a Domainwrite
  • gandi.domains.resend_reachabilityResend reachability emailwrite
  • gandi.domains.reset_authinfoReset of authorization codewrite
  • gandi.domains.respond_transfer_outAccept or decline a transfer to another registrardestructive
  • gandi.domains.restoreRestore a Domainwrite
  • gandi.domains.update_autorenewEdit autorenew statuswrite
  • gandi.domains.update_transfer_lockTransfer lock/unlockdestructive
Livedns records14
  • gandi.livedns_records.add_verificationAdd a verification DNS recordwrite
  • gandi.livedns_records.createCreates a new recordwrite
  • gandi.livedns_records.create_by_nameCreate a new record whose name is defined by the pathwrite
  • gandi.livedns_records.create_by_name_and_typeCreate a new record whose name and type are defined by the pathwrite
  • gandi.livedns_records.deleteDelete record with {rrset_name} and {rrset_type}destructive
  • gandi.livedns_records.delete_allDelete all recordsdestructive
  • gandi.livedns_records.delete_by_nameDelete all records named {rrset_name}destructive
  • gandi.livedns_records.getGet a single single record with its name and typeread
  • gandi.livedns_records.listList records associated with a domainread
  • gandi.livedns_records.list_by_nameZone records list {rrset_name} linked to a domainread
  • gandi.livedns_records.replaceOverwrites a single record with {rrset_name} and {rrset_type}write
  • gandi.livedns_records.replace_by_nameReplace all records named {rrset_name}write
  • gandi.livedns_records.replace_zoneReplace the whole zone with new recordswrite
  • gandi.livedns_records.updateUpdate a record (RRset) in the zone records linked to a domainwrite
Certificates10
  • gandi.certificates.createCreate a new certificatewrite
  • gandi.certificates.getCertificate detailsread
  • gandi.certificates.get_dcv_paramsRetrieve DCV parametersread
  • gandi.certificates.get_dcv_params_for_certificateRetrieve DCV parametersread
  • gandi.certificates.listList certificatesread
  • gandi.certificates.renewRenew a certificatewrite
  • gandi.certificates.resend_dcvResend the DCVwrite
  • gandi.certificates.revokeRevoke a certificatedestructive
  • gandi.certificates.updateUpdate a certificatewrite
  • gandi.certificates.update_dcv_methodUpdate the DCV methodwrite
Email mailboxes8
  • gandi.email_mailboxes.createCreate a new mailboxwrite
  • gandi.email_mailboxes.deleteDelete a mailboxdestructive
  • gandi.email_mailboxes.getRetrieve a mailboxread
  • gandi.email_mailboxes.listList mailboxesread
  • gandi.email_mailboxes.purgePurge a mailboxdestructive
  • gandi.email_mailboxes.renewRenew a mailboxwrite
  • gandi.email_mailboxes.renew_allRenew all mailboxeswrite
  • gandi.email_mailboxes.updateUpdate a mailboxwrite
Webhosting instances7
  • gandi.webhosting_instances.createCreate Web Hosting instanceswrite
  • gandi.webhosting_instances.deleteDelete webhosting instancesdestructive
  • gandi.webhosting_instances.getInstance detailsread
  • gandi.webhosting_instances.get_usageUsage metricsread
  • gandi.webhosting_instances.listList Web Hosting instancesread
  • gandi.webhosting_instances.perform_actionPerform an action on the instancewrite
  • gandi.webhosting_instances.updateWeb Hosting instance modificationwrite
Domain transfers6
  • gandi.domain_transfers.check_availabilityCheck transfer availabilityread
  • gandi.domain_transfers.createTransfer a domain to Gandiwrite
  • gandi.domain_transfers.getGet transfer statusread
  • gandi.domain_transfers.relaunchRelaunch transfer processwrite
  • gandi.domain_transfers.resend_foaResend the transfer FOA emailswrite
  • gandi.domain_transfers.update_authinfoUpdate authinfo code of a pending transferwrite
Linkedzone zones6
  • gandi.linkedzone_zones.createCreate a zonewrite
  • gandi.linkedzone_zones.deleteDelete a linked zonedestructive
  • gandi.linkedzone_zones.deployDeploy or undeploy a zonewrite
  • gandi.linkedzone_zones.getLinked zone detailsread
  • gandi.linkedzone_zones.listList linked zonesread
  • gandi.linkedzone_zones.updateUpdate a linked zonewrite
Mailboxes6
  • gandi.mailboxes.createCreate new mailboxwrite
  • gandi.mailboxes.deleteDelete mailboxdestructive
  • gandi.mailboxes.getGet mailbox detailread
  • gandi.mailboxes.listList mailboxesread
  • gandi.mailboxes.renewRenew a mailboxwrite
  • gandi.mailboxes.updateUpdate mailboxwrite
Organizations6
  • gandi.organizations.createCreate an organizationwrite
  • gandi.organizations.deleteDelete an organizationdestructive
  • gandi.organizations.getShow organization informationread
  • gandi.organizations.listList organizationsread
  • gandi.organizations.perform_actionPerform action organizationswrite
  • gandi.organizations.updateUpdate an organizationwrite
Templates6
  • gandi.templates.applyApply a templatewrite
  • gandi.templates.createCreate a new templatewrite
  • gandi.templates.deleteDelete a templatedestructive
  • gandi.templates.getTemplate detailsread
  • gandi.templates.listList of templatesread
  • gandi.templates.updateEdit a templatewrite
Webhosting vhosts6
  • gandi.webhosting_vhosts.createCreate a new vhostwrite
  • gandi.webhosting_vhosts.deleteDelete a vhostdestructive
  • gandi.webhosting_vhosts.getVhost detailsread
  • gandi.webhosting_vhosts.listList vhostsread
  • gandi.webhosting_vhosts.purge_cachePurge a vhost's cachedestructive
  • gandi.webhosting_vhosts.updateUpdate a vhostwrite
Acme subscriptions5
  • gandi.acme_subscriptions.createCreate a partial subscription, waiting for billing task to be paidwrite
  • gandi.acme_subscriptions.deleteDelete the subscriptiondestructive
  • gandi.acme_subscriptions.getReturns a single account associated with the subscription_id and the account_idread
  • gandi.acme_subscriptions.listList subscriptions for a given sharing_idread
  • gandi.acme_subscriptions.renameChanges the name of the subscriptionwrite
Certificate tags5
  • gandi.certificate_tags.addAttach a new tag to the certificatewrite
  • gandi.certificate_tags.delete_allRemove all tags from this certificatedestructive
  • gandi.certificate_tags.listGet the list of tags linked to a certificateread
  • gandi.certificate_tags.replace_allReplace all the tags of the certificatewrite
  • gandi.certificate_tags.updateUpdate some of the tags of the certificatewrite
Domain glue records5
  • gandi.domain_glue_records.createCreate a new glue recordwrite
  • gandi.domain_glue_records.deleteDelete a glue recorddestructive
  • gandi.domain_glue_records.getGlue record informationread
  • gandi.domain_glue_records.listGlue record listread
  • gandi.domain_glue_records.updateUpdate a glue recordwrite
Domain tags5
  • gandi.domain_tags.addAttach a new tag to the domainwrite
  • gandi.domain_tags.delete_allRemove all tags from this domaindestructive
  • gandi.domain_tags.listGet the list of tags linked to a domainread
  • gandi.domain_tags.replace_allUpdate all the tags of the domainwrite
  • gandi.domain_tags.updateUpdate some of the tags of the domainwrite
Domain web redirections5
  • gandi.domain_web_redirections.createCreate a new web redirectionwrite
  • gandi.domain_web_redirections.deleteDelete a redirectiondestructive
  • gandi.domain_web_redirections.getGet web redirection informationread
  • gandi.domain_web_redirections.listList web redirectionsread
  • gandi.domain_web_redirections.updateUpdate a redirectionwrite
Livedns dnssec keys5
  • gandi.livedns_dnssec_keys.createCreates a new DNSSEC Keywrite
  • gandi.livedns_dnssec_keys.deleteDeletes a keydestructive
  • gandi.livedns_dnssec_keys.getGet information about a keyread
  • gandi.livedns_dnssec_keys.listList DNSSEC keys of a domainread
  • gandi.livedns_dnssec_keys.undeleteUndelete a keywrite
Livedns domains5
  • gandi.livedns_domains.createAdd a new domain to LiveDNSwrite
  • gandi.livedns_domains.getShow domain's propertiesread
  • gandi.livedns_domains.get_nameserversRetrieve this domain's nameserversread
  • gandi.livedns_domains.listList of domains handled by LiveDNSread
  • gandi.livedns_domains.updateUpdate domain's propertieswrite
Livedns snapshots5
  • gandi.livedns_snapshots.createCreates a new snapshotwrite
  • gandi.livedns_snapshots.deleteDelete a snapshotdestructive
  • gandi.livedns_snapshots.getSnapshot detailsread
  • gandi.livedns_snapshots.listList available snapshotsread
  • gandi.livedns_snapshots.updateUpdate a snapshotwrite
Organization customers5
  • gandi.organization_customers.createCreate a new customerwrite
  • gandi.organization_customers.deleteDelete customerdestructive
  • gandi.organization_customers.getShow customer's informationread
  • gandi.organization_customers.listList customersread
  • gandi.organization_customers.updateUpdate customer's informationwrite
Domain dnskeys4
  • gandi.domain_dnskeys.createCreate a new DNS Keywrite
  • gandi.domain_dnskeys.deleteDelete a DNSSEC Keydestructive
  • gandi.domain_dnskeys.listDNS Key Listread
  • gandi.domain_dnskeys.replace_allReplace keys on this domainwrite
Email forwards4
  • gandi.email_forwards.createCreate a forwarding addresswrite
  • gandi.email_forwards.deleteDelete a forwarding addressdestructive
  • gandi.email_forwards.listList forwarding addressesread
  • gandi.email_forwards.updateUpdate a forwarding addresswrite
Email slots4
  • gandi.email_slots.createCreate a new mailbox slotwrite
  • gandi.email_slots.getGet slot detailsread
  • gandi.email_slots.listList existing mailbox slotsread
  • gandi.email_slots.refundRefund a slotdestructive
Linkedzone domains4
  • gandi.linkedzone_domains.getDomain detailsread
  • gandi.linkedzone_domains.linkLink domains to a specific zonewrite
  • gandi.linkedzone_domains.listList domainsread
  • gandi.linkedzone_domains.unlinkUnlink domains from a linked zonewrite
Livedns tsig keys4
  • gandi.livedns_tsig_keys.createCreates a new TSIG keywrite
  • gandi.livedns_tsig_keys.getGET information about a TSIG keyread
  • gandi.livedns_tsig_keys.get_configSoftware configuration informationread
  • gandi.livedns_tsig_keys.listList existing TSIG keysread
Mailbox forwards4
  • gandi.mailbox_forwards.createCreate a forwarding addresswrite
  • gandi.mailbox_forwards.deleteDelete a forwarding addressdestructive
  • gandi.mailbox_forwards.listList forwarding addressesread
  • gandi.mailbox_forwards.updateUpdate a forwarding addresswrite
Acme domains3
  • gandi.acme_domains.getReturns a single domain linked to the right subscription_id and domain_id associationread
  • gandi.acme_domains.listList all domains on a subscriptionread
  • gandi.acme_domains.updateChanges the domains of the subscriptionwrite
Comments3
  • gandi.comments.deleteDelete the comment for the entity corresponding to the id.destructive
  • gandi.comments.getReturn the commentread
  • gandi.comments.setSet the comment for the entity corresponding to the idwrite
Domain contacts3
  • gandi.domain_contacts.getDomain contact listread
  • gandi.domain_contacts.updateDomain contact updatewrite
  • gandi.domain_contacts.update_ownerEdit domain ownerwrite
Domain dnssec3
  • gandi.domain_dnssec.disableDisable DNSSEC for a domaindestructive
  • gandi.domain_dnssec.enableActivate DNSSEC for a domainwrite
  • gandi.domain_dnssec.getReturn informations about DNSSEC status for a domainread
Domain owner changes3
  • gandi.domain_owner_changes.createInitiate a change ownerwrite
  • gandi.domain_owner_changes.getChange Owner followup.read
  • gandi.domain_owner_changes.resend_foaResend the change owner FOA emailswrite
Livedns axfr secondaries3
  • gandi.livedns_axfr_secondaries.addAdd a new slave IP address to a domainwrite
  • gandi.livedns_axfr_secondaries.listList current slave's IP addressesread
  • gandi.livedns_axfr_secondaries.removeRemove a slave IP address from a domaindestructive
Livedns domain tsig keys3
  • gandi.livedns_domain_tsig_keys.associateAssociate a domain with a TSIG keywrite
  • gandi.livedns_domain_tsig_keys.dissociateRemove association between a domain and a TSIG keydestructive
  • gandi.livedns_domain_tsig_keys.listList TSIG keys associated with a domainread
Mailbox domains3
  • gandi.mailbox_domains.getGet domain detailread
  • gandi.mailbox_domains.listLists all your domainsread
  • gandi.mailbox_domains.validateValidate configurationwrite
Acme accounts2
  • gandi.acme_accounts.getReturns a single account associated with the subscription_id and the account_idread
  • gandi.acme_accounts.listList all accounts linked to a subscriptionread
Billing accounts2
  • gandi.billing_accounts.getGet Account Informationread
  • gandi.billing_accounts.get_currentGet your user account's informationread
Certificate packages2
  • gandi.certificate_packages.getPackage informationread
  • gandi.certificate_packages.listPackage listread
Domain claims2
  • gandi.domain_claims.acceptAccept a previously retrieved claimswrite
  • gandi.domain_claims.getRetrieve potential trademark informationread
Domain livedns2
  • gandi.domain_livedns.enableEnable LiveDNSwrite
  • gandi.domain_livedns.getDomain LiveDNS Informationread
Domain nameservers2
  • gandi.domain_nameservers.getDomain Nameserver Informationread
  • gandi.domain_nameservers.updateUpdate Domain Nameserver Listwrite
Email migrations2
  • gandi.email_migrations.getShow migration detailsread
  • gandi.email_migrations.launchLaunch migrationwrite
Email offers2
  • gandi.email_offers.getRetrieve current email offerread
  • gandi.email_offers.updateUpdate global email optionswrite
Linkedzone tasks2
  • gandi.linkedzone_tasks.getTask detailsread
  • gandi.linkedzone_tasks.listList tasksread
Mailbox products2
  • gandi.mailbox_products.buyBuy new mailboxwrite
  • gandi.mailbox_products.listLists all buyable productread
Mailbox slots2
  • gandi.mailbox_slots.getGet slot detailread
  • gandi.mailbox_slots.listLists all your slotsread
TLDS2
  • gandi.tlds.getTLD Detailsread
  • gandi.tlds.listList available TLD extensionsread
Webhosting applications2
  • gandi.webhosting_applications.getApplication detailsread
  • gandi.webhosting_applications.listList Web Hosting applicationsread
Access tokens1
  • gandi.access_tokens.renew_currentRenew the current personal access tokenwrite
Acme catalog1
  • gandi.acme_catalog.getList catalog prices of quantity of one domainread
Acme quotes1
  • gandi.acme_quotes.get_quoteList prices with filters, according to specific domain listread
Billing prices1
  • gandi.billing_prices.listReturn product catalog prices.read
Livedns nameservers1
  • gandi.livedns_nameservers.getRetrieve the generic (hashed) nameserversread
Livedns record types1
  • gandi.livedns_record_types.listList record typesread
Mailbox quotas1
  • gandi.mailbox_quotas.getGet mailboxes available and mailboxes already used.read
Template dispatches1
  • gandi.template_dispatches.getDispatch informationread
Users1
  • gandi.users.meGet user informationread

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.

Give your agent Gandi today.

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