Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EURODNS_APP_IDYesYour EuroDNS Application ID, created in the EuroDNS dashboard under API access.
EURODNS_API_KEYYesYour EuroDNS API key, created in the EuroDNS dashboard under API access.
EURODNS_MCP_AUTHNoAuthentication mode for non-loopback requests. Set to 'token' for a shared secret or 'oauth' for individual credentials.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
eurodns_account_get_prepaid_balanceA

Returns the account’s prepaid balance and its currency, the credit that orders and renewals are debited from. Read it before any tool described as debiting credit: an insufficient balance is the usual reason an order is refused, and the refusal does not say so. It takes no arguments and changes nothing; for what has already been billed use eurodns_invoice_get instead.

eurodns_dns_get_zoneA

Returns the live zone of domainName in full: every DNS record with its id, type, host, rdata and ttl, plus the URL forwards and mail forwards. Read it before any change, and to find the recordId that eurodns_dns_delete_record takes. To change one record use eurodns_dns_upsert_record rather than editing this document and saving it back with eurodns_dns_save_zone, which replaces the whole zone. A domain whose DNS is not hosted here answers 404.

eurodns_dns_save_zoneA

Replaces the entire zone of domainName with body and returns the saved zone. Every record, URL forward and mail forward absent from body is deleted, so it is only safe with a complete document just read from eurodns_dns_get_zone; to change one record use eurodns_dns_upsert_record instead, which validates and keeps the rest. Run eurodns_dns_check_zone first: a rejected save answers a generic 400, while the check names the offending record. Record values go in rdata, never in data.

eurodns_dns_check_zoneA

Validates the candidate zone in body against the API’s rules for domainName and returns it with a per-record report of errors, without saving anything. Use it before eurodns_dns_save_zone, whose rejection is a bare 400. It does not preview what a change would alter, which is what eurodns_dns_diff_zone reports. The body must be the complete zone — records, urlForwards and mailForwards — with values in rdata.

eurodns_dns_get_dnssec_statusA

Returns whether the zone of domainName is DNSSEC-signed, with its keys and the DS data a registry needs to publish. Read it before and after eurodns_domain_set_dnssec, and again after moving nameservers, to confirm the zone and the registry agree. It reports the zone hosted here only: what the registry actually publishes is not read, so a domain registered elsewhere needs its registrar checked separately rather than trusted from this answer.

eurodns_dns_delete_zone_profileA

Deletes the zone profile with that id permanently and returns nothing on success. A profile is a template for new zones, so zones already created from it keep their records; there is no snapshot to restore a template from, so confirm the id and contents with eurodns_dns_get_zone_profile first. To change a profile rather than remove it, use eurodns_dns_save_zone_profile instead.

eurodns_dns_check_zone_profileA

Validates the candidate zone profile in body — name, records, urlForwards and mailForwards — and returns it with a per-record report, without saving. Use it before eurodns_dns_save_zone_profile, whose rejection is a bare 400. It checks a template, not a live zone: for a zone use eurodns_dns_check_zone instead.

eurodns_contact_set_as_default_profileA

Makes the contact profile with that id the default for the roles set true in body — org (registrant), admin, tech and billing — and returns the roles now applied. Future orders pick the default; domains already registered are not touched. Find the id with eurodns_contact_get_profile; to edit the profile’s own fields use eurodns_contact_save_profile instead.

eurodns_domain_check_availabilityA

Checks whether the domain names listed in body.domainNames can be registered and returns the availability of each, as the registries answer it. Use it for names you do not hold, whoever holds them; for a domain already in this account use eurodns_domain_get instead, which returns the full record. It reads only and reserves nothing, and a name marked available still has to be ordered elsewhere: this server does not register domains.

eurodns_ssl_get_certificateA

Returns one certificate of the SSL subscription subscriptionId by certificateId: common name, SANs, validity dates, issuance status and the certificate itself once issued. Both ids come from eurodns_subscription_get for product ssl, which lists the certificates of a subscription. It does not say how a pending name is being validated: for that use eurodns_ssl_get_validation instead.

eurodns_ssl_reissue_certificateA

Reissues certificate certificateId of the SSL subscription subscriptionId against the new body.encodedCsr, for example after a key rotation, and returns the new certificate. No charge is made and the term does not move: extending it is a separate, paid renewal rather than a reissue. Names added in body.sanEntries go through validation again, which eurodns_ssl_get_validation follows; both ids come from eurodns_subscription_get for product ssl.

eurodns_ssl_get_validationA

Returns how the name sanName of certificate certificateId, in SSL subscription subscriptionId, is being validated — method, approver address, token or record to publish — and where it stands. Read it when an ordered certificate has not been issued; it also lists the approver addresses the authority accepts. To change the method or approver use eurodns_ssl_update_validation_approver, and to send the email again use eurodns_ssl_resend_approver_email rather than this call, which sends nothing.

eurodns_ssl_update_validation_approverA

Changes the validation method or approver address for the name sanName of certificate certificateId, in SSL subscription subscriptionId, from body.verificationMethod and the approver it names, and returns the updated validation. Use it when the current approver cannot receive the email; only the addresses eurodns_ssl_get_validation lists are accepted, any other is refused. If the address is right and only the mail was lost, use eurodns_ssl_resend_approver_email instead.

eurodns_ssl_resend_approver_emailA

Sends the validation email for the name sanName of certificate certificateId, in SSL subscription subscriptionId, to its approver again, and returns nothing on success. Use it when the approver did not receive the first mail; every call sends another, so do not use it to check the state, which eurodns_ssl_get_validation returns. If the address itself is wrong, change it first with eurodns_ssl_update_validation_approver.

eurodns_email_update_passwordA

Sets a new password on the mailbox of the email subscription with that id, from body.password and body.passwordConfirmation, and returns the updated subscription. The value is written straight through to the provider and is neither stored nor logged here. Find the id with eurodns_subscription_get for product email; to change addresses rather than the password use eurodns_email_set_alias instead.

eurodns_contact_resend_validation_emailA

Sends each contact named in body.contactsDetails a new email carrying its validation link, and returns the validation state of each. Use it when a registrant validation is pending or about to expire; do not use it as a check, since every call sends mail. The contacts are identified as eurodns_domain_get returns them on the domain.

eurodns_dns_get_zone_snapshotA

Returns one earlier state of the zone domainName by snapshot id — its records as they were — or lists the zone’s snapshots with their ids and dates when id is omitted. Use it to see what a zone held before an unintended change; it reads only and restores nothing. To put a state back, send its records through eurodns_dns_save_zone, or one record at a time through eurodns_dns_upsert_record rather than replacing the zone.

eurodns_dns_get_zone_profileA

Returns one zone profile in full — name, records, URL forwards and mail forwards — by id, or lists the account’s profiles, filtered by name and paged, when id is omitted. Profiles are templates for new zones, not live zones: for the records a domain actually serves use eurodns_dns_get_zone instead. Read a profile before eurodns_dns_save_zone_profile, which replaces the whole profile with what you send; an id that does not exist answers 404.

eurodns_dns_save_zone_profileA

Creates a zone profile from body when id is omitted, or replaces the profile with that id in its entirety, and returns the saved profile. On a replace every record absent from body is dropped, so start from what eurodns_dns_get_zone_profile returned rather than from a partial document. Validate a candidate first with eurodns_dns_check_zone_profile, whose report names the offending record where a rejected save only answers 400. Record values go in rdata.

eurodns_domain_getA

Returns one domain already registered in this account — status, expiry, renewal method, contacts and nameservers — when domainName is given, or searches the account’s domains and returns one summary per match when it is omitted. It only knows domains held here: an unknown name answers 404 rather than an availability, so for a name you might register use eurodns_domain_check_availability instead. The search reads body for its filters and page and size for paging; a search without criteria lists the whole portfolio, which is the way to find a name you do not hold exactly.

eurodns_domain_set_dnssecA

Enables (enabled: true) or disables (enabled: false) DNSSEC for a domain and returns nothing on success. Use scope registry for a domain registered in this account: it signs the hosted zone and publishes the DS records at the registry in one step. Use scope zone only for a domain registered elsewhere whose DNS is hosted here, then publish the DS data at that registrar yourself. Disabling one side while the other stays signed breaks validation until caches expire, so read eurodns_dns_get_dnssec_status before and after; the call does not check that state for you.

eurodns_tld_getA

Returns one TLD by id — registration terms, minimum and maximum durations, registry-specific requirements — or lists the TLDs this account can order when id is omitted, filtered by tldName and paged. Read it before ordering an unfamiliar extension to learn what the registry demands. The full list runs to hundreds of entries, so filter with tldName or page with size rather than asking for everything; it says nothing about whether a name is free, which is eurodns_domain_check_availability.

eurodns_invoice_getA

Returns one invoice with its lines by id, or searches invoices when id is omitted — by createdAfter and createdBefore, invoiceType, invoiceStatuses, orderIds or the invoice profile cipId — paged with page and size. Use it for what was billed and whether it is paid; the filters are ignored when id is given. The order behind a line is in eurodns_order_get and the billing identity in eurodns_invoice_profile_get, not here.

eurodns_invoice_profile_getA

Returns one customer invoice profile — the billing name, address and VAT details invoices are issued to — by id, or searches the account’s profiles when id is omitted, by profileName, companyName, countryCode, active and defaultProfile, paged. Use it to find the id a profile is billed under, then pass that id as cipId to eurodns_invoice_get to list its invoices; the invoices themselves are not here. The termMatchingMode argument says how the text filters compare, EQUALS or CONTAINS for instance.

eurodns_order_getA

Returns one order with its lines and their delivery status by id, or searches orders when id is omitted — by statuses, startDate and endDate, a free-text term, or deliveryInProgress — paged with page and size. Use it to learn what happened to a subscription that was ordered but never became active; the filters are ignored when id is given. The invoice raised for an order is in eurodns_invoice_get, not here.

eurodns_contact_get_profileA

Returns one reusable contact profile — the registrant, admin, technical or billing identity attached to domains — by id, or lists the account’s profiles when id is omitted, filtered by type and by the roles isOrg, isAdmin, isTech and isBilling, paged. It reads the profile only, not the contacts a registered domain carries, which eurodns_domain_get returns. Read a profile before eurodns_contact_save_profile, which needs every field; eurodns_contact_set_as_default_profile chooses which one future orders use.

eurodns_contact_save_profileA

Creates a contact profile from body when id is omitted, or updates the profile with that id, and returns the saved profile. An update must carry every field, changed or not, because the API clears anything omitted: start from what eurodns_contact_get_profile returned rather than from the changed fields alone. Domains already registered keep their contacts; this changes what future orders use, and does not make the profile the default, which is eurodns_contact_set_as_default_profile.

eurodns_nameserver_get_profileA

Returns one reusable nameserver set by id, or lists the account’s nameserver profiles when id is omitted, with the default one and the deletable ones marked and, with includeNameservers, each profile’s servers. Use it to find the profile a domain should point at, or the id eurodns_nameserver_save_profile takes; it does not say which profile a given domain uses, which eurodns_domain_get returns. Filter with default or deletable rather than paging the whole list.

eurodns_nameserver_save_profileA

Creates a nameserver profile from body when id is omitted, or updates the profile with that id, and returns the saved profile. An update must carry every field and every nameserver you keep, because the API clears anything omitted: start from eurodns_nameserver_get_profile rather than from the changed servers alone. Changing a profile changes the delegation of every domain pointing at it, so read it first instead of guessing what it holds.

eurodns_email_set_aliasA

Adds (action: add) or removes (action: remove) the address in alias, which delivers into the mailbox of the email subscription id, and returns the updated subscription. Use it for one named extra address; to accept every unknown address at the domain use eurodns_email_set_catchall instead. Removing an alias bounces mail sent to it from then on. The subscription id comes from eurodns_subscription_get for product email.

eurodns_email_set_catchallA

Turns the catch-all on (enabled: true) or off (enabled: false) for the email subscription id and returns the updated subscription. On, every address at the domain without a mailbox or alias of its own is delivered here, which brings more unsolicited mail; off, such mail is refused. For one named address use eurodns_email_set_alias instead. The subscription id comes from eurodns_subscription_get for product email.

eurodns_subscription_getA

Returns one subscription in full when product and id are given — an SSL subscription with its certificates, a mailbox with its aliases, a Premium DNS, Microsoft or HTTPS redirect term — lists one product’s subscriptions when only product is given, or searches every product when both are omitted. Start with the cross-product search for an expiry review, then narrow by product. It reads records only and manages nothing behind them; a filter marked for another product is ignored, and an id without product is refused before any call, since ids repeat across products. Its ids feed eurodns_ssl_get_certificate and eurodns_email_set_alias.

eurodns_dns_diff_zoneA

Reports what would change if records were applied to the zone domainName — added, updated with old and new values, and unchanged — without writing anything. Use it to review a change before making it with eurodns_dns_upsert_record; it compares by type, host and rdata, so a record with a new value shows as updated rather than added. It is not the API’s validator: for a per-record validity report on a full zone document use eurodns_dns_check_zone instead.

eurodns_dns_upsert_recordA

Adds one DNS record to the zone domainName, or updates the existing record with the same type and host, and returns the record as saved with the action taken. It reads the zone, applies the change, runs the API’s validator and saves only if validation passes; a rejected change returns the validation report and writes nothing. Prefer it over eurodns_dns_save_zone, which replaces the whole zone. Give matchRdata to pick one of several records sharing a host, or append: true to add a further record under an existing type and host rather than updating it; the value goes in rdata.

eurodns_dns_delete_recordA

Deletes one DNS record from the zone domainName, either by its numeric recordId or by type and host, resolving the id from the live zone in the second case, and returns what was deleted. Give rdata as well when several records share a type and host: an ambiguous selection is refused rather than guessed, and so is a record the provider locked. Read the zone first with eurodns_dns_get_zone to see what it holds; to remove many records at once, save a complete zone with eurodns_dns_save_zone instead.

eurodns_portfolio_refreshA

Re-reads the account’s domain list that backs name completion, so a domain registered or transferred moments ago appears in suggestions without waiting for the cache to expire, and returns how many domains were loaded. Use it right after such a change, not as a way to list domains: that is eurodns_domain_get called without a domainName. It alters nothing upstream.

Prompts

Interactive templates invoked by user choice

NameDescription
eurodns_zone_reviewRead a zone and report what looks wrong: missing mail authentication, dangling CNAMEs, inconsistent nameservers, TTLs that will hurt during a migration.
eurodns_expiry_reviewList domains, certificates and subscriptions expiring inside a window, with their renewal method, so the ones that will not renew themselves are visible.
eurodns_acme_challengePublish the _acme-challenge TXT record a certificate authority asked for, at a TTL short enough that a mistake is cheap to correct.

Resources

Contextual data attached and managed by the client

NameDescription
deploymentThe guardrails in force, the risk classes hidden from the tool list and the variable that would restore each, whether the process holds credentials at all, the result size limit, and whether history can be queried. Read this to explain why an expected tool is absent, or why every call is refused.

TDQS

A4.2/5.0

Scored across 36 tools

Disambiguation4/5

Tools are clearly differentiated by their descriptions and cross-references (e.g., check_zone vs diff_zone; get_zone vs get_zone_snapshot). The only slight overlap is between zone and zone-profile tools, but their purposes are explicitly distinguished.

Naming Consistency5/5

All tools follow a consistent pattern: 'eurodns_' + resource area (dns, domain, contact, email, ssl, etc.) + action (get, save, set, check, diff, delete, refresh). Naming is uniform and predictable.

Tool Count4/5

With 36 tools (though only 26 are visible in the description, the count suggests a broad domain), the set covers a wide range of DNS, domain, and email operations. The number is large but reasonable for the apparent scope, and each tool serves a distinct purpose.

Completeness3/5

The server provides comprehensive CRUD for zones, profiles, and some email settings, but lacks obvious operations such as updating or deleting a domain directly, deleting contact/nameserver profiles, or managing invoices (only mentioned in other tool descriptions). Some lifecycle actions are missing, leaving minor gaps.

Maintenance

ActivityMaintained
ResponsivenessWithin a week