INWX MCP by usefulapi

Check domain availability, list domains and DNS zones, change DNS records in INWX.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
88%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,220Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (1.73% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "inwx": {
      "url": "https://inwx.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://inwx.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢inwx_account_info

Get the details of the INWX login used by this server: account id, customer number, roles and default settings. INWX method: account.info.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢inwx_domain_check(domains)

Check whether domain names can be registered now, with the registration price and premium flag. Read only: nothing is ordered. INWX method: domain.check.

Input Schema

{
  "type": "object",
  "properties": {
    "domains": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 255
      },
      "description": "Domain names to check, for example [\"example.com\", \"example.de\"]."
    }
  },
  "required": [
    "domains"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢inwx_domain_list(search, status, page, pagelimit)

List the domains of this INWX account with status, expiry date, renewal mode and lock state. Filter by name text or status. INWX method: domain.list.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Search text. \"*\" or empty lists all (default \"*\").",
      "type": "string",
      "maxLength": 255
    },
    "status": {
      "description": "Only domains with these status values.",
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 64
      }
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "pagelimit": {
      "description": "Results per page (default 20, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢inwx_domain_info(domain, roId)

Get one domain: dates (creation, expiry), status, renewal and transfer modes, and the registrant, admin and tech contact handle ids. The transfer auth code is never returned. INWX method: domain.info.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "Domain name, for example example.com. Give this or roId.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "roId": {
      "description": "Repository object id (roId) from a list call. Give this or domain.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢inwx_nameserver_list(search, page, pagelimit)

List the DNS zones hosted at INWX with their zone type, mail and web entries. Filter by domain text. INWX method: nameserver.list.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Search text. \"*\" or empty lists all (default \"*\").",
      "type": "string",
      "maxLength": 255
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "pagelimit": {
      "description": "Results per page (default 20, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢inwx_nameserver_info(domain, roId)

Get one DNS zone with its records (record id, name, type, content, TTL, priority). Use the record ids with inwx_nameserver_update_record. INWX method: nameserver.info.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "Domain name, for example example.com. Give this or roId.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "roId": {
      "description": "Repository object id (roId) from a list call. Give this or domain.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢inwx_contact_list(search, page, pagelimit)

List the contact handles (owner, admin and tech contacts) of this account. Filter by search text. INWX method: contact.list.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Search text (name, organisation or email).",
      "type": "string",
      "maxLength": 64
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "pagelimit": {
      "description": "Results per page (default 20, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢inwx_contact_info(id)

Get one contact handle by id: name, organisation, address and e-mail. INWX method: contact.info.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Contact handle id (from inwx_contact_list)."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴inwx_nameserver_update(domain, roId, type, masterIp, ns, ...)

Change the settings of a DNS zone: zone type, master IP, nameserver list, and the web and mail entries. This changes live DNS. INWX method: nameserver.update.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "Domain name, for example example.com. Give this or roId.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "roId": {
      "description": "Repository object id (roId) from a list call. Give this or domain.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "type": {
      "description": "Zone type.",
      "type": "string",
      "enum": [
        "MASTER",
        "SLAVE"
      ]
    },
    "masterIp": {
      "description": "Master IP for a SLAVE zone.",
      "type": "string",
      "maxLength": 45
    },
    "ns": {
      "description": "Nameserver host names for the zone.",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 255
      }
    },
    "web": {
      "description": "Web entry (IP or host).",
      "type": "string",
      "maxLength": 255
    },
    "mail": {
      "description": "Mail entry (IP or host).",
      "type": "string",
      "maxLength": 255
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴inwx_nameserver_create_record(domain, roId, type, content, name, ...)

Add one DNS record to a zone. This changes live DNS. INWX method: nameserver.createRecord.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "Domain name, for example example.com. Give this or roId.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "roId": {
      "description": "Repository object id (roId) from a list call. Give this or domain.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "type": {
      "type": "string",
      "enum": [
        "A",
        "AAAA",
        "AFSDB",
        "ALIAS",
        "CAA",
        "CERT",
        "CNAME",
        "HINFO",
        "HTTPS",
        "IPSECKEY",
        "LOC",
        "MX",
        "NAPTR",
        "NS",
        "OPENPGPKEY",
        "PTR",
        "RP",
        "SMIMEA",
        "SOA",
        "SRV",
        "SSHFP",
        "SVCB",
        "TLSA",
        "TXT",
        "URI",
        "URL"
      ],
      "description": "DNS record type."
    },
    "content": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "Record value, for example an IP address, host name or TXT text."
    },
    "name": {
      "description": "Record name, for example www or _dmarc. Empty means the zone itself.",
      "type": "string",
      "maxLength": 255
    },
    "ttl": {
      "description": "TTL in seconds (default 3600).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "prio": {
      "description": "Priority, used by MX and SRV records (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 65535
    }
  },
  "required": [
    "type",
    "content"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴inwx_nameserver_update_record(recordId, type, content, name, ttl, ...)

Change one existing DNS record (take its id from inwx_nameserver_info). Only the fields you pass change. This changes live DNS. INWX method: nameserver.updateRecord.

Input Schema

{
  "type": "object",
  "properties": {
    "recordId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Record id from inwx_nameserver_info."
    },
    "type": {
      "type": "string",
      "enum": [
        "A",
        "AAAA",
        "AFSDB",
        "ALIAS",
        "CAA",
        "CERT",
        "CNAME",
        "HINFO",
        "HTTPS",
        "IPSECKEY",
        "LOC",
        "MX",
        "NAPTR",
        "NS",
        "OPENPGPKEY",
        "PTR",
        "RP",
        "SMIMEA",
        "SOA",
        "SRV",
        "SSHFP",
        "SVCB",
        "TLSA",
        "TXT",
        "URI",
        "URL"
      ],
      "description": "DNS record type."
    },
    "content": {
      "description": "New record value.",
      "type": "string",
      "minLength": 1,
      "maxLength": 1024
    },
    "name": {
      "description": "Record name, for example www or _dmarc. Empty means the zone itself.",
      "type": "string",
      "maxLength": 255
    },
    "ttl": {
      "description": "TTL in seconds (default 3600).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "prio": {
      "description": "Priority, used by MX and SRV records (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 65535
    }
  },
  "required": [
    "recordId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools