crw-mcp 0.39.1 → 0.41.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.
Files changed (2) hide show
  1. package/package.json +5 -5
  2. package/skills/SKILL.md +38 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crw-mcp",
3
- "version": "0.39.1",
3
+ "version": "0.41.0",
4
4
  "description": "MCP server for CRW web scraper — scrape, crawl, map, extract, search, and PDF-parse tools for AI agents",
5
5
  "license": "AGPL-3.0",
6
6
  "author": "fastCRW <hello@fastcrw.com>",
@@ -38,9 +38,9 @@
38
38
  "skills/SKILL.md"
39
39
  ],
40
40
  "optionalDependencies": {
41
- "crw-mcp-darwin-x64": "0.39.1",
42
- "crw-mcp-darwin-arm64": "0.39.1",
43
- "crw-mcp-linux-x64": "0.39.1",
44
- "crw-mcp-linux-arm64": "0.39.1"
41
+ "crw-mcp-darwin-x64": "0.41.0",
42
+ "crw-mcp-darwin-arm64": "0.41.0",
43
+ "crw-mcp-linux-x64": "0.41.0",
44
+ "crw-mcp-linux-arm64": "0.41.0"
45
45
  }
46
46
  }
package/skills/SKILL.md CHANGED
@@ -53,6 +53,7 @@ Parameters:
53
53
  - `waitFor` — Milliseconds to wait after page load before capturing
54
54
  - `renderer` — Renderer override (e.g. `"chrome"`)
55
55
  - `maxLength` — Truncate output to this many chars. `0` = unbounded. Default: ~15 000
56
+ - `startIndex`: resume a truncated result at this char offset (the truncation marker names it)
56
57
 
57
58
  ### crw_crawl
58
59
 
@@ -83,7 +84,7 @@ Returns: `{ "status": "scraping|completed|failed", "data": [...] }`
83
84
 
84
85
  ### crw_search
85
86
 
86
- Search the web for current information, news, facts, or docs. Use whenever the answer may depend on up-to-date or external information. Returns ranked results (url/title/description/snippet); optionally scrape each result inline. Always available in proxy/cloud mode; in embedded mode only when a search backend is configured.
87
+ Search the web and return ranked results (url/title/description/snippet); optionally scrape each result inline. Always available in proxy/cloud mode; in embedded mode only when a search backend is configured.
87
88
 
88
89
  Parameters:
89
90
  - `query` (required) — The search query
@@ -153,6 +154,36 @@ Parameters:
153
154
  - `parsers` — Document parsers to apply. Default: `["pdf"]`
154
155
  - `maxLength` — Truncate output to this many chars. `0` = unbounded. Default: ~15 000
155
156
 
157
+ ### crw_find_data
158
+
159
+ Cloud (proxy) mode only. Find structured data sources from named public APIs (papers, packages, registries, music metadata). Use it before `crw_get_data`; use `crw_search` for open web search instead.
160
+
161
+ Parameters:
162
+ - `query`: Words to match against source names and descriptions
163
+ - `category`: Only sources in this category (e.g. `"Research"`)
164
+ - `provider`: Only this provider
165
+ - `limit`: Results per page (1 to 50). Default: `10`
166
+ - `offset`: Results to skip; pass `nextOffset` for the next page
167
+
168
+ Returns: `{ "items": [{ "provider", "capability", "requiredOptions", "optionalOptions", "keyRequired", "keyConfigured", ... }], "total", "nextOffset" }`. `keyConfigured` appears on sources that run on the user's machine with their own key, and says whether that key is stored.
169
+
170
+ ### crw_get_data
171
+
172
+ Cloud (proxy) mode only. Call one data source capability and get its JSON.
173
+
174
+ Parameters:
175
+ - `provider` (required): Provider id from `crw_find_data`
176
+ - `capability` (required): Capability id from `crw_find_data`
177
+ - `options`: Object of string, number or boolean values; include every name in `requiredOptions`
178
+
179
+ Returns: `{ "provider", "capability", "creditsUsed", "provenance": { "source", "upstreamUrl", "licence", "attributionText", ... }, "data": ... }`. Pass `provenance.licence` and `attributionText` on when you use the data.
180
+
181
+ Errors start with a code in brackets. When the source needs the user's own key:
182
+ - `[connector_key_missing]` or `[connector_origin_not_approved]`: Do not retry. Tell the user to run the command the error names in their own terminal (for example `npx -y crw-mcp connectors set-key <provider>`, or `crw connectors set-key <provider>` with the `crw` CLI). It shows where the key will be sent, asks them to approve, and reads the key from a hidden prompt. Never ask the user to paste the key into the chat. Once it is stored, call `crw_get_data` again; no restart is needed.
183
+ - `[invalid_options]`: Fix the options using `requiredOptions` / `optionalOptions` from `crw_find_data`.
184
+ - `[result_too_large]`: Narrow the options (a filter, fewer fields, a smaller page) and call again.
185
+ - `[data_sources_unavailable]`: The API has no data sources right now (or it is a self-hosted server); use `crw_search` or `crw_scrape` instead.
186
+
156
187
  ## Common Patterns
157
188
 
158
189
  **Scrape a page for context:**
@@ -173,6 +204,12 @@ crw_check_crawl_status(id="...") → poll until completed
173
204
  crw_search(query="your search query", limit=5)
174
205
  ```
175
206
 
207
+ **Get structured data from a named API (cloud mode):**
208
+ ```
209
+ crw_find_data(query="economic time series") → provider, capability, requiredOptions
210
+ crw_get_data(provider="...", capability="...", options={...}) → data + provenance
211
+ ```
212
+
176
213
  **Search from the CLI (one-shot LLM-ready output):**
177
214
 
178
215
  When the `crw` binary is available, prefer the native field projection