@datadive-tools/mcp 0.10.0 → 0.12.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 +37 -16
- package/dist/index.js +371 -63
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts +29 -5
- package/dist/lib.js +371 -63
- package/dist/lib.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -100,14 +100,23 @@ niches, plus pagination metadata. If you don't, see Troubleshooting below.
|
|
|
100
100
|
| `list_niches` | Paginated list of your niches. Discovery step — returns `nicheId`s for the niche-scoped tools below. |
|
|
101
101
|
| `get_niche_keywords` | Master keyword list for a niche: search volume, relevancy, competitor ASIN ranks. |
|
|
102
102
|
| `get_niche_roots` | Keyword lexical roots for a niche — high-impact words with frequency and broad search volume. |
|
|
103
|
-
| `get_niche_competitors` | Competitor ASINs and niche statistics (sales, revenue, ratings, opportunity score). |
|
|
103
|
+
| `get_niche_competitors` | Competitor ASINs, titles, BSR, category and niche statistics (sales, revenue, ratings, opportunity score). |
|
|
104
104
|
| `get_ranking_juice` | DataDive proprietary ranking-juice metric per competitor (current vs optimized listing). |
|
|
105
|
-
| `list_rank_radars` | Paginated list of rank radars. Filter by `nicheId` or `status
|
|
105
|
+
| `list_rank_radars` | Paginated list of rank radars. Filter by `nicheId`, `searchText` or `status` (`ACTIVE` by default, plus `PAUSED`, `ARCHIVED`, `ALL`). |
|
|
106
106
|
| `get_rank_radar_data` | Historical keyword rankings for a rank radar within a `startDate`/`endDate` range. |
|
|
107
107
|
| `create_niche_dive` | **Spends dive tokens.** Starts new niche research from a seed ASIN. Async — returns a `diveId` to poll with `get_dive_status`. Requires `confirm: true`. |
|
|
108
108
|
| `redive_niche` | **Spends dive tokens.** Refreshes an existing niche with current data — either the same competitors or a newly discovered set. Async — returns a `diveId` to poll with `get_dive_status`. Requires `confirm: true`. |
|
|
109
109
|
| `get_dive_status` | Poll a dive started by `create_niche_dive` or `redive_niche`: `in_progress`, `success` (carries the `nicheId`), or `error`. |
|
|
110
110
|
| `create_rank_radar` | **Spends Search Term tokens.** Starts tracking keyword rankings for an ASIN in a niche. Returns a `rankRadarId`. Requires `confirm: true`. |
|
|
111
|
+
| `add_rank_radar_search_terms` | Starts tracking extra keywords on an existing rank radar. Takes one Daily Tracked Keywords slot per new keyword; reversible with `pause_rank_radar_search_terms`. |
|
|
112
|
+
| `pause_rank_radar_search_terms` | Pauses individual keywords of a rank radar, keeping their history and freeing their tracking slots. Takes keyword ids from `get_rank_radar_data`. |
|
|
113
|
+
| `resume_rank_radar_search_terms` | Restarts tracking on paused keywords of a rank radar. Takes back one tracking slot each. |
|
|
114
|
+
| `pause_rank_radar` | Pauses a whole rank radar (what the API calls archiving — listed under `status: PAUSED`, not `ARCHIVED`). Tracking stops, the history is kept, and the tracking slots are freed. Reversible with `resume_rank_radar`. |
|
|
115
|
+
| `resume_rank_radar` | Reactivates a paused rank radar, restoring as many keywords as the remaining quota allows (most relevant first). |
|
|
116
|
+
| `delete_rank_radar` | **Destroys ranking history.** Deletes a rank radar permanently (listed under `status: ARCHIVED`) and frees its tracking slots. Requires `confirm: true` — prefer `pause_rank_radar` if the data may be wanted later. |
|
|
117
|
+
| `delete_niche` | **Destroys niche data.** Deletes a niche with its keywords, competitors and dive history; spent dive tokens are not refunded. Blocked while a rank radar uses the niche. Requires `confirm: true`. |
|
|
118
|
+
| `generate_listing_copy` | **Spends an AI Copywriter prompt.** Drafts an optimised title, bullets and description from a niche's keyword research. Nothing is published to Amazon. Async — returns a `generationId`. Requires `confirm: true`. |
|
|
119
|
+
| `get_listing_copy_generation_status` | Poll a draft started by `generate_listing_copy`: `generating`, `complete` (carries the generated copy), or `failed`. Free to poll. |
|
|
111
120
|
| `list_seller_profiles` | Paginated list of connected Amazon seller accounts. Discovery step — returns the `sellerId` + `marketplace` the seller-scoped tools below (and the alert tools) need. |
|
|
112
121
|
| `get_seller_catalog` | Paginated catalog of a seller's own ASINs. Filter by `search`, `brand`, and `status` (Active by default). |
|
|
113
122
|
| `get_seller_listing_changes` | Paginated price/content/image changes on a seller's listings. Filter by `types`, `asin`, `brand`, `search`, and a date range; optionally include ranking/conversion `correlation`. |
|
|
@@ -118,22 +127,33 @@ niches, plus pagination metadata. If you don't, see Troubleshooting below.
|
|
|
118
127
|
| `list_usage` | Paginated billable usage logs (token-consumption events). Filter by `type`, `search` (user), and `startDate`/`endDate`. |
|
|
119
128
|
|
|
120
129
|
All data is scoped to the organization that owns the API key. Most tools are
|
|
121
|
-
read-only
|
|
122
|
-
|
|
123
|
-
[
|
|
130
|
+
read-only. The tools that change something are marked above; the ones that
|
|
131
|
+
cannot be undone also require an explicit `confirm: true` — see
|
|
132
|
+
[Tools that change something](#tools-that-change-something).
|
|
124
133
|
|
|
125
|
-
###
|
|
134
|
+
### Tools that change something
|
|
126
135
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
`
|
|
132
|
-
`
|
|
136
|
+
Six tools **cannot be undone**, so they require an explicit `confirm: true`
|
|
137
|
+
argument. Called without it, they change nothing and return a note asking the
|
|
138
|
+
assistant to confirm the cost with you first:
|
|
139
|
+
|
|
140
|
+
- `create_niche_dive`, `redive_niche` — spend dive tokens (scales with
|
|
141
|
+
`numberOfCompetitors`).
|
|
142
|
+
- `create_rank_radar` — spends Search Term tokens (scales with
|
|
143
|
+
`numberOfKeywords`).
|
|
144
|
+
- `generate_listing_copy` — spends one AI Copywriter prompt per call.
|
|
145
|
+
- `delete_niche`, `delete_rank_radar` — destroy data permanently.
|
|
146
|
+
|
|
147
|
+
Check your remaining balance any time with `get_quota`.
|
|
148
|
+
|
|
149
|
+
The other write tools — `pause_rank_radar`, `resume_rank_radar` and the three
|
|
150
|
+
`*_rank_radar_search_terms` tools — need no confirmation. They only move Daily
|
|
151
|
+
Tracked Keywords capacity, which is freed again when you pause, and each is
|
|
152
|
+
undone by its counterpart.
|
|
133
153
|
|
|
134
154
|
To skip the per-call confirmation (e.g. in an automated setup), set
|
|
135
|
-
`DATADIVE_AUTO_CONFIRM_WRITES=true` in your client config — then
|
|
136
|
-
without `confirm
|
|
155
|
+
`DATADIVE_AUTO_CONFIRM_WRITES=true` in your client config — then all six run
|
|
156
|
+
without `confirm`, deletes included.
|
|
137
157
|
|
|
138
158
|
None of the three is **safe to retry** — each call spends tokens again and
|
|
139
159
|
creates a separate dive / re-dive / Rank Radar, even with identical arguments. If
|
|
@@ -166,7 +186,7 @@ niche follow the refreshed data. It takes a `mode`:
|
|
|
166
186
|
|---|---|---|---|
|
|
167
187
|
| `DATADIVE_API_KEY` | yes | — | Generate at https://2.datadive.tools/api-key |
|
|
168
188
|
| `DATADIVE_API_BASE_URL` | no | `https://api.datadive.tools` | Override for staging |
|
|
169
|
-
| `DATADIVE_AUTO_CONFIRM_WRITES` | no | `false` | Set truthy to let `
|
|
189
|
+
| `DATADIVE_AUTO_CONFIRM_WRITES` | no | `false` | Set truthy to let every `confirm: true` tool run without it — dives, rank radar creation, listing copy **and the two deletes**. |
|
|
170
190
|
|
|
171
191
|
## Troubleshooting
|
|
172
192
|
|
|
@@ -177,9 +197,10 @@ specific HTTP status from the DataDive API.
|
|
|
177
197
|
|---|---|
|
|
178
198
|
| **Authentication failed: your DATADIVE_API_KEY is invalid or expired** | The key is wrong, deleted, or expired. Generate a new one at https://2.datadive.tools/api-key. |
|
|
179
199
|
| **Subscription is inactive or paused** | Resume billing at https://2.datadive.tools — the API key is valid but the subscription isn't active. |
|
|
200
|
+
| **Quota exceeded** / **… quota exceeded** | The subscription's quota for that billable feature (Dive tokens, Rank Radar tracked keywords, AI Copywriter prompts, …) is used up. The message names the feature, the usage, the next refresh date when there is one, and links to the subscription overview page where it can be raised. Don't retry until it has been. |
|
|
180
201
|
| **Forbidden** | The key is valid but doesn't have access to that resource. Usually a niche/rank-radar that belongs to a different org. |
|
|
181
202
|
| **Rate limit exceeded** | Wait a few seconds and retry. |
|
|
182
|
-
| **Bad request** | Check the parameters — the message echoes the server's validation error (e.g., `pageSize must not exceed
|
|
203
|
+
| **Bad request** | Check the parameters — the message echoes the server's validation error (e.g., `pageSize must not exceed 50`). |
|
|
183
204
|
| **DataDive API error (5xx)** | Transient backend issue. Try again; if it persists, contact support. |
|
|
184
205
|
| **Network error reaching …** | Your machine can't reach `api.datadive.tools` — check VPN / firewall / DNS. |
|
|
185
206
|
|