Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Domain availability and quotes (demo)
Overview
Description from the maker (original English)
Is a .com/.net/.org name free, and a signed one-year quote. Demo seller, orders refused. Free.
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi0 of 1 passedChecked from public information; code not scanned yet
- UsageiNot measured yet★ –
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs in the cloud
- Transport: Streamable HTTP
- Category: Online shops & payments
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 0 of 1 passed
- Runs on the maker’s server: what you ask it goes through their server.
- The registry lists no key to fill in.
You need
- Runs in the cloudNothing to install; it connects over the internet
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
- Open Settings → Connectors
- Press Add custom connector
- Paste the address below and press Add
- If it asks you to sign in, sign in with the maker
https://modelmarket.dev/tools/mcp/domainsRun this in your terminal
claude mcp add --transport http domains https://modelmarket.dev/tools/mcp/domainsOr copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"domains": {
"url": "https://modelmarket.dev/tools/mcp/domains"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"domains": {
"type": "http",
"url": "https://modelmarket.dev/tools/mcp/domains"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
- Open ChatGPT on the web → Settings → Connectors (Apps)
- Press Create or Add (some plans need Developer mode under Advanced first)
- Paste the address below, give it a name and save
- If it asks you to sign in, sign in with the maker
https://modelmarket.dev/tools/mcp/domainsMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
What it can do
We have not read this server’s tool list yet; we check endpoints in rotation.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
- ! Caution
Maker matches the repo
The publisher (modelmarket.dev) is not the repo owner (alexar76); someone else may have listed it
- … Not checked yet
Still maintained
We have not read this repo from GitHub yet
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- … Not checked yet
Endpoint responds
Not checked yet; we check endpoints in rotation
- … Not checked yet
Sign-in with OAuth
Not checked yet; we check endpoints in rotation
- … Not checked yet
No hidden instructions in tool descriptions
Not checked yet; we read the tool list when we check the endpoint
Compared with others in Online shops & paymentsi
- More stars than 0% of the other 1754 servers in this category
- Published to the registry more recently than 65% of the other 1754 servers in this category
- Basic checks equal to or better than 36% of the other 1754 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is Domain availability and quotes (demo) safe?
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
The registry does not list a required key, though some servers ask you to sign in on first use.
Does it run on my computer or in the cloud?
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
Is it still maintained?
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 18 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
What can I use instead?
In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Stripe MCP
Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
🔄 Synced from the AI-Factory monorepo (append-only history). Pull requests are welcome — merged PRs are imported back and re-synced here. Issues · Pull requests
Domain Operator Kit Sell domains to AI agents. Bring your supplier. Keep control of your business.
Quickstart · Capabilities · Bring a supplier · Pilot plan · Operator guide (RU)
English · Русский
An agent can build and deploy an application. This kit lets it take the next step: obtain a signed price for a domain, register it to its real owner, manage DNS and connect it to a Vercel project.
Independent operators run their own seller nodes, use their own registrar accounts and set a fixed markup per registration or renewal. Agents use a shared capability contract and a budgeted MCP client.
Pre-live release. The local tests and Openprovider and Porkbun Sandbox pilots pass: registration, DNS, renewal, lost-response recovery and MCP reads. Production domain purchases, payment settlement and Vercel attachment remain unverified. The default demo buys nothing. Verification record →
What the buyer gets
One exact domain, registered for one year to the supplied registrant. The quote shows the supplier cost, fixed markup and final amount before payment. For example, a $10 supplier cost plus a $2 markup gives a 12 USDC order; these are illustrative amounts, not a registrar tariff.
DNS management and domain information are included. Renewal is a separate purchase at a newly quoted price. Registrar autorenew is disabled. Availability is not a reservation, and registrant email verification may still require action by the owner.
The built-in registrar scope is .com, .net and .org, ordinary ASCII names, one year. Premium names, IDNs, incoming transfers and expired-domain restoration are outside this release.
One product, three roles
| You are | What you use |
|---|---|
| A domain operator or reseller | Your registrar account, receiving wallet, refund reserve and fixed markup; a seller node with durable orders |
| An independent supplier | The HTTP supplier contract, implemented in your own language and infrastructure |
| An agent or app developer | Signed domains.*@v1 capabilities, the JavaScript client or the stdio MCP configuration |
flowchart LR
Agent["AI agent / MCP client"] -->|Discover| Hub["AIMarket Hub"] Hub -->|Public quotes only| Seller["Domain operator"] Agent -->|Private order + x402 payment| Seller Seller -->|Register and reconcile| Provider["Openprovider / Porkbun / HTTP supplier"] Agent -->|Owner-signed DNS| Seller Agent -->|Buyer-side connector| Vercel["Your Vercel project"]
The Hub handles discovery. Orders, registrant contacts, payment authorizations and DNS operations go directly to the seller. This implementation charges no Hub commission. The Vercel token stays with the buyer.
Try it locally
Use Node.js 22.13+; local verification used 22.22.1. From domain-kit/ in the monorepo, or from the root of a satellite checkout:
npm ci --ignore-scripts
npm run check npm test npm run demo
The demo runs a signed HTTP lifecycle: quote → simulated registration → DNS → renewal. No registrar account, wallet funding or external service is needed. Local HTTP tests require permission to listen on localhost.
For the simplest external API test, use the Porkbun Sandbox quickstart: automatic disposable credentials, virtual credit and a resumable end-to-end pilot. The Porkbun adapter is sandbox-only until a production pilot passes.
For the Openprovider Sandbox API integration test, follow the opt-in npm run sandbox:pilot instructions. The script retains its state and reuses the same orders on repeat runs.
For a persistent demo server:
cp .env.example .env
node --env-file=.env src/server.js
In another terminal:
DOMAIN_ALLOW_DEMO=1 node bin/domain-rails.mjs check http://127.0.0.1:9495
This checks the public quote protocol and signature; it does not certify the seller. The server persists encrypted documents and keys in data/. Do not discard that directory between deployments.
A public node: demo until your keys are in
DOMAIN_MODE=auto is for a node you publish before you sell. Without keys it is a public demo: availability is real (the registries' own RDAP for .com, .net, .org), quotes are signed and marked demo with illustrative prices, reads answer, and only register and renew are refused with 403 demo_mode. When every live setting is in (production registrar keys or an HTTP supplier, PAY_TO, CDP_KEY_FILE, DOMAIN_REFUND_KEY_FILE, HTTPS DOMAIN_PUBLIC_URL and DOMAIN_TERMS_URL, DOMAIN_UPSTREAM_COST_CONFIRMED=1), the next start sells live. Until then /healthz lists the setting names still missing (live_missing), never their values. Porkbun stays sandbox-only. modelmarket.dev runs such a node as its domain showcase: domains.modelmarket.dev, with the kit's landing at the root and the example desk — a storefront that searches names, shows the signed price and walks through the order. Both are static pages in docs/landing/ that call the node on their own origin; serve them next to yours (node docs/landing/dev.mjs previews them).
Agent capabilities
| Capability | Purpose |
|---|---|
domains.quote@v1 | Availability, exact registration price or private renewal quote |
domains.register@v1 | Register the quoted name for one year |
domains.renew@v1 | Renew an owned domain using a new quote |
domains.order.status@v1 | Recover a pending order and retrieve its signed receipt |
domains.info@v1 | Expiry, nameservers and required owner actions |
domains.dns.get@v1 | DNS records and revision |
domains.dns.set@v1 | Replace selected record sets while preserving other names and types |
domains.transfer.code@v1 | Private transfer code, where supported; excluded from the MCP tool list |
Machine-readable contract · Authentication and payment protocol
Connect a buyer
node bin/domain-rails.mjs init-owner /private/path/owner.pem
Adapt examples/mcp.json for a client that supports stdio MCP. Pin the seller's public key through a trusted catalog, configure the owner's signing key and contact file, then set a per-purchase and daily budget. Purchases default to disabled.
DOMAIN_REGISTRANT_FILE injects the contact locally. Wallet and owner keys come from private files, never model arguments. Payment authorizations and budget reservations are persisted before sending. A retry reuses its original authorization; an unknown outcome keeps its budget reserved.
Keep the original client_order_id and order body across retries. A pending response is a reason to check status, not to create a second purchase. The user or client policy must authorize purchases and acceptance of seller terms.
Connect the domain to Vercel
Configure VERCEL_TOKEN_FILE, VERCEL_PROJECT_ID and optionally VERCEL_TEAM_ID in the buyer's environment. The MCP client exposes vercelConnect:
{"domain":"your-owned-domain.com"}
The connector uses Vercel's current DNS recommendations, adds the apex domain to the pinned project and preserves existing TXT verification values and unrelated records. Replacing other A records requires explicit replace_existing:true. Conflicting AAAA/CNAME records must first be removed through the DNS provider's console.
waiting_for_verification_or_dns means propagation or verification is still pending. configured reflects the Vercel API, not an independent HTTPS reachability test. The seller itself requires a persistent Node process and disk; it is not a Vercel Function.
Bring your supplier
Openprovider and Porkbun Sandbox have built-in adapters. Other suppliers implement the common HTTP endpoints for quotes, contact preparation, submission, reconciliation and management. Operators retain their own accounts, pricing and payment destination.
Supplier contract and runnable simulator →
Supporting the contract makes integration possible; it does not make an untested supplier production-ready. Our pilot plan starts with Openprovider Sandbox and our own agent, then a controlled domain for our own Vercel project, before involving outside customers.
Built for interrupted operations
- Durable order identity. Changed input cannot silently reuse an existing order. A wallet signature binds payment to the order and owner key.
- No blind mutation retries. Lost payment and registrar responses enter reconciliation using the original evidence.
- Refunds for proven non-delivery. Refunds target the original payer. Ambiguous outcomes remain pending; refunds require a funded reserve and functioning infrastructure.
- Private management. Owner requests and seller responses use Ed25519; document bodies use AES-256-GCM. Database row identifiers, including domain names, are not encrypted.
- Explicit operational limits. One seller process per SQLite database. Openprovider renewal ambiguity may require documented operator evidence. Porkbun replays use a durable idempotency key only within a 23-hour window; older unknown outcomes require review. DNS revision checking is not an atomic lock against outside console edits.
No automatic expiry notifications, renewal scheduler, owner-key recovery or general DNS deletion API is included. Operators must provide those support procedures before serving customers. See OPERATIONS.md.
Repository status
Canonical source is domain-kit/ in the AIMarket monorepo. The GitHub satellite is alexar76/domain-operator-kit. From the monorepo root the same commands are npm test --prefix domain-kit (and npm run check --prefix domain-kit). A Node 22/24 CI workflow, Docker/Compose definitions and local branding assets are included. The workflow is prepared; this README does not claim it has run on GitHub. The local test badge links to a dated verification record.
This package remains private:true to prevent accidental npm publication. No hosted demo or published package is implied by the quickstart.
MIT licensed. Base payment reconciliation was adapted from the AIMarket eSIM operator kit; see NOTICE.md.