OSIR Domain Registrar is an MCP server with 105 tools an agent can call, among them addPrefixToDomain, addSshKey, addSuffixToDomain. It answers at https://be.osir.com/mcp/http over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 11 of 11 times since 2 September 2026; the last check, on 19 October 2026, succeeded.
Register, renew, transfer, and manage domains, DNS, VPS, and email with 102 tools. By OSIR.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
addPrefixToDomain | Generate domain suggestions by adding prefixes. Required: name (e.g., 'mycompany'). Optional: vocabulary ('@prefixes' or custom), tlds ('com,net'), lang ('eng'), maxResults (20) Inputs: name, vocabulary, tlds, lang, maxResults |
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 instead of creating a duplicate, so it is safe to call before every order. Requires authen Inputs: name, publicKey, sessionKey |
addSuffixToDomain | Generate domain suggestions by adding suffixes. Required: name (e.g., 'mycompany'). Optional: vocabulary ('@suffixes' or custom), tlds ('com,net'), lang ('eng'), maxResults (20) Inputs: name, vocabulary, tlds, lang, maxResults |
buildVpsInstance | Stage an operating system install on a VPS instance. DESTRUCTIVE — ERASES ALL DATA on the server, including any deployed application, and cannot be undone. This is also how a reinstall works. Requires authentication. Required: instanceId (V Inputs: instanceId, operatingSystemId, sshKeyIds, hostname, swap, sessionKey |
bulkDomainSuggestions | Generate domain name suggestions for one or more keywords across a chosen set of TLDs. Returns suggestions grouped by originating keyword. USAGE PATTERN: This is typically called AFTER listCategorizedTlds. The standard flow is: 1. listCateg Inputs: keywords, tlds, lang, maxResults |
cancelTransfer | Stage cancellation of a pending domain transfer. DESTRUCTIVE — irreversible. Requires authentication. Required: domain (e.g., 'example.com'). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the a Inputs: domain, sessionKey |
changeVpsPaymentTerm | Change the payment term (billing cycle) for a VPS instance. Requires authentication. Required: instanceId (string), paymentTerm ('MONTHLY', 'SEMI_ANNUAL', 'ANNUAL', 'BIENNIAL', 'TRIENNIAL') Inputs: instanceId, paymentTerm, sessionKey |
checkDeviceLoginStatus | Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: deviceCode (the device_code returned by loginWithDevice). On success returns a sessionKey — pass it as th Inputs: deviceCode |
checkDomainAvailability | Check if a domain name is available for registration, with price. No authentication required — anonymous callers get list pricing; authenticated callers get their account pricing. Required: domain (e.g., 'example.com') Inputs: domain, sessionKey |
checkHostAvailability | Check if a host/glue record name is available for creation. Requires authentication. Required: hostname (e.g., 'ns1.example.com') Inputs: hostname, sessionKey |
checkKeywordAvailability | Check keyword availability across all supported TLDs and registries with detailed results. Required: keyword (e.g., 'example'). Optional: registries ('verisign,pir,id,centralnic'), tlds ('com,net,org') Inputs: keyword, registries, tlds |
checkKeywordAvailabilitySummary | Check keyword availability summary statistics without detailed domain results (faster). Required: keyword (e.g., 'example'). Optional: registries ('verisign,pir'), tlds ('com,net') Inputs: keyword, registries, tlds |
countMyVpsInstances | Get the total count of VPS instances owned by the authenticated user. Requires authentication. Inputs: sessionKey |
createAccount | Create a new OSIR customer account. No authentication required — this is step 1 of onboarding. The contact must be the PRINCIPAL's real ICANN registrant contact (the human or business the account is for), never the AI agent itself. Sends a Inputs: email, accountType, contact, acceptedTerms, termsVersion, password |
createContact | Create a new contact for use with domain registrations. Requires authentication. Required: firstName, lastName, email, phone (E.164 format), street1, city, postalCode, country (ISO 3166-1 alpha-2). Optional: organization, street2, state Inputs: firstName, lastName, email, phone, organization, street1 |
createDnsRecord | Create a new DNS record for a domain. Requires authentication. For newly registered domains, the zone is initialized automatically if missing. Required: domain (e.g., 'example.com'), name (e.g., 'www', '@', 'mail'), type ('A', 'AAAA', 'CNAM Inputs: domain, name, type, content, ttl, priority |
createHost | Create a new host/glue record (e.g., for custom nameservers). Requires authentication. Required: hostname (e.g., 'ns1.example.com'), ipAddresses (e.g., ['192.0.2.1', '198.51.100.1']) Inputs: hostname, ipAddresses, sessionKey |
createMailbox | Stage creation of a paid mailbox on a mail-enabled domain. BILLABLE — deducts from account balance; get a quote with getMailboxQuote and confirm the price with the user first. Requires authentication. Required: domain (an ACTIVE mail domain Inputs: domain, localPart, packageId, term, sessionKey |
createPaymentSession | Stage creation of a Stripe payment checkout session to add funds to account balance. Requires authentication. Required: amount (double, in USD). Optional: currency (string, default 'USD'). Returns an actionId — present the summary to the us Inputs: amount, currency, sessionKey |
deleteContact | Stage deletion of a contact. DESTRUCTIVE — cannot delete if assigned to active domains. Requires authentication. Required: contactId (string). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the Inputs: contactId, sessionKey |
deleteDnsRecord | Stage deletion of a DNS record. DESTRUCTIVE — irreversible. Requires authentication. Required: domain (e.g., 'example.com'), recordId (string). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the Inputs: domain, recordId, sessionKey |
deleteHost | Stage deletion of a host/glue record. DESTRUCTIVE — irreversible. Requires authentication. Required: hostname (e.g., 'ns1.example.com'). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the action Inputs: hostname, sessionKey |
deleteMailbox | Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication. Required: mailboxId (from listMailboxes). Returns an actionId — present the summary to the us Inputs: mailboxId, sessionKey |
deleteSshKey | Remove an SSH key from your account. This does not affect servers already built with it, and the key can simply be added again. Requires authentication. Required: keyId (integer key id from listMySshKeys). Inputs: keyId, sessionKey |
deleteVpsInstance | Stage deletion/cancellation of a VPS instance. DESTRUCTIVE — irreversible. Requires authentication. Required: instanceId (string). Returns an actionId — present the summary to the user, then call executeConfirmedAction with the actionId if Inputs: instanceId, sessionKey |
enableMailDomain | Enable email hosting on a domain you own. Free — mailboxes are what cost money. Requires authentication. Required: domain. Optional: dnsMode ('PDNS_AUTO', the default, publishes all mail DNS records automatically — the domain must use our n Inputs: domain, dnsMode, spfMergeConfirmed, takeoverConfirmed, sessionKey |
executeConfirmedAction | Execute a previously staged destructive or financial action after user approval. Required: actionId (the UUID returned by the staging tool). The action expires after 5 minutes and can only be executed once. Inputs: actionId, sessionKey |
generateDomainSuggestions | Generate domain name suggestions based on keywords. Required: name (e.g., 'mycompany'). Optional: tlds (e.g., 'com,net,org'), lang ('eng'), useNumbers (true/false), maxResults (20) Inputs: name, tlds, lang, useNumbers, maxResults |
getAccountBalance | Get the current account balance for the authenticated user. Requires authentication. Inputs: sessionKey |
getAccountSummary | Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication. Inputs: sessionKey |
getAuthStatus | Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginStatus). Inputs: sessionKey |
getContact | Get detailed information about a specific contact. Requires authentication. Required: contactId (string) Inputs: contactId, sessionKey |
getContactsForDomain | Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Required: domain (e.g., 'example.com') Inputs: domain, sessionKey |
getDedicatedServerCatalog | Get all available dedicated server configurations with pricing and specifications. No authentication required. |
getDnsRecord | Get details of a specific DNS record. Requires authentication. Required: domain (e.g., 'example.com'), recordId (string) Inputs: domain, recordId, sessionKey |
getDomainAuditTrail | Get the audit trail (history of all changes) for a specific domain. Requires authentication. Required: domain (string) Inputs: domain, sessionKey |
getDomainExtensions | Get all available domain extensions (TLDs) with pricing information. No authentication required. |
getDomainInfo | Get detailed information about a domain including expiration date, nameservers, and status. Required: domain (e.g., 'example.com') Inputs: domain, sessionKey |
getDomainPricing | Get pricing for domain extensions from the product catalog. Requires authentication. Optional: extension (e.g., 'com', 'net', 'org') to filter results Inputs: extension, sessionKey |
getHostingBundle | Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and app/site deployment (builds are free; going live runs on a VPS). No authentication required. Call th Inputs: domain |
getHostsForDomain, getInvoiceDetails, getInvoiceStatistics, getMailDnsRecords, getMailboxQuote, getMailboxUsage, getMyAuditLogs, getMyProfile, getPaymentTransactions, getProductCatalog, getRecentActivity, getTransferQuote, getTransferStatus, getVpsInstanceDetails, getVpsPackageDetails, initializeDnsZone, initiateTransfer, listCategorizedTlds, listContacts, listDnsRecords, listInvoices, listMailDomains, listMailPlans, listMailboxes, listMySshKeys, listMyVpsInstances, listPendingTransfers, listUserDomains, listVpsLocations, listVpsOsTemplates, listVpsPackages, lockDomain, loginToVpsPanel, loginWithDevice, logout, orderVps, osirAppCreateUpload, osirAppDelete, osirAppDeploy, osirAppGetSource, osirAppList, osirAppLogs, osirAppMoveToOwned, osirAppProvisionDatabase, osirAppSetSecret, osirAppStatus, osirSiteDesignBrief, osirSitePublish, payInvoice, previewPaymentFees, registerDomain, renewDomain, setMailboxPassword, spinDomainWords, suggestAlternatives, transferDomain, unlockDomain, updateContact, updateDnsRecord, updateDomainAutoRenew, updateDomainPrivacy, updateNameservers, validateDomainName, verifyAccount, verifyMailDns
Every block below points at https://be.osir.com/mcp/http. Pick your client and copy.
claude mcp add --transport http osir-domain-registrar https://be.osir.com/mcp/http
{
"mcpServers": {
"osir-domain-registrar": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://be.osir.com/mcp/http"]
}
}
}{
"mcpServers": {
"osir-domain-registrar": {
"url": "https://be.osir.com/mcp/http"
}
}
}{
"servers": {
"osir-domain-registrar": {
"type": "http",
"url": "https://be.osir.com/mcp/http"
}
}
}{
"context_servers": {
"osir-domain-registrar": {
"url": "https://be.osir.com/mcp/http"
}
}
}{
"mcpServers": {
"osir-domain-registrar": {
"serverUrl": "https://be.osir.com/mcp/http"
}
}
}{
"mcpServers": {
"osir-domain-registrar": {
"url": "https://be.osir.com/mcp/http"
}
}
}name: OSIR Domain Registrar
version: 0.0.1
schema: v1
mcpServers:
- name: OSIR Domain Registrar
type: streamable-http
url: https://be.osir.com/mcp/http{
"mcpServers": {
"osir-domain-registrar": {
"httpUrl": "https://be.osir.com/mcp/http"
}
}
}{
"mcpServers": {
"osir-domain-registrar": {
"type": "http",
"url": "https://be.osir.com/mcp/http"
}
}
}{
"mcpServers": {
"osir-domain-registrar": {
"url": "https://be.osir.com/mcp/http"
}
}
}goose://extension?url=https%3A%2F%2Fbe.osir.com%2Fmcp%2Fhttp&type=streamable_http&id=osir-domain-registrar&name=OSIR%20Domain%20Registrar
It answered our last check on 19 October 2026 in 576 ms. Over 11 checks since 2 September 2026 it answered 11. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by osir.com and served from be.osir.com, the vendor's own domain: https://be.osir.com/mcp/http.
105, as returned by the server's own tools/list on 2 September 2026: addPrefixToDomain, addSshKey, addSuffixToDomain, buildVpsInstance, bulkDomainSuggestions, cancelTransfer, changeVpsPaymentTerm, checkDeviceLoginStatus, and 97 more.
It answered our last check on 19 October 2026 in 576 ms. Over 11 checks since 2 September 2026 it answered 11.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://be.osir.com/mcp/http. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.osir. Endpoint host: be.osir.com. ARD identifier: urn:air:com.osir:mcp:domain-registrar.
First indexed 2 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.