AgentXM

OSIR Domain Registrar

mcp remote · streamable-http · v2.4.2 · source: crawl

https://be.osir.com/mcp/http

https://github.com/Osir-Inc/mcp-a2a

Register, renew, transfer, and manage domains, DNS, VPS, and email with 106 tools. By OSIR.

AgentXM badge

Works

100

Verified Oct 31, 2026 · p50 313 ms · p95 341 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server None
tools_listed15pass106 tools
schema_complete15pass106 of 106 tools have a description and a typed schema
latency_p5010passp50 313 ms
latency_p955passp95 341 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (106)

NameDescriptionSchema
checkHostAvailabilitycheckHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before createHost.typed
addPrefixToDomainaddPrefixToDomain: Generate domain suggestions by adding prefixes to a base name.typed
addSshKeyaddSshKey: 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 ityped
addSuffixToDomainaddSuffixToDomain: Generate domain suggestions by adding suffixes to a base name.typed
buildVpsInstancebuildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed application, and cannot be undone. The install typed
bulkDomainSuggestionsbulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategorizedTlds first to pick 3-6 TLDs, then thityped
cancelTransfercancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary to the user, then call extyped
changeVpsPaymentTermchangeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an actionId; present the summary to the user,typed
checkDeviceLoginStatuscheckDeviceLoginStatus: 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 ltyped
checkDomainAvailabilitycheckDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authenticated callers get their account pricityped
checkKeywordAvailabilitycheckKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySummary instead when you only need counts; ityped
checkKeywordAvailabilitySummarycheckKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywordAvailability.typed
countMyVpsInstancescountMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication.typed
createAccountcreateAccount: Create a new OSIR customer account; step 1 of onboarding, no authentication required. The contact must be the PRINCIPAL's real ICANN registrant contact (the human or business the accountyped
createContactcreateContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to domains.typed
createDnsRecordcreateDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. Returns the created record including its typed
createHostcreateHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvailability. Returns the created host recordtyped
createMailboxcreateMailbox: 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 atyped
createPaymentSessioncreatePaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedActityped
deleteContactdeleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; present the summary to the user, then call extyped
deleteDnsRecorddeleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedActyped
deleteHostdeleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAtyped
deleteMailboxdeleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication. Returns an actionId: present the summatyped
deleteSshKeydeleteSshKey: 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 authentication. Returns an actionId; prtyped
deleteVpsInstancedeleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmetyped
enableMailDomainenableMailDomain: 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 record), ask the user for explicit consenttyped
executeConfirmedActionexecuteConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be executed once.typed
getDomainPricinggetDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication.typed
fundBalanceWithSharedPaymentTokenfundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase (registerDomain, renewDomain, transferDtyped
generateDomainSuggestionsgenerateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAlternatives. Returns suggested names withtyped
getAccountBalancegetAccountBalance: Get the current account balance for the authenticated user. Requires authentication.typed
getAccountSummarygetAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication.typed
getAuthStatusgetAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginStatus).typed
getContactgetContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organization, and address.typed
getContactsForDomaingetContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each role.typed
getDedicatedServerCataloggetDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required.typed
getDnsRecordgetDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, content, TTL, and priority.typed
getDomainAuditTrailgetDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication.typed
getDomainExtensionsgetDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required.typed
getDomainInfogetDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premium/expired/redemption info. Dates are nutyped
getHostingBundlegetHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and app/site deployment. No authentication reqtyped
getHostsForDomaingetHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses.typed
getInvoiceDetailsgetInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication.typed
getInvoiceStatisticsgetInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication.typed
getMailDnsRecordsgetMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication.typed
getMailboxQuotegetMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication.typed
getMailboxUsagegetMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication.typed
getMyAuditLogsgetMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication.typed
getMyProfilegetMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authentication.typed
getPaymentTransactionsgetPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication.typed
getProductCataloggetProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required.typed
getRecentActivitygetRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication.typed
getTransferQuotegetTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. Call before initiateTransfer to show thetyped
getTransferStatusgetTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected completion.typed
getVpsInstanceDetailsgetVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication.typed
getVpsPackageDetailsgetVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use listVpsPackages, which already includes pertyped
initializeDnsZoneinitializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-existing domains without a zone (e.g. aftetyped
initiateTransferinitiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages transfer + registrant assignment in one sttyped
listCategorizedTldslistCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10.39'). Use it to pick 3-6 relevant TLDs typed
listContactslistContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for use in getContact, updateContact, deletetyped
listDnsRecordslistDnsRecords: List all DNS records for a domain. Requires authentication. Returns each record with its id, name, type, content, TTL, and priority; use the record id with getDnsRecord, updateDnsRecortyped
listInvoiceslistInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication.typed
listMailDomainslistMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication.typed
listMailPlanslistMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here, never from memory.typed
listMailboxeslistMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication.typed
listMySshKeyslistMySshKeys: 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 the ids to pass to orderVps or buildVpsInstyped
listMyVpsInstanceslistMyVpsInstances: List all VPS instances owned by the authenticated user. An instanceId from this list is what osirAppDeployToVps takes to put an app on a server the user already owns, at no cost. Rtyped
listPendingTransferslistPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, current registrar, and expected completion.typed
listUserDomainslistUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first.typed
listVpsLocationslistVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required.typed
listVpsOsTemplateslistVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId for orderVps, so the server arrives with typed
listVpsPackageslistVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required.typed
lockDomainlockDomain: Enable registrar lock on a domain to prevent unauthorized transfers.typed
loginToVpsPanelloginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication.typed
loginWithDeviceloginWithDevice: Start a device authorization login (RFC 8628). Returns a verificationUri and userCode. Open the URI in your browser, enter the code, and sign in with your OSIR credentials. Then call typed
logoutlogout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conversation session.typed
orderVpsorderVps: 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 afterwards: deploy the app with osirAppDtyped
osirAppCreateUploadosirAppCreateUpload: Create an upload ticket for deploying app source code to Osir. Returns an uploadTicket, a putUrl, and instructions to zip the project and upload it. After uploading, call osirAppDtyped
osirAppDeleteosirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summary to the user, then call executeConfirmetyped
osirAppDeployosirAppDeploy: 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 version) and applies any secrets set viatyped
osirAppDeployToVpsosirAppDeployToVps: 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 provisioning or install script, nginx/systetyped
osirAppGetSourceosirAppGetSource: 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-attaching the project: download, patch the fityped
osirAppListosirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication.typed
osirAppLogsosirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication.typed
osirAppProvisionDatabaseosirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, injected on the next osirAppDeploy) and istyped
osirAppSetSecretosirAppSetSecret: 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 osirAppDeploy of the app; it is NEVER rettyped
osirAppStatusosirAppStatus: 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 can fix the source and redeploy. 'qa' istyped
osirSiteDesignBriefosirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YOU must then follow to write one completetyped
osirSitePublishosirSitePublish: 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 in this chat, or one from the osirSiteDestyped
payInvoicepayInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actiotyped
previewPaymentFeespreviewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication.typed
registerDomainregisterDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronously; if createDnsRecord right after regityped
renewDomainrenewDomain: 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 call executeConfirmedAction with the actyped
setMailboxPasswordsetMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication.typed
spinDomainWordsspinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives.typed
suggestAlternativessuggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions.typed
transferDomaintransferDomain: Stage transfer of a domain from another registrar to OSIR. Deducts from account balance. Returns an actionId: present the summary to the user, then call executeConfirmedAction with thetyped
unlockDomainunlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary to the user, then call executeConfirmedActyped
updateContactupdateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get the contactId from listContactstyped
updateDnsRecordupdateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get the recordId from listDnsRecords. Returntyped
updateDomainAutoRenewupdateDomainAutoRenew: Enable or disable auto-renewal for a domain.typed
updateDomainPrivacyupdateDomainPrivacy: Enable or disable WHOIS privacy protection for a domain.typed
updateNameserversupdateNameservers: Update nameservers for a domain. Replaces the current nameserver set with the given list.typed
validateDomainNamevalidateDomainName: Validate if a domain name format is correct. No authentication required.typed
verifyAccountverifyAccount: Verify a newly created OSIR account with the code from the verification email; step 2 of onboarding, no authentication required. The code is the same token as the email link, so the prityped
verifyMailDnsverifyMailDns: Check that a mail domain's DNS records resolve; activates the domain for email when all records are found. Returns any still-missing records. Requires authentication.typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/com-osir-domain-registrar.svg)](https://app.agent-xm.com/a/com-osir-domain-registrar)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.