Skip to main content
Glama

OSIR Domain Registrar

listContacts

List all contacts for the authenticated user with optional search. Requires authentication. Optional: search (search by name/email/org)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
searchNo
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.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It usefully states that authentication is required and that search is optional, and 'List' implies a read-only operation. However, it does not disclose pagination, response shape, or other runtime behavior.

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

Conciseness4/5

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

The description is short and front-loaded with the core purpose. There is minor redundancy in saying 'with optional search' and then 'Optional: search', but overall it remains concise and skimmable.

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?

For a simple list tool with two optional parameters, the description covers the main behavioral context: authentication requirement, scope, and search semantics. It omits return-format or pagination details, but the operation is simple enough that the description is generally sufficient for correct invocation.

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

Parameters4/5

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

The schema only describes sessionKey, leaving 'search' as an undocumented string. The description compensates by specifying that search filters by name, email, or org, which adds meaningful semantics beyond the schema. sessionKey is already well described in the schema.

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

Purpose4/5

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

The description identifies a specific verb ('List') and resource ('all contacts for the authenticated user'), which clearly distinguishes it from sibling tools like getContact and getContactsForDomain. However, it does not explicitly name or contrast itself with those siblings, so it stops just short of top-tier differentiation.

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

Usage Guidelines3/5

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

The description establishes clear context: list all contacts for the authenticated user, with optional search. It does not state when to prefer this over getContact or getContactsForDomain, nor does it mention exclusions or alternative conditions. Usage guidance is implied rather than explicit.

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

B3.1/5.0
Disambiguation2/5

The set has several near-duplicate or heavily overlapping tools: initiateTransfer and transferDomain appear to do the same thing, and generateDomainSuggestions, bulkDomainSuggestions, suggestAlternatives, spinDomainWords, and addPrefix/addSuffixToDomain all occupy suggestion space. Account/profile tools like getAccountSummary, getMyProfile, getRecentActivity, and getMyAuditLogs also blur together.

Naming Consistency2/5

Many tools follow verb_noun camelCase (createDnsRecord, listInvoices, updateContact), but the broader set mixes styles: osirAppCreateUpload vs osirAppList vs osirAppStatus, plus inconsistent verbs like check/verify/validate/preview for similar lookup actions. The naming is readable but not predictable across the full surface.

Tool Count1/5

105 tools is an extreme count for any single MCP server, even one spanning domain registration, DNS, VPS, email, billing, app deployment, and site publishing. The surface would be far more coherent split into focused servers by domain.

Completeness3/5

Core domain, DNS, billing, VPS, mail, and app deployment workflows are broadly covered. However, there are notable gaps: no way to update or reassign the contacts on an existing domain, no update operation for host/glue records, and no VPS power operations like reboot or stop outside the external control panel.