domaincheck
README.md
# domaincheck
Before you build on a name, check the name. domaincheck wraps
the public Just Domain MCP service in a local stdio server and
a small CLI, with three read-only lookups:
- `search_domains` — is the domain available, and what does
one full registration term cost (plus the renewal price and,
for available names, a checkout URL)?
- `check_domain_transfer` — for a domain you already own
elsewhere: what would block a transfer in, would DNS survive
the move, and what is the full-term transfer price?
- `check_trademark` — one proposed name against the US, EU and
Israeli trademark registers read by Open Trademarks.
Prices are term totals, never per-year rates — on `.ai` the
term is two years, so a quoted `.ai` figure covers two years.
Nothing here places an order, files anything, or takes a
payment: registration and transfer happen only in a browser
on justdomain.ai, and a trademark register search is not
legal advice and never clears a name.
## How it works
Each call is forwarded as a JSON-RPC `tools/call` POST to
`https://mcp.justdomain.ai/` (no authentication), and the
upstream's answer — SSE-framed, first `data:` line — is
returned unchanged. Set `JUSTDOMAIN_MCP_URL` to use a
different endpoint.
## CLI
```bash
npx @reneturcios/domaincheck search acme.com acme.io
npx @reneturcios/domaincheck transfer acme.com
npx @reneturcios/domaincheck trademark "Acme Roasters"
npx @reneturcios/domaincheck --version
```
Output is the upstream's result as JSON. Exit codes: `0` on
success, `1` on a runtime error (including an upstream
failure), `2` on a usage error.
## MCP server
```bash
npx -y @reneturcios/domaincheck mcp
```
MCP client config:
```json
{
"mcpServers": {
"domaincheck": {
"command": "npx",
"args": ["-y", "@reneturcios/domaincheck", "mcp"]
}
}
}
```
### Tools
- `search_domains` — availability and pricing lookup.
- `domains` (array of strings, preferred) — 1-200
fully-qualified names, each including its TLD
- `query` (string, fallback) — free text; names without a
TLD expand to com/io/ai/co/net. Ignored when `domains` is
supplied. One of the two must be given; the server errors
honestly when both are absent.
- `check_domain_transfer` — transfer precheck for one domain.
- `domain` (string, required) — one fully-qualified domain
owned at another registrar
- `check_trademark` — one name against the trademark
registers.
- `name` (string, required) — the proposed name, 2-120
characters
- `goods` (string, optional) — what the name is for
- `classes` (array of integers, optional) — Nice classes,
each 1-45
- `registers` (array of `us`/`eu`/`il`, optional) — all
three when left out
## Docker
```bash
docker run -i ghcr.io/cloudcorprecords/domaincheck
docker run --rm ghcr.io/cloudcorprecords/domaincheck search acme.com
```
## Development
```bash
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch, no network)
npm run dev # run the CLI from source
```
## License
MIT — Copyright (c) 2026 Rene Turcios
This server cannot be deployed
Maintenance
ActivityNo data
ResponsivenessSyncing