Skip to main content
Glama

createContact

createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to domains.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYesCity name.
emailYesContact's email address.
phoneYesPhone number in '+CC.number' format, e.g. '+1.5551234567'.
stateNoState, province, or region, if applicable.
countryYesCountry as a 2-letter ISO 3166-1 alpha-2 code, e.g. 'US'.
street1YesFirst street address line.
street2NoSecond street address line, if needed.
lastNameYesContact's last name.
firstNameYesContact's first name.
postalCodeYesPostal or ZIP code.
sessionKeyNoSession key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth.
organizationNoOrganization or company name, if any.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed11 schema fields changed
    • addedInput schema / properties / city / description
      Added value: +"City name."
    • addedInput schema / properties / country / description
      Added value: +"Country as a 2-letter ISO 3166-1 alpha-2 code, e.g. 'US'."
    • addedInput schema / properties / email / description
      Added value: +"Contact's email address."
    • addedInput schema / properties / firstName / description
      Added value: +"Contact's first name."
    • addedInput schema / properties / lastName / description
      Added value: +"Contact's last name."
    • addedInput schema / properties / organization / description
      Added value: +"Organization or company name, if any."
    • addedInput schema / properties / phone / description
      Added value: +"Phone number in '+CC.number' format, e.g. '+1.5551234567'."
    • addedInput schema / properties / postalCode / description
      Added value: +"Postal or ZIP code."
    • addedInput schema / properties / state / description
      Added value: +"State, province, or region, if applicable."
    • addedInput schema / properties / street1 / description
      Added value: +"First street address line."
    • addedInput schema / properties / street2 / description
      Added value: +"Second street address line, if needed."
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=false, etc.), the description adds that authentication is required and that the created contact is returned including its id for assignment to domains. This is useful behavioral information not otherwise conveyed by annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two compact sentences with no fluff. The primary purpose is front-loaded, followed by auth requirement and return value. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, auth, and the key return value (the id). With no output schema, mentioning the id is valuable. Minor gap: it doesn't describe the full return structure or any side effects, but the schema handles parameter details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add any parameter-level detail beyond what the schema already provides, and that is acceptable given the thorough schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (create), resource (contact), and purpose ('for use with domain registrations'). This clearly distinguishes it from contact-related siblings like updateContact, deleteContact, getContact, and listContacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context: creating a contact for domain registrations, and it explicitly notes that authentication is required. It doesn't explicitly name alternatives or exclusions, but the create-vs-update/delete role is obvious from the verb and resource.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation3/5

Most tools target distinct resource-action pairs, but there are several overlapping clusters: six domain-suggestion tools (addPrefixToDomain, addSuffixToDomain, generateDomainSuggestions, bulkDomainSuggestions, spinDomainWords, suggestAlternatives) and overlapping account-info tools (getMyProfile, getAccountSummary, getRecentActivity, getMyAuditLogs). Descriptions help, but with 105 tools an agent will regularly face near-identical choices.

Naming Consistency4/5

The dominant convention is verbNoun camelCase (createContact, listDnsRecords, updateNameservers), which is readable and predictable. Deviations exist in the osirApp* and osirSite* families, where the noun precedes the verb, and a few names like suggestAlternatives and spinDomainWords break the pattern.

Tool Count1/5

105 tools is far beyond a coherent MCP server surface; even if the platform genuinely spans domains, DNS, email, VPS, billing, and app hosting, this should be split into focused servers. Many tools are single-purpose getters that add selection overhead rather than earning their place as one integrated set.

Completeness4/5

The covered services have broad CRUD/lifecycle coverage: contacts, DNS, hosts, domains, email, VPS, SSH keys, invoices, and Osir apps all have create/read/update/delete paths. Some registrar-specific operations (e.g., contact reassignment after registration, domain deletion/redemption) are missing, and the sheer sprawl makes coverage hard to verify.