# Osir Domain Registrar MCP server

Source: https://glimind.com/server/mcp-registry%2Fcom.osir%2Fdomain-registrar
Registry id: `mcp-registry/com.osir/domain-registrar`
Status: live (checked 2026-10-26T22:14:22.383Z)

## Verdict

Osir Domain Registrar MCP server answered 99.89% of Glimind's liveness checks over 30 days, better than 29% of MCP servers, with 825 ms median handshake and 3 outages in 90 days. Its agent-readiness grade is A (90/100) across 106 tools, costing an agent about 22,124 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 99.89% | 29% of MCP servers |
| Median handshake latency | 825 ms | 28% of MCP servers |
| p95 handshake latency | 2863 ms | — |
| Checks in 30 days | 4,935 | — |
| Outages, 90 days | 3 | — |
| Median recovery | 4 min | — |
| Agent-readiness score | 90/100 (A) | 69% of MCP servers |
| Tools | 106 | — |
| Tool-list size for an agent | ~22,124 tokens | 2% of MCP servers |
| Days observed | 29 | — |

## Install

```json
{
  "mcpServers": {
    "osir-domain-registrar-mcp-server": {
      "type": "http",
      "url": "https://be.osir.com/mcp/http"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http osir-domain-registrar-mcp-server https://be.osir.com/mcp/http
```

## Tools (106)

- `addPrefixToDomain`: addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name.
- `addSshKey`: addSshKey: Store an SSH public key on your account so it can be injected into VPS installs. Idempotent: storing a key you already have returns the existing one 
- `addSuffixToDomain`: addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name.
- `buildVpsInstance`: buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica
- `bulkDomainSuggestions`: bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori
- `cancelTransfer`: cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese
- `changeVpsPaymentTerm`: changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac
- `checkDeviceLoginStatus`: checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d
- `checkDomainAvailability`: checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe
- `checkHostAvailability`: checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr
- `checkKeywordAvailability`: checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm
- `checkKeywordAvailabilitySummary`: checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor
- `countMyVpsInstances`: countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication.
- `createAccount`: createAccount: Create a new OSIR customer account; step 1 of onboarding, no authentication required. The contact must be the PRINCIPAL's real ICANN registrant c
- `createContact`: createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d
- `createDnsRecord`: createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R
- `createHost`: createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail
- `createMailbox`: createMailbox: Stage creation of a paid mailbox on a mail-enabled domain. BILLABLE: deducts from account balance; get a quote with getMailboxQuote and confirm t
- `createPaymentSession`: createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to 
- `deleteContact`: deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese
- `deleteDnsRecord`: deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t
- `deleteHost`: deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary 
- `deleteMailbox`: deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication
- `deleteSshKey`: deleteSshKey: Stage removal of an SSH key from your account. This does not affect servers already built with it, and the key can simply be added again. Requires
- `deleteVpsInstance`: deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar
- `enableMailDomain`: enableMailDomain: Enable email hosting on a domain you own. Free; mailboxes are what cost money. If the call fails with a DNS conflict (an existing SPF or MX re
- `executeConfirmedAction`: executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec
- `fundBalanceWithSharedPaymentToken`: fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase
- `generateDomainSuggestions`: generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl
- `getAccountBalance`: getAccountBalance: Get the current account balance for the authenticated user. Requires authentication.
- `getAccountSummary`: getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication.
- `getAuthStatus`: getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta
- `getContact`: getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz
- `getContactsForDomain`: getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro
- `getDedicatedServerCatalog`: getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required.
- `getDnsRecord`: getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten
- `getDomainAuditTrail`: getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication.
- `getDomainExtensions`: getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required.
- `getDomainInfo`: getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi
- `getDomainPricing`: getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication.
- `getHostingBundle`: getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap
- `getHostsForDomain`: getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses.
- `getInvoiceDetails`: getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication.
- `getInvoiceStatistics`: getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication.
- `getMailDnsRecords`: getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication.
- `getMailboxQuote`: getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication.
- `getMailboxUsage`: getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication.
- `getMyAuditLogs`: getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication.
- `getMyProfile`: getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent
- `getPaymentTransactions`: getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication.
- `getProductCatalog`: getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required.
- `getRecentActivity`: getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication.
- `getTransferQuote`: getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. 
- `getTransferStatus`: getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet
- `getVpsInstanceDetails`: getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication.
- `getVpsPackageDetails`: getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis
- `initializeDnsZone`: initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex
- `initiateTransfer`: initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr
- `listCategorizedTlds`: listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10
- `listContacts`: listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for 
- `listDnsRecords`: listDnsRecords: List all DNS records for a domain. Requires authentication. Returns each record with its id, name, type, content, TTL, and priority; use the rec
- `listInvoices`: listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication.
- `listMailDomains`: listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication.
- `listMailPlans`: listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,
- `listMailboxes`: listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication.
- `listMySshKeys`: listMySshKeys: List the SSH keys stored on your account, with their ids and SHA256 fingerprints. Use this to check whether a key is already stored and to get th
- `listMyVpsInstances`: listMyVpsInstances: List all VPS instances owned by the authenticated user. An instanceId from this list is what osirAppDeployToVps takes to put an app on a ser
- `listPendingTransfers`: listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren
- `listUserDomains`: listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first.
- `listVpsLocations`: listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required.
- `listVpsOsTemplates`: listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f
- `listVpsPackages`: listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required.
- `lockDomain`: lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers.
- `loginToVpsPanel`: loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication.
- `loginWithDevice`: loginWithDevice: Start a device authorization login (RFC 8628). Returns a verificationUri and userCode. Open the URI in your browser, enter the code, and sign i
- `logout`: logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv
- `orderVps`: orderVps: Stage an order for a new VPS instance; deducts from account balance. If this server is being ordered to host an Osir app, do NOT configure it by hand 
- `osirAppCreateUpload`: osirAppCreateUpload: Create an upload ticket for deploying app source code to Osir. Returns an uploadTicket, a putUrl, and instructions to zip the project and u
- `osirAppDelete`: osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar
- `osirAppDeploy`: osirAppDeploy: Deploy an app to Osir (free tier) and get a live HTTPS URL; the app runs isolated in a microVM. Deploying an existing app name redeploys it (new 
- `osirAppDeployToVps`: osirAppDeployToVps: Deploy a live Osir app onto the user's own VPS / server / production box, moving it off the shared free tier. Use this INSTEAD of SSH, a pro
- `osirAppGetSource`: osirAppGetSource: Get a short-lived signed download URL for an Osir app's current source zip. Use this to make edits to a deployed app without the user re-attac
- `osirAppList`: osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication.
- `osirAppLogs`: osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication.
- `osirAppProvisionDatabase`: osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in
- `osirAppSetSecret`: osirAppSetSecret: Set an environment secret for an Osir app (e.g. DATABASE_URL, API_KEY). The value is stored encrypted and injected as an env var on the next o
- `osirAppStatus`: osirAppStatus: Get an Osir app's current status, live URL, and health ('is my app working?'). If the status is BUILD_FAILED, 'recentErrors' explains why so you 
- `osirSiteDesignBrief`: osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO
- `osirSitePublish`: osirSitePublish: Publish a single-page website to a live HTTPS URL on Osir (free tier). ANY complete HTML document works: the user's own site, a page designed i
- `payInvoice`: payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca
- `previewPaymentFees`: previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication.
- `registerDomain`: registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou
- `renewDomain`: renewDomain: Stage renewal of a domain for a specified number of years. Deducts from account balance. Returns an actionId: present the summary to the user, then
- `setMailboxPassword`: setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication.
- `spinDomainWords`: spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives.
- `suggestAlternatives`: suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions.
- `transferDomain`: transferDomain: Stage transfer of a domain from another registrar to OSIR. Deducts from account balance. Returns an actionId: present the summary to the user, t
- `unlockDomain`: unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t
- `updateContact`: updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val
- `updateDnsRecord`: updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get 

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
