@opencraw/mcp 0.1.2 → 0.1.3
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
|
@@ -37,6 +37,9 @@ a module of its choosing.
|
|
|
37
37
|
credentials as `{{env.NAME}}` read from the server's environment. The `probe` and `run` tools then take an
|
|
38
38
|
`access` argument naming a profile. The file and the credentials never pass through a tool call.
|
|
39
39
|
|
|
40
|
+
`OPENCRAW_PROFILES` is the directory of the persistent browser profiles recipes name in
|
|
41
|
+
`session.browserProfile` (default `.opencraw/profiles` in the server's working directory).
|
|
42
|
+
|
|
40
43
|
## Tools
|
|
41
44
|
|
|
42
45
|
### `probe`
|
|
@@ -90,6 +93,7 @@ Crawls the recipes at the given paths, or passed inline.
|
|
|
90
93
|
| `dryRun?` | One record per input recipe instead of a full crawl — for checking a recipe under construction. |
|
|
91
94
|
| `headed?`, `browserPath?`, `insecureTls?`, `userAgent?` | As in the cli. |
|
|
92
95
|
| `access?` | The access profile for recipes that name none, from the server's `OPENCRAW_ACCESS` config. |
|
|
96
|
+
| `parallel?` | How many input recipes run at once (1 to 16, default 1). |
|
|
93
97
|
|
|
94
98
|
Returns `{ report: CrawlReport, records?, truncated? }`. `records`/`truncated` are present only when `out`
|
|
95
99
|
was not given, and `records` is capped at 50 even then.
|
package/dist/index.esm.js
CHANGED
|
@@ -130,7 +130,8 @@ const runInputShape = {
|
|
|
130
130
|
browserPath: z.string().optional().describe('A browser binary other than the one Playwright installed. Defaults to OPENCRAW_CHROMIUM in the server\'s environment.'),
|
|
131
131
|
insecureTls: z.boolean().optional().describe("Accept an intercepting proxy's certificate. Defaults to OPENCRAW_INSECURE_TLS=1 in the server's environment."),
|
|
132
132
|
userAgent: z.string().optional().describe('The user agent to send.'),
|
|
133
|
-
access: z.string().optional().describe('An access profile (a proxy) from the server\'s access config file, OPENCRAW_ACCESS, used by every recipe that names none. The error for an unknown name lists the profiles.')
|
|
133
|
+
access: z.string().optional().describe('An access profile (a proxy) from the server\'s access config file, OPENCRAW_ACCESS, used by every recipe that names none. The error for an unknown name lists the profiles.'),
|
|
134
|
+
parallel: z.int().min(1).max(16).optional().describe('How many input recipes run at once. Default 1. Iterations inside a recipe follow its limits.concurrency.')
|
|
134
135
|
};
|
|
135
136
|
/**
|
|
136
137
|
* The `run` tool: crawls the recipes in `paths` or `recipes` (exactly one
|
|
@@ -179,6 +180,8 @@ async function runTool(args) {
|
|
|
179
180
|
access: serverFile('OPENCRAW_ACCESS'),
|
|
180
181
|
accessProfile: args.access
|
|
181
182
|
}),
|
|
183
|
+
profilesDir: serverFile('OPENCRAW_PROFILES'),
|
|
184
|
+
parallel: args.parallel,
|
|
182
185
|
resume: args.resume,
|
|
183
186
|
browser: {
|
|
184
187
|
headless: args.headed !== true,
|
|
@@ -14,6 +14,7 @@ export declare const runInputShape: {
|
|
|
14
14
|
insecureTls: z.ZodOptional<z.ZodBoolean>;
|
|
15
15
|
userAgent: z.ZodOptional<z.ZodString>;
|
|
16
16
|
access: z.ZodOptional<z.ZodString>;
|
|
17
|
+
parallel: z.ZodOptional<z.ZodInt>;
|
|
17
18
|
paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
19
|
recipes: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>>;
|
|
19
20
|
};
|
|
@@ -28,6 +29,7 @@ interface RunArgs extends RecipeSourceArgs {
|
|
|
28
29
|
insecureTls?: boolean;
|
|
29
30
|
userAgent?: string;
|
|
30
31
|
access?: string;
|
|
32
|
+
parallel?: number;
|
|
31
33
|
}
|
|
32
34
|
/** What the `run` tool returns. */
|
|
33
35
|
export interface RunResult {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opencraw/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.esm.js",
|
|
6
6
|
"module": "./dist/index.esm.js",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"!**/*.js.map"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@opencraw/core": "^0.1.
|
|
28
|
-
"@opencraw/cli": "^0.1.
|
|
27
|
+
"@opencraw/core": "^0.1.3",
|
|
28
|
+
"@opencraw/cli": "^0.1.3",
|
|
29
29
|
"@modelcontextprotocol/sdk": "^1.30.1",
|
|
30
30
|
"playwright": "^1.63.0",
|
|
31
31
|
"zod": "^4.6.5"
|