{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rba54qnex5yw","handle":"osir-domain-registrar","url":"https://wellknown.network/agents/osir-domain-registrar","links":{"self":"https://wellknown.network/agents/osir-domain-registrar/record.json","html":"https://wellknown.network/agents/osir-domain-registrar","markdown":"https://wellknown.network/agents/osir-domain-registrar/record.md","api":"https://wellknown.network/api/v1/agents/osir-domain-registrar","status":"https://wellknown.network/api/v1/agents/osir-domain-registrar/status","claim":"https://wellknown.network/agents/osir-domain-registrar/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/osir-domain-registrar/claim.json","badge":"https://wellknown.network/agents/osir-domain-registrar/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/osir-domain-registrar/history","tools":"https://wellknown.network/api/v1/agents/osir-domain-registrar/tools"},"ard":{"identifier":"urn:air:be.osir.com:server:osir-domain-registrar","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"OSIR Domain Registrar","summary":"Register, renew, transfer, and manage domains, DNS, VPS, and email with 105 tools. By OSIR.","description":"Register, renew, transfer, and manage domains, DNS, VPS, and email with 105 tools. By OSIR.","publisher":{"name":"com.osir","url":null},"homepage":"https://osir.com/en/mcp/","repository":"https://github.com/Osir-Inc/mcp-a2a","version":"2.4.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://be.osir.com/mcp/http","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-23T09:44:08.468209Z","publishedAt":"2026-09-23T09:44:08.468209Z","registryName":"com.osir/domain-registrar"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":1,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.992,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.992,"provenance":"derived"},{"slug":"productivity.email","name":"Email","confidence":0.859,"provenance":"derived"},{"slug":"finance.banking","name":"Banking","confidence":0.583,"provenance":"derived"}],"categories":["commerce","data","documents","finance","productivity","security"],"language":"en"},"observed":{"status":"recently_observed","statusReason":"Responded 2d ago; 3 recent checks failed (latest 10h ago).","lastOkAt":"2026-10-08T08:29:26.026Z","lastProbedAt":"2026-10-10T02:31:21.180Z","statusComputedAt":"2026-10-10T02:32:07.476Z","reliability30d":{"probes":107,"successRate":0.972,"p50Ms":110,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":106,"ok":103,"authBoundaryOk":0,"serviceOk":103,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T02:31:21.180Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-10-09T04:29:34.392Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-10-08T15:24:06.874Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-10-08T08:29:26.026Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":110,"error":null,"detail":{"tools":[{"name":"addPrefixToDomain","description":"addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name."},{"name":"addSshKey","description":"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 "},{"name":"addSuffixToDomain","description":"addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name."},{"name":"buildVpsInstance","description":"buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica"},{"name":"bulkDomainSuggestions","description":"bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori"},{"name":"cancelTransfer","description":"cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese"},{"name":"changeVpsPaymentTerm","description":"changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac"},{"name":"checkDeviceLoginStatus","description":"checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d"},{"name":"checkDomainAvailability","description":"checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe"},{"name":"checkHostAvailability","description":"checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr"},{"name":"checkKeywordAvailability","description":"checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm"},{"name":"checkKeywordAvailabilitySummary","description":"checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor"},{"name":"countMyVpsInstances","description":"countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication."},{"name":"createAccount","description":"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"},{"name":"createContact","description":"createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d"},{"name":"createDnsRecord","description":"createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R"},{"name":"createHost","description":"createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail"},{"name":"createMailbox","description":"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"},{"name":"createPaymentSession","description":"createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to "},{"name":"deleteContact","description":"deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese"},{"name":"deleteDnsRecord","description":"deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t"},{"name":"deleteHost","description":"deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary "},{"name":"deleteMailbox","description":"deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication"},{"name":"deleteSshKey","description":"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"},{"name":"deleteVpsInstance","description":"deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar"},{"name":"enableMailDomain","description":"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"},{"name":"executeConfirmedAction","description":"executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec"},{"name":"fundBalanceWithSharedPaymentToken","description":"fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase"},{"name":"generateDomainSuggestions","description":"generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl"},{"name":"getAccountBalance","description":"getAccountBalance: Get the current account balance for the authenticated user. Requires authentication."},{"name":"getAccountSummary","description":"getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication."},{"name":"getAuthStatus","description":"getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta"},{"name":"getContact","description":"getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz"},{"name":"getContactsForDomain","description":"getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro"},{"name":"getDedicatedServerCatalog","description":"getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required."},{"name":"getDnsRecord","description":"getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten"},{"name":"getDomainAuditTrail","description":"getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication."},{"name":"getDomainExtensions","description":"getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required."},{"name":"getDomainInfo","description":"getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi"},{"name":"getDomainPricing","description":"getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication."},{"name":"getHostingBundle","description":"getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap"},{"name":"getHostsForDomain","description":"getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses."},{"name":"getInvoiceDetails","description":"getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication."},{"name":"getInvoiceStatistics","description":"getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication."},{"name":"getMailDnsRecords","description":"getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication."},{"name":"getMailboxQuote","description":"getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication."},{"name":"getMailboxUsage","description":"getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication."},{"name":"getMyAuditLogs","description":"getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication."},{"name":"getMyProfile","description":"getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent"},{"name":"getPaymentTransactions","description":"getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication."},{"name":"getProductCatalog","description":"getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required."},{"name":"getRecentActivity","description":"getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication."},{"name":"getTransferQuote","description":"getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. "},{"name":"getTransferStatus","description":"getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet"},{"name":"getVpsInstanceDetails","description":"getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication."},{"name":"getVpsPackageDetails","description":"getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis"},{"name":"initializeDnsZone","description":"initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex"},{"name":"initiateTransfer","description":"initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr"},{"name":"listCategorizedTlds","description":"listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10"},{"name":"listContacts","description":"listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for "},{"name":"listDnsRecords","description":"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"},{"name":"listInvoices","description":"listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication."},{"name":"listMailDomains","description":"listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication."},{"name":"listMailPlans","description":"listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,"},{"name":"listMailboxes","description":"listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication."},{"name":"listMySshKeys","description":"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"},{"name":"listMyVpsInstances","description":"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"},{"name":"listPendingTransfers","description":"listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren"},{"name":"listUserDomains","description":"listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first."},{"name":"listVpsLocations","description":"listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required."},{"name":"listVpsOsTemplates","description":"listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f"},{"name":"listVpsPackages","description":"listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required."},{"name":"lockDomain","description":"lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers."},{"name":"loginToVpsPanel","description":"loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication."},{"name":"loginWithDevice","description":"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"},{"name":"logout","description":"logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv"},{"name":"orderVps","description":"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 "},{"name":"osirAppCreateUpload","description":"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"},{"name":"osirAppDelete","description":"osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar"},{"name":"osirAppDeploy","description":"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 "},{"name":"osirAppDeployToVps","description":"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"},{"name":"osirAppGetSource","description":"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"},{"name":"osirAppList","description":"osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication."},{"name":"osirAppLogs","description":"osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication."},{"name":"osirAppProvisionDatabase","description":"osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in"},{"name":"osirAppSetSecret","description":"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"},{"name":"osirAppStatus","description":"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 "},{"name":"osirSiteDesignBrief","description":"osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO"},{"name":"osirSitePublish","description":"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"},{"name":"payInvoice","description":"payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca"},{"name":"previewPaymentFees","description":"previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication."},{"name":"registerDomain","description":"registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou"},{"name":"renewDomain","description":"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"},{"name":"setMailboxPassword","description":"setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication."},{"name":"spinDomainWords","description":"spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives."},{"name":"suggestAlternatives","description":"suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions."},{"name":"transferDomain","description":"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"},{"name":"unlockDomain","description":"unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t"},{"name":"updateContact","description":"updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val"},{"name":"updateDnsRecord","description":"updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get "}],"toolCount":106,"toolsHash":"cacffd9aee6d9d0e57097d63837de594cb85d213a764d1d9aba5002a09eb2bcb","serverName":"OSIR","capabilities":["resources","logging","tools","prompts"],"serverVersion":"2.4.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T02:21:20.362Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":111,"error":null,"detail":{"tools":[{"name":"addPrefixToDomain","description":"addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name."},{"name":"addSshKey","description":"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 "},{"name":"addSuffixToDomain","description":"addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name."},{"name":"buildVpsInstance","description":"buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica"},{"name":"bulkDomainSuggestions","description":"bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori"},{"name":"cancelTransfer","description":"cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese"},{"name":"changeVpsPaymentTerm","description":"changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac"},{"name":"checkDeviceLoginStatus","description":"checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d"},{"name":"checkDomainAvailability","description":"checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe"},{"name":"checkHostAvailability","description":"checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr"},{"name":"checkKeywordAvailability","description":"checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm"},{"name":"checkKeywordAvailabilitySummary","description":"checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor"},{"name":"countMyVpsInstances","description":"countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication."},{"name":"createAccount","description":"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"},{"name":"createContact","description":"createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d"},{"name":"createDnsRecord","description":"createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R"},{"name":"createHost","description":"createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail"},{"name":"createMailbox","description":"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"},{"name":"createPaymentSession","description":"createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to "},{"name":"deleteContact","description":"deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese"},{"name":"deleteDnsRecord","description":"deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t"},{"name":"deleteHost","description":"deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary "},{"name":"deleteMailbox","description":"deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication"},{"name":"deleteSshKey","description":"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"},{"name":"deleteVpsInstance","description":"deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar"},{"name":"enableMailDomain","description":"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"},{"name":"executeConfirmedAction","description":"executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec"},{"name":"fundBalanceWithSharedPaymentToken","description":"fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase"},{"name":"generateDomainSuggestions","description":"generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl"},{"name":"getAccountBalance","description":"getAccountBalance: Get the current account balance for the authenticated user. Requires authentication."},{"name":"getAccountSummary","description":"getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication."},{"name":"getAuthStatus","description":"getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta"},{"name":"getContact","description":"getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz"},{"name":"getContactsForDomain","description":"getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro"},{"name":"getDedicatedServerCatalog","description":"getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required."},{"name":"getDnsRecord","description":"getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten"},{"name":"getDomainAuditTrail","description":"getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication."},{"name":"getDomainExtensions","description":"getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required."},{"name":"getDomainInfo","description":"getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi"},{"name":"getDomainPricing","description":"getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication."},{"name":"getHostingBundle","description":"getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap"},{"name":"getHostsForDomain","description":"getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses."},{"name":"getInvoiceDetails","description":"getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication."},{"name":"getInvoiceStatistics","description":"getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication."},{"name":"getMailDnsRecords","description":"getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication."},{"name":"getMailboxQuote","description":"getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication."},{"name":"getMailboxUsage","description":"getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication."},{"name":"getMyAuditLogs","description":"getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication."},{"name":"getMyProfile","description":"getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent"},{"name":"getPaymentTransactions","description":"getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication."},{"name":"getProductCatalog","description":"getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required."},{"name":"getRecentActivity","description":"getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication."},{"name":"getTransferQuote","description":"getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. "},{"name":"getTransferStatus","description":"getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet"},{"name":"getVpsInstanceDetails","description":"getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication."},{"name":"getVpsPackageDetails","description":"getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis"},{"name":"initializeDnsZone","description":"initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex"},{"name":"initiateTransfer","description":"initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr"},{"name":"listCategorizedTlds","description":"listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10"},{"name":"listContacts","description":"listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for "},{"name":"listDnsRecords","description":"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"},{"name":"listInvoices","description":"listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication."},{"name":"listMailDomains","description":"listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication."},{"name":"listMailPlans","description":"listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,"},{"name":"listMailboxes","description":"listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication."},{"name":"listMySshKeys","description":"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"},{"name":"listMyVpsInstances","description":"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"},{"name":"listPendingTransfers","description":"listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren"},{"name":"listUserDomains","description":"listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first."},{"name":"listVpsLocations","description":"listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required."},{"name":"listVpsOsTemplates","description":"listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f"},{"name":"listVpsPackages","description":"listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required."},{"name":"lockDomain","description":"lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers."},{"name":"loginToVpsPanel","description":"loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication."},{"name":"loginWithDevice","description":"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"},{"name":"logout","description":"logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv"},{"name":"orderVps","description":"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 "},{"name":"osirAppCreateUpload","description":"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"},{"name":"osirAppDelete","description":"osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar"},{"name":"osirAppDeploy","description":"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 "},{"name":"osirAppDeployToVps","description":"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"},{"name":"osirAppGetSource","description":"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"},{"name":"osirAppList","description":"osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication."},{"name":"osirAppLogs","description":"osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication."},{"name":"osirAppProvisionDatabase","description":"osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in"},{"name":"osirAppSetSecret","description":"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"},{"name":"osirAppStatus","description":"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 "},{"name":"osirSiteDesignBrief","description":"osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO"},{"name":"osirSitePublish","description":"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"},{"name":"payInvoice","description":"payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca"},{"name":"previewPaymentFees","description":"previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication."},{"name":"registerDomain","description":"registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou"},{"name":"renewDomain","description":"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"},{"name":"setMailboxPassword","description":"setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication."},{"name":"spinDomainWords","description":"spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives."},{"name":"suggestAlternatives","description":"suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions."},{"name":"transferDomain","description":"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"},{"name":"unlockDomain","description":"unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t"},{"name":"updateContact","description":"updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val"},{"name":"updateDnsRecord","description":"updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get "}],"toolCount":106,"toolsHash":"cacffd9aee6d9d0e57097d63837de594cb85d213a764d1d9aba5002a09eb2bcb","serverName":"OSIR","capabilities":["resources","logging","tools","prompts"],"serverVersion":"2.4.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T19:24:06.372Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":107,"error":null,"detail":{"tools":[{"name":"addPrefixToDomain","description":"addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name."},{"name":"addSshKey","description":"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 "},{"name":"addSuffixToDomain","description":"addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name."},{"name":"buildVpsInstance","description":"buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica"},{"name":"bulkDomainSuggestions","description":"bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori"},{"name":"cancelTransfer","description":"cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese"},{"name":"changeVpsPaymentTerm","description":"changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac"},{"name":"checkDeviceLoginStatus","description":"checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d"},{"name":"checkDomainAvailability","description":"checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe"},{"name":"checkHostAvailability","description":"checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr"},{"name":"checkKeywordAvailability","description":"checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm"},{"name":"checkKeywordAvailabilitySummary","description":"checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor"},{"name":"countMyVpsInstances","description":"countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication."},{"name":"createAccount","description":"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"},{"name":"createContact","description":"createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d"},{"name":"createDnsRecord","description":"createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R"},{"name":"createHost","description":"createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail"},{"name":"createMailbox","description":"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"},{"name":"createPaymentSession","description":"createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to "},{"name":"deleteContact","description":"deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese"},{"name":"deleteDnsRecord","description":"deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t"},{"name":"deleteHost","description":"deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary "},{"name":"deleteMailbox","description":"deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication"},{"name":"deleteSshKey","description":"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"},{"name":"deleteVpsInstance","description":"deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar"},{"name":"enableMailDomain","description":"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"},{"name":"executeConfirmedAction","description":"executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec"},{"name":"fundBalanceWithSharedPaymentToken","description":"fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase"},{"name":"generateDomainSuggestions","description":"generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl"},{"name":"getAccountBalance","description":"getAccountBalance: Get the current account balance for the authenticated user. Requires authentication."},{"name":"getAccountSummary","description":"getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication."},{"name":"getAuthStatus","description":"getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta"},{"name":"getContact","description":"getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz"},{"name":"getContactsForDomain","description":"getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro"},{"name":"getDedicatedServerCatalog","description":"getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required."},{"name":"getDnsRecord","description":"getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten"},{"name":"getDomainAuditTrail","description":"getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication."},{"name":"getDomainExtensions","description":"getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required."},{"name":"getDomainInfo","description":"getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi"},{"name":"getDomainPricing","description":"getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication."},{"name":"getHostingBundle","description":"getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap"},{"name":"getHostsForDomain","description":"getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses."},{"name":"getInvoiceDetails","description":"getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication."},{"name":"getInvoiceStatistics","description":"getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication."},{"name":"getMailDnsRecords","description":"getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication."},{"name":"getMailboxQuote","description":"getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication."},{"name":"getMailboxUsage","description":"getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication."},{"name":"getMyAuditLogs","description":"getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication."},{"name":"getMyProfile","description":"getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent"},{"name":"getPaymentTransactions","description":"getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication."},{"name":"getProductCatalog","description":"getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required."},{"name":"getRecentActivity","description":"getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication."},{"name":"getTransferQuote","description":"getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. "},{"name":"getTransferStatus","description":"getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet"},{"name":"getVpsInstanceDetails","description":"getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication."},{"name":"getVpsPackageDetails","description":"getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis"},{"name":"initializeDnsZone","description":"initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex"},{"name":"initiateTransfer","description":"initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr"},{"name":"listCategorizedTlds","description":"listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10"},{"name":"listContacts","description":"listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for "},{"name":"listDnsRecords","description":"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"},{"name":"listInvoices","description":"listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication."},{"name":"listMailDomains","description":"listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication."},{"name":"listMailPlans","description":"listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,"},{"name":"listMailboxes","description":"listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication."},{"name":"listMySshKeys","description":"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"},{"name":"listMyVpsInstances","description":"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"},{"name":"listPendingTransfers","description":"listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren"},{"name":"listUserDomains","description":"listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first."},{"name":"listVpsLocations","description":"listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required."},{"name":"listVpsOsTemplates","description":"listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f"},{"name":"listVpsPackages","description":"listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required."},{"name":"lockDomain","description":"lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers."},{"name":"loginToVpsPanel","description":"loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication."},{"name":"loginWithDevice","description":"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"},{"name":"logout","description":"logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv"},{"name":"orderVps","description":"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 "},{"name":"osirAppCreateUpload","description":"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"},{"name":"osirAppDelete","description":"osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar"},{"name":"osirAppDeploy","description":"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 "},{"name":"osirAppDeployToVps","description":"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"},{"name":"osirAppGetSource","description":"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"},{"name":"osirAppList","description":"osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication."},{"name":"osirAppLogs","description":"osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication."},{"name":"osirAppProvisionDatabase","description":"osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in"},{"name":"osirAppSetSecret","description":"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"},{"name":"osirAppStatus","description":"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 "},{"name":"osirSiteDesignBrief","description":"osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO"},{"name":"osirSitePublish","description":"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"},{"name":"payInvoice","description":"payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca"},{"name":"previewPaymentFees","description":"previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication."},{"name":"registerDomain","description":"registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou"},{"name":"renewDomain","description":"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"},{"name":"setMailboxPassword","description":"setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication."},{"name":"spinDomainWords","description":"spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives."},{"name":"suggestAlternatives","description":"suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions."},{"name":"transferDomain","description":"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"},{"name":"unlockDomain","description":"unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t"},{"name":"updateContact","description":"updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val"},{"name":"updateDnsRecord","description":"updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get "}],"toolCount":106,"toolsHash":"cacffd9aee6d9d0e57097d63837de594cb85d213a764d1d9aba5002a09eb2bcb","serverName":"OSIR","capabilities":["resources","logging","tools","prompts"],"serverVersion":"2.4.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T12:31:57.946Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":108,"error":null,"detail":{"tools":[{"name":"addPrefixToDomain","description":"addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name."},{"name":"addSshKey","description":"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 "},{"name":"addSuffixToDomain","description":"addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name."},{"name":"buildVpsInstance","description":"buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica"},{"name":"bulkDomainSuggestions","description":"bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori"},{"name":"cancelTransfer","description":"cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese"},{"name":"changeVpsPaymentTerm","description":"changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac"},{"name":"checkDeviceLoginStatus","description":"checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d"},{"name":"checkDomainAvailability","description":"checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe"},{"name":"checkHostAvailability","description":"checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr"},{"name":"checkKeywordAvailability","description":"checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm"},{"name":"checkKeywordAvailabilitySummary","description":"checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor"},{"name":"countMyVpsInstances","description":"countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication."},{"name":"createAccount","description":"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"},{"name":"createContact","description":"createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d"},{"name":"createDnsRecord","description":"createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R"},{"name":"createHost","description":"createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail"},{"name":"createMailbox","description":"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"},{"name":"createPaymentSession","description":"createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to "},{"name":"deleteContact","description":"deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese"},{"name":"deleteDnsRecord","description":"deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t"},{"name":"deleteHost","description":"deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary "},{"name":"deleteMailbox","description":"deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication"},{"name":"deleteSshKey","description":"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"},{"name":"deleteVpsInstance","description":"deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar"},{"name":"enableMailDomain","description":"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"},{"name":"executeConfirmedAction","description":"executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec"},{"name":"fundBalanceWithSharedPaymentToken","description":"fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase"},{"name":"generateDomainSuggestions","description":"generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl"},{"name":"getAccountBalance","description":"getAccountBalance: Get the current account balance for the authenticated user. Requires authentication."},{"name":"getAccountSummary","description":"getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication."},{"name":"getAuthStatus","description":"getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta"},{"name":"getContact","description":"getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz"},{"name":"getContactsForDomain","description":"getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro"},{"name":"getDedicatedServerCatalog","description":"getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required."},{"name":"getDnsRecord","description":"getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten"},{"name":"getDomainAuditTrail","description":"getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication."},{"name":"getDomainExtensions","description":"getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required."},{"name":"getDomainInfo","description":"getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi"},{"name":"getDomainPricing","description":"getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication."},{"name":"getHostingBundle","description":"getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap"},{"name":"getHostsForDomain","description":"getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses."},{"name":"getInvoiceDetails","description":"getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication."},{"name":"getInvoiceStatistics","description":"getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication."},{"name":"getMailDnsRecords","description":"getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication."},{"name":"getMailboxQuote","description":"getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication."},{"name":"getMailboxUsage","description":"getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication."},{"name":"getMyAuditLogs","description":"getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication."},{"name":"getMyProfile","description":"getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent"},{"name":"getPaymentTransactions","description":"getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication."},{"name":"getProductCatalog","description":"getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required."},{"name":"getRecentActivity","description":"getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication."},{"name":"getTransferQuote","description":"getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. "},{"name":"getTransferStatus","description":"getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet"},{"name":"getVpsInstanceDetails","description":"getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication."},{"name":"getVpsPackageDetails","description":"getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis"},{"name":"initializeDnsZone","description":"initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex"},{"name":"initiateTransfer","description":"initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr"},{"name":"listCategorizedTlds","description":"listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10"},{"name":"listContacts","description":"listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for "},{"name":"listDnsRecords","description":"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"},{"name":"listInvoices","description":"listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication."},{"name":"listMailDomains","description":"listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication."},{"name":"listMailPlans","description":"listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,"},{"name":"listMailboxes","description":"listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication."},{"name":"listMySshKeys","description":"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"},{"name":"listMyVpsInstances","description":"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"},{"name":"listPendingTransfers","description":"listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren"},{"name":"listUserDomains","description":"listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first."},{"name":"listVpsLocations","description":"listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required."},{"name":"listVpsOsTemplates","description":"listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f"},{"name":"listVpsPackages","description":"listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required."},{"name":"lockDomain","description":"lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers."},{"name":"loginToVpsPanel","description":"loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication."},{"name":"loginWithDevice","description":"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"},{"name":"logout","description":"logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv"},{"name":"orderVps","description":"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 "},{"name":"osirAppCreateUpload","description":"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"},{"name":"osirAppDelete","description":"osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar"},{"name":"osirAppDeploy","description":"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 "},{"name":"osirAppDeployToVps","description":"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"},{"name":"osirAppGetSource","description":"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"},{"name":"osirAppList","description":"osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication."},{"name":"osirAppLogs","description":"osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication."},{"name":"osirAppProvisionDatabase","description":"osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in"},{"name":"osirAppSetSecret","description":"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"},{"name":"osirAppStatus","description":"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 "},{"name":"osirSiteDesignBrief","description":"osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO"},{"name":"osirSitePublish","description":"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"},{"name":"payInvoice","description":"payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca"},{"name":"previewPaymentFees","description":"previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication."},{"name":"registerDomain","description":"registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou"},{"name":"renewDomain","description":"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"},{"name":"setMailboxPassword","description":"setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication."},{"name":"spinDomainWords","description":"spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives."},{"name":"suggestAlternatives","description":"suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions."},{"name":"transferDomain","description":"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"},{"name":"unlockDomain","description":"unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t"},{"name":"updateContact","description":"updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val"},{"name":"updateDnsRecord","description":"updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get "}],"toolCount":106,"toolsHash":"cacffd9aee6d9d0e57097d63837de594cb85d213a764d1d9aba5002a09eb2bcb","serverName":"OSIR","capabilities":["resources","logging","tools","prompts"],"serverVersion":"2.4.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T06:29:38.889Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":110,"error":null,"detail":{"tools":[{"name":"addPrefixToDomain","description":"addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name."},{"name":"addSshKey","description":"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 "},{"name":"addSuffixToDomain","description":"addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name."},{"name":"buildVpsInstance","description":"buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica"},{"name":"bulkDomainSuggestions","description":"bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori"},{"name":"cancelTransfer","description":"cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese"},{"name":"changeVpsPaymentTerm","description":"changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac"},{"name":"checkDeviceLoginStatus","description":"checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d"},{"name":"checkDomainAvailability","description":"checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe"},{"name":"checkHostAvailability","description":"checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr"},{"name":"checkKeywordAvailability","description":"checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm"},{"name":"checkKeywordAvailabilitySummary","description":"checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor"},{"name":"countMyVpsInstances","description":"countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication."},{"name":"createAccount","description":"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"},{"name":"createContact","description":"createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d"},{"name":"createDnsRecord","description":"createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R"},{"name":"createHost","description":"createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail"},{"name":"createMailbox","description":"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"},{"name":"createPaymentSession","description":"createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to "},{"name":"deleteContact","description":"deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese"},{"name":"deleteDnsRecord","description":"deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t"},{"name":"deleteHost","description":"deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary "},{"name":"deleteMailbox","description":"deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication"},{"name":"deleteSshKey","description":"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"},{"name":"deleteVpsInstance","description":"deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar"},{"name":"enableMailDomain","description":"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"},{"name":"executeConfirmedAction","description":"executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec"},{"name":"fundBalanceWithSharedPaymentToken","description":"fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase"},{"name":"generateDomainSuggestions","description":"generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl"},{"name":"getAccountBalance","description":"getAccountBalance: Get the current account balance for the authenticated user. Requires authentication."},{"name":"getAccountSummary","description":"getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication."},{"name":"getAuthStatus","description":"getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta"},{"name":"getContact","description":"getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz"},{"name":"getContactsForDomain","description":"getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro"},{"name":"getDedicatedServerCatalog","description":"getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required."},{"name":"getDnsRecord","description":"getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten"},{"name":"getDomainAuditTrail","description":"getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication."},{"name":"getDomainExtensions","description":"getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required."},{"name":"getDomainInfo","description":"getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi"},{"name":"getDomainPricing","description":"getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication."},{"name":"getHostingBundle","description":"getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap"},{"name":"getHostsForDomain","description":"getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses."},{"name":"getInvoiceDetails","description":"getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication."},{"name":"getInvoiceStatistics","description":"getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication."},{"name":"getMailDnsRecords","description":"getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication."},{"name":"getMailboxQuote","description":"getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication."},{"name":"getMailboxUsage","description":"getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication."},{"name":"getMyAuditLogs","description":"getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication."},{"name":"getMyProfile","description":"getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent"},{"name":"getPaymentTransactions","description":"getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication."},{"name":"getProductCatalog","description":"getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required."},{"name":"getRecentActivity","description":"getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication."},{"name":"getTransferQuote","description":"getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. "},{"name":"getTransferStatus","description":"getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet"},{"name":"getVpsInstanceDetails","description":"getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication."},{"name":"getVpsPackageDetails","description":"getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis"},{"name":"initializeDnsZone","description":"initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex"},{"name":"initiateTransfer","description":"initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr"},{"name":"listCategorizedTlds","description":"listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10"},{"name":"listContacts","description":"listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for "},{"name":"listDnsRecords","description":"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"},{"name":"listInvoices","description":"listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication."},{"name":"listMailDomains","description":"listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication."},{"name":"listMailPlans","description":"listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,"},{"name":"listMailboxes","description":"listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication."},{"name":"listMySshKeys","description":"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"},{"name":"listMyVpsInstances","description":"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"},{"name":"listPendingTransfers","description":"listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren"},{"name":"listUserDomains","description":"listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first."},{"name":"listVpsLocations","description":"listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required."},{"name":"listVpsOsTemplates","description":"listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f"},{"name":"listVpsPackages","description":"listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required."},{"name":"lockDomain","description":"lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers."},{"name":"loginToVpsPanel","description":"loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication."},{"name":"loginWithDevice","description":"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"},{"name":"logout","description":"logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv"},{"name":"orderVps","description":"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 "},{"name":"osirAppCreateUpload","description":"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"},{"name":"osirAppDelete","description":"osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar"},{"name":"osirAppDeploy","description":"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 "},{"name":"osirAppDeployToVps","description":"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"},{"name":"osirAppGetSource","description":"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"},{"name":"osirAppList","description":"osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication."},{"name":"osirAppLogs","description":"osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication."},{"name":"osirAppProvisionDatabase","description":"osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in"},{"name":"osirAppSetSecret","description":"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"},{"name":"osirAppStatus","description":"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 "},{"name":"osirSiteDesignBrief","description":"osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO"},{"name":"osirSitePublish","description":"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"},{"name":"payInvoice","description":"payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca"},{"name":"previewPaymentFees","description":"previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication."},{"name":"registerDomain","description":"registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou"},{"name":"renewDomain","description":"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"},{"name":"setMailboxPassword","description":"setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication."},{"name":"spinDomainWords","description":"spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives."},{"name":"suggestAlternatives","description":"suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions."},{"name":"transferDomain","description":"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"},{"name":"unlockDomain","description":"unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t"},{"name":"updateContact","description":"updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val"},{"name":"updateDnsRecord","description":"updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get "}],"toolCount":106,"toolsHash":"cacffd9aee6d9d0e57097d63837de594cb85d213a764d1d9aba5002a09eb2bcb","serverName":"OSIR","capabilities":["resources","logging","tools","prompts"],"serverVersion":"2.4.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-06T23:28:29.101Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":107,"error":null,"detail":{"tools":[{"name":"addPrefixToDomain","description":"addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name."},{"name":"addSshKey","description":"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 "},{"name":"addSuffixToDomain","description":"addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name."},{"name":"buildVpsInstance","description":"buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica"},{"name":"bulkDomainSuggestions","description":"bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori"},{"name":"cancelTransfer","description":"cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese"},{"name":"changeVpsPaymentTerm","description":"changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac"},{"name":"checkDeviceLoginStatus","description":"checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d"},{"name":"checkDomainAvailability","description":"checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe"},{"name":"checkHostAvailability","description":"checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr"},{"name":"checkKeywordAvailability","description":"checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm"},{"name":"checkKeywordAvailabilitySummary","description":"checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor"},{"name":"countMyVpsInstances","description":"countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication."},{"name":"createAccount","description":"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"},{"name":"createContact","description":"createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d"},{"name":"createDnsRecord","description":"createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R"},{"name":"createHost","description":"createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail"},{"name":"createMailbox","description":"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"},{"name":"createPaymentSession","description":"createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to "},{"name":"deleteContact","description":"deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese"},{"name":"deleteDnsRecord","description":"deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t"},{"name":"deleteHost","description":"deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary "},{"name":"deleteMailbox","description":"deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication"},{"name":"deleteSshKey","description":"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"},{"name":"deleteVpsInstance","description":"deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar"},{"name":"enableMailDomain","description":"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"},{"name":"executeConfirmedAction","description":"executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec"},{"name":"fundBalanceWithSharedPaymentToken","description":"fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase"},{"name":"generateDomainSuggestions","description":"generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl"},{"name":"getAccountBalance","description":"getAccountBalance: Get the current account balance for the authenticated user. Requires authentication."},{"name":"getAccountSummary","description":"getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication."},{"name":"getAuthStatus","description":"getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta"},{"name":"getContact","description":"getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz"},{"name":"getContactsForDomain","description":"getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro"},{"name":"getDedicatedServerCatalog","description":"getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required."},{"name":"getDnsRecord","description":"getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten"},{"name":"getDomainAuditTrail","description":"getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication."},{"name":"getDomainExtensions","description":"getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required."},{"name":"getDomainInfo","description":"getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi"},{"name":"getDomainPricing","description":"getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication."},{"name":"getHostingBundle","description":"getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap"},{"name":"getHostsForDomain","description":"getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses."},{"name":"getInvoiceDetails","description":"getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication."},{"name":"getInvoiceStatistics","description":"getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication."},{"name":"getMailDnsRecords","description":"getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication."},{"name":"getMailboxQuote","description":"getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication."},{"name":"getMailboxUsage","description":"getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication."},{"name":"getMyAuditLogs","description":"getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication."},{"name":"getMyProfile","description":"getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent"},{"name":"getPaymentTransactions","description":"getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication."},{"name":"getProductCatalog","description":"getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required."},{"name":"getRecentActivity","description":"getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication."},{"name":"getTransferQuote","description":"getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. "},{"name":"getTransferStatus","description":"getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet"},{"name":"getVpsInstanceDetails","description":"getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication."},{"name":"getVpsPackageDetails","description":"getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis"},{"name":"initializeDnsZone","description":"initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex"},{"name":"initiateTransfer","description":"initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr"},{"name":"listCategorizedTlds","description":"listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10"},{"name":"listContacts","description":"listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for "},{"name":"listDnsRecords","description":"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"},{"name":"listInvoices","description":"listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication."},{"name":"listMailDomains","description":"listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication."},{"name":"listMailPlans","description":"listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,"},{"name":"listMailboxes","description":"listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication."},{"name":"listMySshKeys","description":"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"},{"name":"listMyVpsInstances","description":"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"},{"name":"listPendingTransfers","description":"listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren"},{"name":"listUserDomains","description":"listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first."},{"name":"listVpsLocations","description":"listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required."},{"name":"listVpsOsTemplates","description":"listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f"},{"name":"listVpsPackages","description":"listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required."},{"name":"lockDomain","description":"lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers."},{"name":"loginToVpsPanel","description":"loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication."},{"name":"loginWithDevice","description":"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"},{"name":"logout","description":"logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv"},{"name":"orderVps","description":"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 "},{"name":"osirAppCreateUpload","description":"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"},{"name":"osirAppDelete","description":"osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar"},{"name":"osirAppDeploy","description":"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 "},{"name":"osirAppDeployToVps","description":"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"},{"name":"osirAppGetSource","description":"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"},{"name":"osirAppList","description":"osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication."},{"name":"osirAppLogs","description":"osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication."},{"name":"osirAppProvisionDatabase","description":"osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in"},{"name":"osirAppSetSecret","description":"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"},{"name":"osirAppStatus","description":"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 "},{"name":"osirSiteDesignBrief","description":"osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO"},{"name":"osirSitePublish","description":"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"},{"name":"payInvoice","description":"payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca"},{"name":"previewPaymentFees","description":"previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication."},{"name":"registerDomain","description":"registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou"},{"name":"renewDomain","description":"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"},{"name":"setMailboxPassword","description":"setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication."},{"name":"spinDomainWords","description":"spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives."},{"name":"suggestAlternatives","description":"suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions."},{"name":"transferDomain","description":"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"},{"name":"unlockDomain","description":"unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t"},{"name":"updateContact","description":"updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val"},{"name":"updateDnsRecord","description":"updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get "}],"toolCount":106,"toolsHash":"cacffd9aee6d9d0e57097d63837de594cb85d213a764d1d9aba5002a09eb2bcb","serverName":"OSIR","capabilities":["resources","logging","tools","prompts"],"serverVersion":"2.4.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-06T17:28:03.197Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":108,"error":null,"detail":{"tools":[{"name":"addPrefixToDomain","description":"addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name."},{"name":"addSshKey","description":"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 "},{"name":"addSuffixToDomain","description":"addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name."},{"name":"buildVpsInstance","description":"buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica"},{"name":"bulkDomainSuggestions","description":"bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori"},{"name":"cancelTransfer","description":"cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese"},{"name":"changeVpsPaymentTerm","description":"changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac"},{"name":"checkDeviceLoginStatus","description":"checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d"},{"name":"checkDomainAvailability","description":"checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe"},{"name":"checkHostAvailability","description":"checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr"},{"name":"checkKeywordAvailability","description":"checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm"},{"name":"checkKeywordAvailabilitySummary","description":"checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor"},{"name":"countMyVpsInstances","description":"countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication."},{"name":"createAccount","description":"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"},{"name":"createContact","description":"createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d"},{"name":"createDnsRecord","description":"createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R"},{"name":"createHost","description":"createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail"},{"name":"createMailbox","description":"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"},{"name":"createPaymentSession","description":"createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to "},{"name":"deleteContact","description":"deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese"},{"name":"deleteDnsRecord","description":"deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t"},{"name":"deleteHost","description":"deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary "},{"name":"deleteMailbox","description":"deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication"},{"name":"deleteSshKey","description":"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"},{"name":"deleteVpsInstance","description":"deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar"},{"name":"enableMailDomain","description":"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"},{"name":"executeConfirmedAction","description":"executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec"},{"name":"fundBalanceWithSharedPaymentToken","description":"fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase"},{"name":"generateDomainSuggestions","description":"generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl"},{"name":"getAccountBalance","description":"getAccountBalance: Get the current account balance for the authenticated user. Requires authentication."},{"name":"getAccountSummary","description":"getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication."},{"name":"getAuthStatus","description":"getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta"},{"name":"getContact","description":"getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz"},{"name":"getContactsForDomain","description":"getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro"},{"name":"getDedicatedServerCatalog","description":"getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required."},{"name":"getDnsRecord","description":"getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten"},{"name":"getDomainAuditTrail","description":"getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication."},{"name":"getDomainExtensions","description":"getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required."},{"name":"getDomainInfo","description":"getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi"},{"name":"getDomainPricing","description":"getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication."},{"name":"getHostingBundle","description":"getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap"},{"name":"getHostsForDomain","description":"getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses."},{"name":"getInvoiceDetails","description":"getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication."},{"name":"getInvoiceStatistics","description":"getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication."},{"name":"getMailDnsRecords","description":"getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication."},{"name":"getMailboxQuote","description":"getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication."},{"name":"getMailboxUsage","description":"getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication."},{"name":"getMyAuditLogs","description":"getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication."},{"name":"getMyProfile","description":"getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent"},{"name":"getPaymentTransactions","description":"getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication."},{"name":"getProductCatalog","description":"getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required."},{"name":"getRecentActivity","description":"getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication."},{"name":"getTransferQuote","description":"getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. "},{"name":"getTransferStatus","description":"getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet"},{"name":"getVpsInstanceDetails","description":"getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication."},{"name":"getVpsPackageDetails","description":"getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis"},{"name":"initializeDnsZone","description":"initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex"},{"name":"initiateTransfer","description":"initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr"},{"name":"listCategorizedTlds","description":"listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10"},{"name":"listContacts","description":"listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for "},{"name":"listDnsRecords","description":"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"},{"name":"listInvoices","description":"listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication."},{"name":"listMailDomains","description":"listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication."},{"name":"listMailPlans","description":"listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,"},{"name":"listMailboxes","description":"listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication."},{"name":"listMySshKeys","description":"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"},{"name":"listMyVpsInstances","description":"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"},{"name":"listPendingTransfers","description":"listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren"},{"name":"listUserDomains","description":"listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first."},{"name":"listVpsLocations","description":"listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required."},{"name":"listVpsOsTemplates","description":"listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f"},{"name":"listVpsPackages","description":"listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required."},{"name":"lockDomain","description":"lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers."},{"name":"loginToVpsPanel","description":"loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication."},{"name":"loginWithDevice","description":"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"},{"name":"logout","description":"logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv"},{"name":"orderVps","description":"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 "},{"name":"osirAppCreateUpload","description":"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"},{"name":"osirAppDelete","description":"osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar"},{"name":"osirAppDeploy","description":"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 "},{"name":"osirAppDeployToVps","description":"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"},{"name":"osirAppGetSource","description":"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"},{"name":"osirAppList","description":"osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication."},{"name":"osirAppLogs","description":"osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication."},{"name":"osirAppProvisionDatabase","description":"osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in"},{"name":"osirAppSetSecret","description":"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"},{"name":"osirAppStatus","description":"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 "},{"name":"osirSiteDesignBrief","description":"osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO"},{"name":"osirSitePublish","description":"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"},{"name":"payInvoice","description":"payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca"},{"name":"previewPaymentFees","description":"previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication."},{"name":"registerDomain","description":"registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou"},{"name":"renewDomain","description":"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"},{"name":"setMailboxPassword","description":"setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication."},{"name":"spinDomainWords","description":"spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives."},{"name":"suggestAlternatives","description":"suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions."},{"name":"transferDomain","description":"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"},{"name":"unlockDomain","description":"unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t"},{"name":"updateContact","description":"updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val"},{"name":"updateDnsRecord","description":"updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get "}],"toolCount":106,"toolsHash":"cacffd9aee6d9d0e57097d63837de594cb85d213a764d1d9aba5002a09eb2bcb","serverName":"OSIR","capabilities":["resources","logging","tools","prompts"],"serverVersion":"2.4.1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"addPrefixToDomain","description":"addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name."},{"name":"addSshKey","description":"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 "},{"name":"addSuffixToDomain","description":"addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name."},{"name":"buildVpsInstance","description":"buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed applica"},{"name":"bulkDomainSuggestions","description":"bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategori"},{"name":"cancelTransfer","description":"cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; prese"},{"name":"changeVpsPaymentTerm","description":"changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an ac"},{"name":"checkDeviceLoginStatus","description":"checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: d"},{"name":"checkDomainAvailability","description":"checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authe"},{"name":"checkHostAvailability","description":"checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before cr"},{"name":"checkKeywordAvailability","description":"checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySumm"},{"name":"checkKeywordAvailabilitySummary","description":"checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywor"},{"name":"countMyVpsInstances","description":"countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication."},{"name":"createAccount","description":"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"},{"name":"createContact","description":"createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to d"},{"name":"createDnsRecord","description":"createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. R"},{"name":"createHost","description":"createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvail"},{"name":"createMailbox","description":"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"},{"name":"createPaymentSession","description":"createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to "},{"name":"deleteContact","description":"deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; prese"},{"name":"deleteDnsRecord","description":"deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary t"},{"name":"deleteHost","description":"deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary "},{"name":"deleteMailbox","description":"deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication"},{"name":"deleteSshKey","description":"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"},{"name":"deleteVpsInstance","description":"deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summar"},{"name":"enableMailDomain","description":"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"},{"name":"executeConfirmedAction","description":"executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be exec"},{"name":"fundBalanceWithSharedPaymentToken","description":"fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase"},{"name":"generateDomainSuggestions","description":"generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAl"},{"name":"getAccountBalance","description":"getAccountBalance: Get the current account balance for the authenticated user. Requires authentication."},{"name":"getAccountSummary","description":"getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication."},{"name":"getAuthStatus","description":"getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginSta"},{"name":"getContact","description":"getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organiz"},{"name":"getContactsForDomain","description":"getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each ro"},{"name":"getDedicatedServerCatalog","description":"getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required."},{"name":"getDnsRecord","description":"getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, conten"},{"name":"getDomainAuditTrail","description":"getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication."},{"name":"getDomainExtensions","description":"getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required."},{"name":"getDomainInfo","description":"getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premi"},{"name":"getDomainPricing","description":"getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication."},{"name":"getHostingBundle","description":"getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and ap"},{"name":"getHostsForDomain","description":"getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses."},{"name":"getInvoiceDetails","description":"getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication."},{"name":"getInvoiceStatistics","description":"getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication."},{"name":"getMailDnsRecords","description":"getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication."},{"name":"getMailboxQuote","description":"getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication."},{"name":"getMailboxUsage","description":"getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication."},{"name":"getMyAuditLogs","description":"getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication."},{"name":"getMyProfile","description":"getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authent"},{"name":"getPaymentTransactions","description":"getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication."},{"name":"getProductCatalog","description":"getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required."},{"name":"getRecentActivity","description":"getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication."},{"name":"getTransferQuote","description":"getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. "},{"name":"getTransferStatus","description":"getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected complet"},{"name":"getVpsInstanceDetails","description":"getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication."},{"name":"getVpsPackageDetails","description":"getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use lis"},{"name":"initializeDnsZone","description":"initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-ex"},{"name":"initiateTransfer","description":"initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages tr"},{"name":"listCategorizedTlds","description":"listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10"},{"name":"listContacts","description":"listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for "},{"name":"listDnsRecords","description":"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"},{"name":"listInvoices","description":"listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication."},{"name":"listMailDomains","description":"listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication."},{"name":"listMailPlans","description":"listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here,"},{"name":"listMailboxes","description":"listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication."},{"name":"listMySshKeys","description":"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"},{"name":"listMyVpsInstances","description":"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"},{"name":"listPendingTransfers","description":"listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, curren"},{"name":"listUserDomains","description":"listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first."},{"name":"listVpsLocations","description":"listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required."},{"name":"listVpsOsTemplates","description":"listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId f"},{"name":"listVpsPackages","description":"listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required."},{"name":"lockDomain","description":"lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers."},{"name":"loginToVpsPanel","description":"loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication."},{"name":"loginWithDevice","description":"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"},{"name":"logout","description":"logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conv"},{"name":"orderVps","description":"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 "},{"name":"osirAppCreateUpload","description":"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"},{"name":"osirAppDelete","description":"osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summar"},{"name":"osirAppDeploy","description":"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 "},{"name":"osirAppDeployToVps","description":"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"},{"name":"osirAppGetSource","description":"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"},{"name":"osirAppList","description":"osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication."},{"name":"osirAppLogs","description":"osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication."},{"name":"osirAppProvisionDatabase","description":"osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, in"},{"name":"osirAppSetSecret","description":"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"},{"name":"osirAppStatus","description":"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 "},{"name":"osirSiteDesignBrief","description":"osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YO"},{"name":"osirSitePublish","description":"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"},{"name":"payInvoice","description":"payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then ca"},{"name":"previewPaymentFees","description":"previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication."},{"name":"registerDomain","description":"registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronou"},{"name":"renewDomain","description":"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"},{"name":"setMailboxPassword","description":"setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication."},{"name":"spinDomainWords","description":"spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives."},{"name":"suggestAlternatives","description":"suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions."},{"name":"transferDomain","description":"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"},{"name":"unlockDomain","description":"unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary t"},{"name":"updateContact","description":"updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current val"},{"name":"updateDnsRecord","description":"updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get "}],"package":null,"toolSurface":{"id":"ts_gsk9eczy42yc","endpointId":"ep_urham69zh7ge","hash":"cacffd9aee6d9d0e57097d63837de594cb85d213a764d1d9aba5002a09eb2bcb","toolCount":106,"serverName":"OSIR","serverVersion":"2.4.1","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-01T16:29:24.180Z","lastSeenAt":"2026-10-08T08:29:26.025Z","observations":26,"toolNames":["addPrefixToDomain","addSshKey","addSuffixToDomain","buildVpsInstance","bulkDomainSuggestions","cancelTransfer","changeVpsPaymentTerm","checkDeviceLoginStatus","checkDomainAvailability","checkHostAvailability","checkKeywordAvailability","checkKeywordAvailabilitySummary","countMyVpsInstances","createAccount","createContact","createDnsRecord","createHost","createMailbox","createPaymentSession","deleteContact","deleteDnsRecord","deleteHost","deleteMailbox","deleteSshKey","deleteVpsInstance","enableMailDomain","executeConfirmedAction","fundBalanceWithSharedPaymentToken","generateDomainSuggestions","getAccountBalance","getAccountSummary","getAuthStatus","getContact","getContactsForDomain","getDedicatedServerCatalog","getDnsRecord","getDomainAuditTrail","getDomainExtensions","getDomainInfo","getDomainPricing","getHostingBundle","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","osirAppDeployToVps","osirAppGetSource","osirAppList","osirAppLogs","osirAppProvisionDatabase","osirAppSetSecret","osirAppStatus","osirSiteDesignBrief","osirSitePublish","payInvoice","previewPaymentFees","registerDomain","renewDomain","setMailboxPassword","spinDomainWords","suggestAlternatives","transferDomain","unlockDomain","updateContact","updateDnsRecord","updateDomainAutoRenew","updateDomainPrivacy","updateNameservers","validateDomainName","verifyAccount","verifyMailDns"],"distinctSurfaces":5},"endpointFacts":[{"id":"ep_urham69zh7ge","url":"https://be.osir.com/mcp/http","type":"mcp_streamable_http","factsCheckedAt":"2026-10-04T03:26:40.973Z","auth":{"observedAt":"2026-10-04T03:26:41.285Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-04T03:26:41.497Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"be.osir.com","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-08-15T19:01:03.000Z","validTo":"2026-11-13T19:01:02.000Z","daysToExpiry":34,"sanCount":1,"fingerprint256":"0D:2F:E5:3E:A8:FE:1D:73:07:10:5D:49:85:46:F5:0F:D8:EA:8F:5B:38:F2:31:6D:59:14:29:18:25:72:58:37"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.osir/domain-registrar","url":"https://registry.modelcontextprotocol.io/v0/servers/com.osir%2Fdomain-registrar","firstSeenAt":"2026-09-05T20:18:53.898Z","fetchedAt":"2026-10-09T09:23:04.266Z","normalizedAt":"2026-10-09T09:23:04.266Z"}]},"firstSeenAt":"2026-09-05T20:18:53.898Z","updatedAt":"2026-10-08T08:31:39.555Z"}