@dakaio/domainscout-mcp 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,82 +1,57 @@
1
- # DomainScout (@dakaio/domainscout-mcp)
1
+ # DomainScout
2
2
 
3
- Every good .com is taken. Find the ones that aren't.
3
+ **Domain research for AI agents.** Every good .com is taken. Find the ones that aren't.
4
+
5
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=domainscout&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBkYWthaW8vZG9tYWluc2NvdXQtbWNwIl19)
6
+ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_DomainScout-0098FF?logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=domainscout&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40dakaio%2Fdomainscout-mcp%22%5D%7D)
7
+ [![Add to Claude Desktop](https://img.shields.io/badge/Claude_Desktop-Add_DomainScout-D97757?logo=claude&logoColor=white)](https://github.com/JohnDaka/domainscout-mcp/releases/latest/download/domainscout.mcpb)
8
+ [![npm](https://img.shields.io/npm/v/@dakaio/domainscout-mcp)](https://www.npmjs.com/package/@dakaio/domainscout-mcp)
9
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
10
+
11
+ ![DomainScout in an AI assistant: 500 brainstormed names checked in one call, the free .com domains with their prices](assets/domainscout-bulk.png)
4
12
 
5
13
  DomainScout is an MCP server for bulk domain search. Your AI assistant brainstorms hundreds of
6
14
  names, and DomainScout checks all of them in one call: which are free, what they cost and where
7
15
  to buy them. It runs on your own machine. You need no account and no server of ours, and API keys
8
16
  are optional.
9
17
 
10
- Website: [domainscout.dakaio.com](https://domainscout.dakaio.com)
11
-
12
- You ask your assistant *"I'm naming a note-taking app. Brainstorm 500 names and tell me which .com
13
- domains are free."* The assistant calls `check_domains` once with all 500 names and gets back:
14
-
15
- ```text
16
- Checked 500 domain(s) in 21.8s: 27 available, 473 taken.
17
-
18
- AVAILABLE (cheapest known offer for each):
19
- - quillloom.com: $10.46/yr at Cloudflare https://www.cloudflare.com/domains/search/?q=quillloom.com
20
- - scribeloom.com: $10.46/yr at Cloudflare https://www.cloudflare.com/domains/search/?q=scribeloom.com
21
- - scribebloom.com: $10.46/yr at Cloudflare https://www.cloudflare.com/domains/search/?q=scribebloom.com
22
- ...
23
- TAKEN: quillwise.com, quillnest.com, quillflow.com, ...
24
- ```
25
-
26
- Ask about a few favourites afterwards and each one gets every registrar's link and price. More
27
- real output, including the command line and JSON: [examples](examples/README.md).
18
+ [Website](https://domainscout.dakaio.com) ·
19
+ [npm](https://www.npmjs.com/package/@dakaio/domainscout-mcp) ·
20
+ [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=com.dakaio/domainscout) ·
21
+ [Examples](examples/README.md)
28
22
 
29
- ## Built for long lists
23
+ ## What it does
30
24
 
31
- - **One call for the whole brainstorm.** Up to 500 domains per call by default
32
- (`DOMAINSCOUT_MAX_DOMAINS`); 500 .com names take about 20 seconds.
33
- - **Readable answers.** With more than five free domains, each one gets a single line with its
34
- cheapest offer, so the answer stays short; every registrar's link is still in the structured
35
- result.
36
- - **Polite to the registries.** Taken names usually stop at DNS, so the registries only see the
37
- names that might be free. Every server gets its own rate limit.
38
-
39
- ## How it checks
25
+ - **Finds the free names in a long list.** Hundreds of names in one call; 500 .com names take
26
+ about 20 seconds.
27
+ - **Checks for real.** DNS first, then the registry itself over RDAP, or WHOIS where a TLD has no
28
+ RDAP. A bought but unused domain is still reported as taken.
29
+ - **Compares prices at nine registrars:** Cloudflare, Porkbun, Namecheap, Spaceship, GoDaddy,
30
+ Name.com, Dynadot, NameSilo and Hover. The first year, the renewal and any minimum term, cheapest
31
+ to own first.
32
+ - **Spots the traps.** Premium and reserved names (with a registrar API key), and taken names that
33
+ are being deleted and may become available soon.
34
+ - **Any TLD.** `.com`, `.net` and `.ai` by default; ask for any other.
40
35
 
41
- For each domain, in parallel and within polite rate limits:
42
-
43
- 1. **DNS.** If the TLD zone delegates the name, it is taken. This step is free and saves the
44
- registries' rate limits.
45
- 2. **The registry over RDAP**, the authoritative source. If the domain is found, it is taken;
46
- the result includes expiry, and a note when the domain is being deleted and may become
47
- available soon. A 404 means it is likely available.
48
- 3. **WHOIS**, only for TLDs without RDAP (for example `.io`, `.ru`, `.de`) or when RDAP fails.
49
- 4. **Your registrar API, optional.** If you set an API key, the registrar confirms that each
50
- free-looking name can really be bought, flags premium names and gives the exact price.
51
-
52
- Having no DNS never proves a domain is free: a bought but unused domain has no DNS either.
53
- Without a registrar API key, "not in the registry" is reported as `likely_available`. Premium
54
- and registry-reserved names look the same there, so the registrar's page has the final price.
55
-
56
- | Status | Meaning |
57
- |---|---|
58
- | `available` | A registrar API confirmed it can be registered; `premium` says whether it costs extra |
59
- | `likely_available` | Not in the registry or DNS, not confirmed by a registrar |
60
- | `taken` | Registered |
61
- | `reserved` | Blocked by the registry, or the registrar cannot sell it |
62
- | `unknown` | Could not verify right now (timeout, rate limit); try again |
63
-
64
- Free domains come with buy links for Cloudflare, Porkbun, Namecheap, Spaceship, GoDaddy,
65
- Name.com, Dynadot, NameSilo and Hover. Links are sorted by the cost of the first term plus one
66
- renewal year, using public price lists (Cloudflare, Porkbun) or the exact price from your
67
- registrar API.
36
+ DomainScout does not invent names: your assistant does that, and DomainScout tells it which of
37
+ them are really free.
68
38
 
69
39
  ## Install
70
40
 
71
41
  Node 20 or newer.
72
42
 
43
+ **Claude Desktop:** one click: [download the extension](https://github.com/JohnDaka/domainscout-mcp/releases/latest/download/domainscout.mcpb)
44
+ and open it. Claude Desktop asks to install it, and lets you set the options below.
45
+
73
46
  **Claude Code**
74
47
 
75
48
  ```bash
76
49
  claude mcp add domainscout -- npx -y @dakaio/domainscout-mcp
77
50
  ```
78
51
 
79
- **Claude Desktop / Cursor**: add to the MCP config:
52
+ **Cursor and VS Code:** use the buttons at the top, or add the server to the MCP config.
53
+
54
+ **Any MCP client:** add to the MCP config:
80
55
 
81
56
  ```json
82
57
  {
@@ -99,6 +74,87 @@ domains are free."*
99
74
  **From source:** `npm install && npm run build`, then run `node /path/to/domainscout-mcp/dist/index.js`
100
75
  in place of `npx -y @dakaio/domainscout-mcp`.
101
76
 
77
+ ## Tools
78
+
79
+ ### `check_domains`
80
+
81
+ Checks whether domain names are free to register, and shows prices and where to buy the free
82
+ ones. Read-only: it never registers or changes anything.
83
+
84
+ | Parameter | Type | Default | What it is |
85
+ |---|---|---|---|
86
+ | `domains` | string[] (1 to 1,000 entries) | required | Names or domains: `acme`, `acme.io`, `https://acme.dev`. A name without a TLD is tried in every TLD from `tlds` |
87
+ | `tlds` | string[] | `DOMAINSCOUT_TLDS` (`com,net,ai`) | TLDs for names given without one, e.g. `["com"]` for a long list |
88
+ | `confirm` | boolean | `true` | Confirm free-looking names with registrar APIs, when you set keys |
89
+ | `details` | boolean | `false` | Include the evidence from every source (DNS, RDAP, WHOIS, registrar API) |
90
+
91
+ It returns a short text report for the model and the same data as structured content: a summary
92
+ with counts per status, one result per domain (status, note, registration dates, buy links with
93
+ prices), skipped entries and warnings.
94
+
95
+ | Status | Meaning |
96
+ |---|---|
97
+ | `available` | A registrar API confirmed it can be registered; `premium` says whether it costs extra |
98
+ | `likely_available` | Not in the registry or DNS, not confirmed by a registrar |
99
+ | `taken` | Registered |
100
+ | `reserved` | Blocked by the registry, or the registrar cannot sell it |
101
+ | `unknown` | Could not verify right now (timeout, rate limit); try again |
102
+
103
+ ## Example
104
+
105
+ You ask your assistant *"I'm naming a note-taking app. Brainstorm 500 names and tell me which .com
106
+ domains are free."* The assistant calls `check_domains` once with all 500 names and gets back:
107
+
108
+ ```text
109
+ Checked 500 domain(s) in 23.0s: 27 available, 473 taken.
110
+
111
+ AVAILABLE (cheapest known offer for each):
112
+ - quillloom.com: $10.46/yr at Cloudflare https://www.cloudflare.com/domains/search/?q=quillloom.com
113
+ - scribeloom.com: $10.46/yr at Cloudflare https://www.cloudflare.com/domains/search/?q=scribeloom.com
114
+ - scribebloom.com: $10.46/yr at Cloudflare https://www.cloudflare.com/domains/search/?q=scribebloom.com
115
+ ...
116
+ TAKEN: quillwise.com, quillnest.com, quillflow.com, quillhub.com, quillpad.com, quillbox.com,
117
+ quillbase.com, quillkit.com, ...
118
+ ```
119
+
120
+ Ask about a few favourites afterwards and each one gets every registrar's link and price. More
121
+ real output, including the command line and JSON: [examples](examples/README.md).
122
+
123
+ ## How it checks
124
+
125
+ For each domain, in parallel and within polite rate limits:
126
+
127
+ 1. **DNS.** If the TLD zone delegates the name, it is taken. This step is free and saves the
128
+ registries' rate limits.
129
+ 2. **The registry over RDAP**, the authoritative source. If the domain is found, it is taken;
130
+ the result includes expiry, and a note when the domain is being deleted and may become
131
+ available soon. A 404 means it is likely available.
132
+ 3. **WHOIS**, only for TLDs without RDAP (for example `.io` and `.de`) or when RDAP fails.
133
+ 4. **Your registrar API, optional.** If you set an API key, the registrar confirms that each
134
+ free-looking name can really be bought, flags premium names and gives the exact price.
135
+
136
+ Having no DNS never proves a domain is free: a bought but unused domain has no DNS either.
137
+ Without a registrar API key, "not in the registry" is reported as `likely_available`. Premium
138
+ and registry-reserved names look the same there, so the registrar's page has the final price.
139
+
140
+ ## Authentication
141
+
142
+ None. DomainScout works without an account or API keys. Registrar API keys are optional: with
143
+ one, free-looking names are confirmed by the registrar, premium names are flagged and the exact
144
+ price is shown. One key is enough. With several, the APIs are asked in this order, each name only
145
+ until one answers.
146
+
147
+ | Registrar | Variables | Where to get it |
148
+ |---|---|---|
149
+ | Name.com | `DOMAINSCOUT_NAMECOM_USERNAME`, `DOMAINSCOUT_NAMECOM_TOKEN` | Account Settings → Security → API Tokens |
150
+ | Cloudflare | `DOMAINSCOUT_CLOUDFLARE_ACCOUNT_ID`, `DOMAINSCOUT_CLOUDFLARE_API_TOKEN` | API token with Registrar permission. The Registrar API is in beta |
151
+ | Spaceship | `DOMAINSCOUT_SPACESHIP_API_KEY`, `DOMAINSCOUT_SPACESHIP_API_SECRET` | API Manager; the key needs the `domains:read` scope |
152
+ | Porkbun | `DOMAINSCOUT_PORKBUN_API_KEY`, `DOMAINSCOUT_PORKBUN_SECRET_KEY` | porkbun.com/account/api |
153
+
154
+ Each key is sent only to its own registrar's API, and it never appears in output, logs or error
155
+ messages. If a registrar rejects a key, the result says so in its notes, and the check still
156
+ works without that registrar.
157
+
102
158
  ## Settings
103
159
 
104
160
  Set these as environment variables in the MCP config. All are optional.
@@ -117,30 +173,25 @@ Set these as environment variables in the MCP config. All are optional.
117
173
  | `DOMAINSCOUT_PRICES` | `on` | Public price lists |
118
174
  | `DOMAINSCOUT_AFFILIATE` | `on` | Affiliate buy links (`off` gives plain links) |
119
175
 
120
- Each RDAP server gets at most 5 requests per second. Each WHOIS server gets one query at a
121
- time, at most one per second. A server that answers "too many requests" is left alone for a while.
176
+ ## Rate limits
122
177
 
123
- ## Registrar API keys (optional)
178
+ - **Per call:** up to 500 domains after adding TLDs (`DOMAINSCOUT_MAX_DOMAINS`, at most 10,000)
179
+ and 1,000 input entries.
180
+ - **Registries:** each RDAP server gets at most 2 requests in flight and 5 per second; each WHOIS
181
+ server one query at a time, at most one per second. A server that answers "too many requests"
182
+ is left alone for as long as it asks, and the request is retried.
183
+ - **Registrar APIs:** every API gets its documented limit (Name.com 10 requests per second,
184
+ Cloudflare 4, Spaceship 30 per 30 seconds, Porkbun 8 batches per minute), and at most
185
+ `DOMAINSCOUT_CONFIRM_MAX` names per call are confirmed. Porkbun throttles an account to 50 names
186
+ per 5 minutes for a day once it has checked about 1,800 names in 3 hours while registering few
187
+ of them; the limit keeps every call well below that. A tool call can pass `confirm: false` to
188
+ skip confirmation for a large list.
124
189
 
125
- With a key, free-looking names are confirmed: you get `available` or `reserved` instead of
126
- `likely_available`, premium names are flagged, and the registrar's exact price is shown. One
127
- key is enough. With several, the APIs are asked in this order, each name only until one answers.
190
+ ## Pricing
128
191
 
129
- | Registrar | Variables | Where to get it |
130
- |---|---|---|
131
- | Name.com | `DOMAINSCOUT_NAMECOM_USERNAME`, `DOMAINSCOUT_NAMECOM_TOKEN` | Account Settings → Security → API Tokens |
132
- | Cloudflare | `DOMAINSCOUT_CLOUDFLARE_ACCOUNT_ID`, `DOMAINSCOUT_CLOUDFLARE_API_TOKEN` | API token with Registrar permission. The Registrar API is in beta |
133
- | Spaceship | `DOMAINSCOUT_SPACESHIP_API_KEY`, `DOMAINSCOUT_SPACESHIP_API_SECRET` | API Manager; the key needs the `domains:read` scope |
134
- | Porkbun | `DOMAINSCOUT_PORKBUN_API_KEY`, `DOMAINSCOUT_PORKBUN_SECRET_KEY` | porkbun.com/account/api |
135
-
136
- Porkbun throttles an account to 50 names per 5 minutes for a day once it has checked about
137
- 1,800 names in 3 hours while registering few of them. `DOMAINSCOUT_CONFIRM_MAX` keeps every
138
- call well below that. A tool call can also pass `confirm: false` to skip confirmation for a
139
- large list.
140
-
141
- Each key is sent only to its own registrar's API, and it never appears in output, logs or error
142
- messages. If a registrar rejects a key, the result says so in its notes, and the check still
143
- works without that registrar.
192
+ DomainScout is free and open source under the MIT license. There is no account, subscription or
193
+ usage fee. The prices it shows are the registrars' own standard prices, from public price lists,
194
+ or the exact price from your registrar API.
144
195
 
145
196
  ## Privacy
146
197
 
@@ -161,6 +212,16 @@ Some buy links may be affiliate links. When they are, the result says so, and bu
161
212
  them earns the project a commission at no extra cost to you. Links are always ordered by price
162
213
  and never by commission. `DOMAINSCOUT_AFFILIATE=off` turns them off.
163
214
 
215
+ ## Security
216
+
217
+ The tool is read-only, runs on your machine, and sends each API key only to its own registrar.
218
+ To report a vulnerability, see [SECURITY.md](SECURITY.md).
219
+
220
+ ## Support
221
+
222
+ - Questions, bugs and ideas: [GitHub issues](https://github.com/JohnDaka/domainscout-mcp/issues)
223
+ - Website: [domainscout.dakaio.com](https://domainscout.dakaio.com)
224
+
164
225
  ## Command line
165
226
 
166
227
  ```bash
@@ -186,8 +247,16 @@ npm run build
186
247
  | `src/scout/`, `src/server/`, `src/cli/` | The check as a whole, the MCP server and the command line |
187
248
  | `test/` | Vitest tests; the network is faked, except for a local WHOIS server |
188
249
  | `examples/` | Real output of the tool |
189
- | `site/` | The landing page at domainscout.dakaio.com: static HTML, deployed as is |
250
+ | `site/` | The landing page at domainscout.dakaio.com: static HTML, released by a `landing-v<version>` tag (`npm --prefix site run release`) |
251
+ | `server.json`, `manifest.json`, `glama.json` | Listings: the MCP Registry, the Claude Desktop extension, Glama |
252
+
253
+ Releases: raise the version in a pull request with `npm run bump patch` (or `minor`, or an exact
254
+ version such as `npm run bump 1.2.0`); it updates `package.json`, `package-lock.json`,
255
+ `manifest.json` and `server.json` together. Then run `npm run release` on the merged `main`. It pushes the tag `v<version>`, and
256
+ `.github/workflows/publish.yml` publishes to npm (trusted publishing), creates a GitHub Release
257
+ with the Claude Desktop extension and publishes to the MCP Registry. The landing page goes out the
258
+ same way: `npm run bump:site patch` in a pull request, then `npm --prefix site run release`.
190
259
 
191
260
  ## License
192
261
 
193
- MIT
262
+ MIT © [dakaio.com](https://dakaio.com)
package/dist/constants.js CHANGED
@@ -277,6 +277,15 @@ export const FULL_LINKS_MAX_DOMAINS = 5;
277
277
  * ones being deleted): expiry dates for hundreds of names would only cost the model tokens.
278
278
  */
279
279
  export const TAKEN_DATES_MAX_DOMAINS = 20;
280
+ /**
281
+ * Lists of names (TAKEN, RESERVED) wrap onto more lines at this width, so a long list reads well
282
+ * in a terminal, in a chat and on a web page instead of running off to the side.
283
+ */
284
+ export const REPORT_LINE_WIDTH = 100;
285
+ /** Indentation of a list's continuation lines. */
286
+ export const CONTINUATION_INDENT = ' ';
287
+ /** Ends every item of a wrapped list but the last. */
288
+ export const LIST_ITEM_END = ',';
280
289
  // ── CLI ─────────────────────────────────────────────────────────────────────
281
290
  /** process.argv[0] is node and [1] is this script: user arguments start here. */
282
291
  export const ARGV_FIRST_USER_ARG = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -34,8 +34,6 @@ export const ReportLine = {
34
34
  summary: (total, seconds, counts) => `Checked ${total} domain(s) in ${seconds}s: ${counts.join(TextSeparator.List)}.`,
35
35
  /** "5 available" */
36
36
  count: (count, label) => `${count} ${label}`,
37
- /** "TAKEN: a.com, b.com" */
38
- inline: (heading, items) => `${heading} ${items.join(TextSeparator.List)}`,
39
37
  /** "- acme.ai (confirmed by Porkbun)" */
40
38
  available: (name, confirmedBy, premium) => {
41
39
  if (!confirmedBy)
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/messages/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/messages/report.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,8 @@ export const ToolText = {
16
16
  /** What the server tells a client about itself. */
17
17
  export const toolInstructions = (defaultTlds) => "Checks whether domain names are free to register, from the user's own machine, and shows prices and " +
18
18
  `where to buy them. Built for bulk search: pass a whole brainstorm of names in one ${TOOL_CHECK_DOMAINS} ` +
19
- `call. Names without a TLD are tried in: ${defaultTlds}.`;
19
+ `call. Names without a TLD are tried in: ${defaultTlds}. When you present the results, give each free ` +
20
+ "domain its price and its buy link from the tool's answer, so the user can register it in one click.";
20
21
  /** The tool description the model reads before calling it. */
21
22
  export const toolDescription = (defaultTlds) => `\
22
23
  Checks whether domain names are free to register. Built for bulk search: almost every good .com is taken, so \
@@ -39,9 +40,12 @@ price is on the registrar's page.
39
40
 
40
41
  Free domains come with buy links, cheapest first, with standard per-year prices where public price lists exist, \
41
42
  or the exact price when a registrar confirmed the name. When many names are free, the text lists each on one \
42
- line with its cheapest offer; check the user's favourites again to get every registrar's link. Show the user the \
43
- first-year and the renewal price and any minimum term. Pass on the NOTES and, when present, the affiliate \
44
- disclosure line.`;
43
+ line with its cheapest offer; check the user's favourites again to get every registrar's link.
44
+
45
+ How to present the answer: list the free domains with their price and their buy link from this result - a table \
46
+ with a link column works well - so the user can register a name in one click. Keep the links; do not replace \
47
+ them with links of your own. Mention the renewal price when it differs from the first year, and any minimum term. \
48
+ Pass on the NOTES and, when present, the affiliate disclosure line.`;
45
49
  /** Describes the `tlds` parameter, including the configured defaults. */
46
50
  export const tldsParamText = (defaultTlds) => `TLDs to try for names without one, e.g. ["com", "io", "co.uk"]. Omit to use the defaults (${defaultTlds}); ` +
47
51
  `the user can change the defaults with ${EnvVar.Tlds} in the MCP server config.`;
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/messages/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,2BAA2B;IAClC,YAAY,EACV,qGAAqG;QACrG,4GAA4G;IAC9G,YAAY,EACV,uGAAuG;QACvG,2GAA2G;IAC7G,YAAY,EACV,2FAA2F;IAC7F,SAAS,EAAE,uBAAuB;IAClC,WAAW,EAAE,cAAc;IAC3B,QAAQ,EAAE,uCAAuC;IACjD,SAAS,EAAE,8DAA8D;IACzE,YAAY,EACV,uFAAuF;CACjF,CAAC;AAEX,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAU,EAAE,CAC9D,sGAAsG;IACtG,qFAAqF,kBAAkB,GAAG;IAC1G,2CAA2C,WAAW,GAAG,CAAC;AAE5D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAU,EAAE,CAAC;;;;;;2FAM2B,WAAW;;;;;;;;;;;;;;;;;iBAiBrF,CAAC;AAElB,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAU,EAAE,CAC3D,6FAA6F,WAAW,KAAK;IAC7G,yCAAyC,MAAM,CAAC,IAAI,4BAA4B,CAAC;AAEnF,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,EAAU,EAAE,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/messages/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,2BAA2B;IAClC,YAAY,EACV,qGAAqG;QACrG,4GAA4G;IAC9G,YAAY,EACV,uGAAuG;QACvG,2GAA2G;IAC7G,YAAY,EACV,2FAA2F;IAC7F,SAAS,EAAE,uBAAuB;IAClC,WAAW,EAAE,cAAc;IAC3B,QAAQ,EAAE,uCAAuC;IACjD,SAAS,EAAE,8DAA8D;IACzE,YAAY,EACV,uFAAuF;CACjF,CAAC;AAEX,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAU,EAAE,CAC9D,sGAAsG;IACtG,qFAAqF,kBAAkB,GAAG;IAC1G,2CAA2C,WAAW,iDAAiD;IACvG,qGAAqG,CAAC;AAExG,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAU,EAAE,CAAC;;;;;;2FAM2B,WAAW;;;;;;;;;;;;;;;;;;;;oEAoBlC,CAAC;AAErE,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAU,EAAE,CAC3D,6FAA6F,WAAW,KAAK;IAC7G,yCAAyC,MAAM,CAAC,IAAI,4BAA4B,CAAC;AAEnF,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,EAAU,EAAE,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC"}
@@ -1,9 +1,11 @@
1
- import { DEFAULT_MIN_YEARS, ELAPSED_SECONDS_DECIMALS, FULL_LINKS_MAX_DOMAINS, ISO_DATE_LENGTH, SECOND_MS, TAKEN_DATES_MAX_DOMAINS, TextSeparator, } from '../constants.js';
1
+ import { CONTINUATION_INDENT, DEFAULT_MIN_YEARS, ELAPSED_SECONDS_DECIMALS, FULL_LINKS_MAX_DOMAINS, ISO_DATE_LENGTH, LIST_ITEM_END, REPORT_LINE_WIDTH, SECOND_MS, TAKEN_DATES_MAX_DOMAINS, TextSeparator, } from '../constants.js';
2
2
  import { isFree } from '../core/status.js';
3
3
  import { ConfirmState, DomainStatus, EvidenceSource, LookupState, } from '../core/types.js';
4
4
  import { AFFILIATE_DISCLOSURE, CountLabel, ReportHeading, ReportLine, ReportText, } from '../messages/index.js';
5
5
  import { formatMoney } from './money.js';
6
6
  import { hasAffiliateLinks } from './summary.js';
7
+ /** Words of a sentence are separated by single spaces. */
8
+ const WORD_SEPARATOR = ' ';
7
9
  /** Evidence results that mean a source failed. */
8
10
  const ERROR_RESULTS = new Set([LookupState.Error, ConfirmState.Error]);
9
11
  /**
@@ -61,7 +63,7 @@ export class TextReport {
61
63
  return [
62
64
  ReportHeading.Available,
63
65
  ...this.free.flatMap((result) => this.fullEntry(result)),
64
- ReportText.AvailableFootnote,
66
+ ...this.wrappedText(ReportText.AvailableFootnote),
65
67
  ];
66
68
  }
67
69
  /** One line per free domain, with its cheapest offer. */
@@ -69,8 +71,8 @@ export class TextReport {
69
71
  return [
70
72
  ReportHeading.AvailableCompact,
71
73
  ...this.free.map((result) => this.compactEntry(result)),
72
- ReportText.AvailableFootnote,
73
- ReportText.CompactFootnote,
74
+ ...this.wrappedText(ReportText.AvailableFootnote),
75
+ ...this.wrappedText(ReportText.CompactFootnote),
74
76
  ];
75
77
  }
76
78
  /** Every registrar's link, cheapest first, and the minimum term when there is one. */
@@ -123,7 +125,7 @@ export class TextReport {
123
125
  return [];
124
126
  const withDates = this.taken.length <= TAKEN_DATES_MAX_DOMAINS;
125
127
  const names = this.taken.map((result) => this.takenName(result, withDates));
126
- return [ReportLine.inline(ReportHeading.Taken, names)];
128
+ return this.wrappedList(ReportHeading.Taken, names);
127
129
  }
128
130
  /** The name, marked when it is being deleted, and with its expiry date when dates are shown. */
129
131
  takenName(result, withDate) {
@@ -136,13 +138,48 @@ export class TextReport {
136
138
  if (this.reserved.length === 0)
137
139
  return [];
138
140
  const names = this.reserved.map((result) => result.display);
139
- return [ReportLine.inline(ReportHeading.Reserved, names)];
141
+ return this.wrappedList(ReportHeading.Reserved, names);
142
+ }
143
+ /**
144
+ * "TAKEN: a.com, b.com," and then indented lines, none wider than REPORT_LINE_WIDTH (an item
145
+ * longer than that still gets a line of its own).
146
+ */
147
+ wrappedList(heading, items) {
148
+ const pieces = items.map((item, index) => index < items.length - 1 ? `${item}${LIST_ITEM_END}` : item);
149
+ return this.wrapWords([heading, ...pieces], CONTINUATION_INDENT);
150
+ }
151
+ /** A sentence or a paragraph on lines no wider than REPORT_LINE_WIDTH. */
152
+ wrappedText(text, indent = '') {
153
+ return this.wrapWords(text.split(WORD_SEPARATOR), indent);
154
+ }
155
+ /**
156
+ * Words joined by spaces on lines no wider than REPORT_LINE_WIDTH; a longer word, such as a URL,
157
+ * keeps a line of its own. Lines after the first start with `indent`.
158
+ */
159
+ wrapWords(words, indent) {
160
+ const lines = [];
161
+ let line = '';
162
+ for (const word of words) {
163
+ if (!line) {
164
+ line = word;
165
+ }
166
+ else if (line.length + WORD_SEPARATOR.length + word.length <= REPORT_LINE_WIDTH) {
167
+ line = `${line}${WORD_SEPARATOR}${word}`;
168
+ }
169
+ else {
170
+ lines.push(line);
171
+ line = `${indent}${word}`;
172
+ }
173
+ }
174
+ if (line)
175
+ lines.push(line);
176
+ return lines;
140
177
  }
141
178
  /** Each unverified domain, with what went wrong. */
142
179
  unknownSection() {
143
180
  if (this.unknown.length === 0)
144
181
  return [];
145
- const lines = this.unknown.map((result) => ReportLine.failure(result.display, this.failureReason(result)));
182
+ const lines = this.unknown.flatMap((result) => this.wrappedText(ReportLine.failure(result.display, this.failureReason(result)), CONTINUATION_INDENT));
146
183
  return [ReportHeading.Unknown, ...lines];
147
184
  }
148
185
  /** Registry and registrar errors behind an "unknown" verdict; DNS errors alone never decide it. */
@@ -160,7 +197,7 @@ export class TextReport {
160
197
  skippedSection() {
161
198
  if (this.report.invalid.length === 0)
162
199
  return [];
163
- const lines = this.report.invalid.map((entry) => ReportLine.invalid(entry.input, entry.reason));
200
+ const lines = this.report.invalid.flatMap((entry) => this.wrappedText(ReportLine.invalid(entry.input, entry.reason), CONTINUATION_INDENT));
164
201
  return [ReportHeading.Skipped, ...lines];
165
202
  }
166
203
  notesSection() {
@@ -168,11 +205,11 @@ export class TextReport {
168
205
  return [];
169
206
  return [
170
207
  ReportHeading.Notes,
171
- ...this.report.warnings.map((warning) => ReportLine.note(warning)),
208
+ ...this.report.warnings.flatMap((warning) => this.wrappedText(ReportLine.note(warning), CONTINUATION_INDENT)),
172
209
  ];
173
210
  }
174
211
  disclosureSection() {
175
- return hasAffiliateLinks(this.report) ? [AFFILIATE_DISCLOSURE] : [];
212
+ return hasAffiliateLinks(this.report) ? this.wrappedText(AFFILIATE_DISCLOSURE) : [];
176
213
  }
177
214
  /** "2 reserved", only when there are any. */
178
215
  countIfAny(results, label) {
@@ -1 +1 @@
1
- {"version":3,"file":"text-report.js","sourceRoot":"","sources":["../../src/report/text-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-report.js","sourceRoot":"","sources":["../../src/report/text-report.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@dakaio/domainscout-mcp",
3
- "version": "1.1.0",
4
- "description": "MCP server that checks hundreds of domain names at once from your own machine (DNS + RDAP/WHOIS) and shows prices and where to buy.",
3
+ "version": "1.2.0",
4
+ "description": "Domain research for AI agents: an MCP server that checks hundreds of domain names in one call (DNS, RDAP, WHOIS) and shows prices and where to buy.",
5
+ "mcpName": "com.dakaio/domainscout",
5
6
  "author": "dakaio.com",
6
7
  "homepage": "https://domainscout.dakaio.com",
7
8
  "repository": {
@@ -36,7 +37,11 @@
36
37
  "lint": "biome check .",
37
38
  "lint:fix": "biome check --write .",
38
39
  "verify": "npm run typecheck && npm run lint && npm run coverage",
39
- "prepublishOnly": "npm run verify && npm run build"
40
+ "prepublishOnly": "npm run verify && npm run build",
41
+ "bump": "npm version --no-git-tag-version",
42
+ "bump:site": "npm --prefix site version --no-git-tag-version",
43
+ "version": "node scripts/sync-version.mjs && biome format --write manifest.json server.json",
44
+ "release": "node scripts/release.mjs"
40
45
  },
41
46
  "engines": {
42
47
  "node": ">=20"