@j0hanz/fetch-url-mcp 1.3.1 → 1.5.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 +24 -21
- package/dist/cli.d.ts +3 -3
- package/dist/cli.js +15 -8
- package/dist/http/auth.d.ts +6 -6
- package/dist/http/auth.js +78 -23
- package/dist/http/health.d.ts +1 -2
- package/dist/http/health.js +7 -18
- package/dist/http/helpers.d.ts +3 -11
- package/dist/http/helpers.js +28 -26
- package/dist/http/native.d.ts +0 -1
- package/dist/http/native.js +63 -41
- package/dist/http/rate-limit.d.ts +2 -2
- package/dist/http/rate-limit.js +11 -16
- package/dist/index.d.ts +0 -1
- package/dist/index.js +17 -20
- package/dist/{markdown-cleanup.d.ts → lib/content.d.ts} +4 -2
- package/dist/lib/content.js +1356 -0
- package/dist/lib/core.d.ts +253 -0
- package/dist/lib/core.js +1228 -0
- package/dist/{tool-pipeline.d.ts → lib/fetch-pipeline.d.ts} +1 -3
- package/dist/{tool-pipeline.js → lib/fetch-pipeline.js} +18 -44
- package/dist/{fetch.d.ts → lib/http.d.ts} +7 -9
- package/dist/{fetch.js → lib/http.js} +721 -1004
- package/dist/lib/mcp-tools.d.ts +28 -0
- package/dist/lib/mcp-tools.js +107 -0
- package/dist/{tool-progress.d.ts → lib/progress.d.ts} +0 -2
- package/dist/{tool-progress.js → lib/progress.js} +9 -14
- package/dist/lib/task-handlers.d.ts +5 -0
- package/dist/{mcp.js → lib/task-handlers.js} +95 -31
- package/dist/lib/url.d.ts +70 -0
- package/dist/lib/url.js +686 -0
- package/dist/lib/utils.d.ts +58 -0
- package/dist/lib/utils.js +304 -0
- package/dist/{prompts.d.ts → prompts/index.d.ts} +0 -1
- package/dist/{prompts.js → prompts/index.js} +1 -2
- package/dist/{resources.d.ts → resources/index.d.ts} +0 -1
- package/dist/{resources.js → resources/index.js} +87 -64
- package/dist/{instructions.d.ts → resources/instructions.d.ts} +0 -1
- package/dist/{instructions.js → resources/instructions.js} +5 -3
- package/dist/schemas/inputs.d.ts +7 -0
- package/dist/schemas/inputs.js +24 -0
- package/dist/schemas/outputs.d.ts +23 -0
- package/dist/schemas/outputs.js +77 -0
- package/dist/server.d.ts +0 -1
- package/dist/server.js +26 -25
- package/dist/tasks/execution.d.ts +0 -1
- package/dist/tasks/execution.js +106 -70
- package/dist/tasks/manager.d.ts +11 -3
- package/dist/tasks/manager.js +97 -73
- package/dist/tasks/owner.d.ts +3 -3
- package/dist/tasks/owner.js +2 -2
- package/dist/tasks/tool-registry.d.ts +11 -0
- package/dist/tasks/tool-registry.js +13 -0
- package/dist/tools/fetch-url.d.ts +28 -0
- package/dist/{tools.js → tools/fetch-url.js} +95 -147
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.js +4 -0
- package/dist/transform/html-translators.d.ts +1 -0
- package/dist/transform/html-translators.js +454 -0
- package/dist/transform/metadata.d.ts +4 -0
- package/dist/transform/metadata.js +183 -0
- package/dist/transform/transform.d.ts +0 -1
- package/dist/transform/transform.js +44 -679
- package/dist/transform/types.d.ts +9 -12
- package/dist/transform/types.js +0 -1
- package/dist/transform/worker-pool.d.ts +0 -1
- package/dist/transform/worker-pool.js +7 -16
- package/dist/transform/workers/shared.d.ts +7 -0
- package/dist/transform/workers/shared.js +130 -0
- package/dist/transform/workers/transform-child.d.ts +0 -1
- package/dist/transform/workers/transform-child.js +5 -135
- package/dist/transform/workers/transform-worker.d.ts +0 -1
- package/dist/transform/workers/transform-worker.js +7 -128
- package/package.json +11 -7
- package/dist/cache.d.ts +0 -54
- package/dist/cache.d.ts.map +0 -1
- package/dist/cache.js +0 -261
- package/dist/cache.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/config.d.ts +0 -141
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -473
- package/dist/config.js.map +0 -1
- package/dist/crypto.d.ts +0 -4
- package/dist/crypto.d.ts.map +0 -1
- package/dist/crypto.js +0 -56
- package/dist/crypto.js.map +0 -1
- package/dist/dom-noise-removal.d.ts +0 -2
- package/dist/dom-noise-removal.d.ts.map +0 -1
- package/dist/dom-noise-removal.js +0 -494
- package/dist/dom-noise-removal.js.map +0 -1
- package/dist/download.d.ts +0 -4
- package/dist/download.d.ts.map +0 -1
- package/dist/download.js +0 -106
- package/dist/download.js.map +0 -1
- package/dist/errors.d.ts +0 -11
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -65
- package/dist/errors.js.map +0 -1
- package/dist/examples/mcp-fetch-url-client.js +0 -329
- package/dist/examples/mcp-fetch-url-client.js.map +0 -1
- package/dist/fetch-content.d.ts +0 -5
- package/dist/fetch-content.d.ts.map +0 -1
- package/dist/fetch-content.js +0 -164
- package/dist/fetch-content.js.map +0 -1
- package/dist/fetch-stream.d.ts +0 -5
- package/dist/fetch-stream.d.ts.map +0 -1
- package/dist/fetch-stream.js +0 -29
- package/dist/fetch-stream.js.map +0 -1
- package/dist/fetch.d.ts.map +0 -1
- package/dist/fetch.js.map +0 -1
- package/dist/host-normalization.d.ts +0 -2
- package/dist/host-normalization.d.ts.map +0 -1
- package/dist/host-normalization.js +0 -91
- package/dist/host-normalization.js.map +0 -1
- package/dist/http/auth.d.ts.map +0 -1
- package/dist/http/auth.js.map +0 -1
- package/dist/http/health.d.ts.map +0 -1
- package/dist/http/health.js.map +0 -1
- package/dist/http/helpers.d.ts.map +0 -1
- package/dist/http/helpers.js.map +0 -1
- package/dist/http/native.d.ts.map +0 -1
- package/dist/http/native.js.map +0 -1
- package/dist/http/rate-limit.d.ts.map +0 -1
- package/dist/http/rate-limit.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/instructions.d.ts.map +0 -1
- package/dist/instructions.js.map +0 -1
- package/dist/ip-blocklist.d.ts +0 -9
- package/dist/ip-blocklist.d.ts.map +0 -1
- package/dist/ip-blocklist.js +0 -79
- package/dist/ip-blocklist.js.map +0 -1
- package/dist/json.d.ts +0 -2
- package/dist/json.d.ts.map +0 -1
- package/dist/json.js +0 -45
- package/dist/json.js.map +0 -1
- package/dist/language-detection.d.ts +0 -3
- package/dist/language-detection.d.ts.map +0 -1
- package/dist/language-detection.js +0 -355
- package/dist/language-detection.js.map +0 -1
- package/dist/markdown-cleanup.d.ts.map +0 -1
- package/dist/markdown-cleanup.js +0 -534
- package/dist/markdown-cleanup.js.map +0 -1
- package/dist/mcp-validator.d.ts +0 -17
- package/dist/mcp-validator.d.ts.map +0 -1
- package/dist/mcp-validator.js +0 -45
- package/dist/mcp-validator.js.map +0 -1
- package/dist/mcp.d.ts +0 -4
- package/dist/mcp.d.ts.map +0 -1
- package/dist/mcp.js.map +0 -1
- package/dist/observability.d.ts +0 -23
- package/dist/observability.d.ts.map +0 -1
- package/dist/observability.js +0 -238
- package/dist/observability.js.map +0 -1
- package/dist/prompts.d.ts.map +0 -1
- package/dist/prompts.js.map +0 -1
- package/dist/resources.d.ts.map +0 -1
- package/dist/resources.js.map +0 -1
- package/dist/server-tuning.d.ts +0 -15
- package/dist/server-tuning.d.ts.map +0 -1
- package/dist/server-tuning.js +0 -49
- package/dist/server-tuning.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/session.d.ts +0 -42
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -255
- package/dist/session.js.map +0 -1
- package/dist/tasks/execution.d.ts.map +0 -1
- package/dist/tasks/execution.js.map +0 -1
- package/dist/tasks/manager.d.ts.map +0 -1
- package/dist/tasks/manager.js.map +0 -1
- package/dist/tasks/owner.d.ts.map +0 -1
- package/dist/tasks/owner.js.map +0 -1
- package/dist/timer-utils.d.ts +0 -6
- package/dist/timer-utils.d.ts.map +0 -1
- package/dist/timer-utils.js +0 -27
- package/dist/timer-utils.js.map +0 -1
- package/dist/tool-errors.d.ts +0 -12
- package/dist/tool-errors.d.ts.map +0 -1
- package/dist/tool-errors.js +0 -55
- package/dist/tool-errors.js.map +0 -1
- package/dist/tool-pipeline.d.ts.map +0 -1
- package/dist/tool-pipeline.js.map +0 -1
- package/dist/tool-progress.d.ts.map +0 -1
- package/dist/tool-progress.js.map +0 -1
- package/dist/tools.d.ts +0 -54
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js.map +0 -1
- package/dist/transform/transform.d.ts.map +0 -1
- package/dist/transform/transform.js.map +0 -1
- package/dist/transform/types.d.ts.map +0 -1
- package/dist/transform/types.js.map +0 -1
- package/dist/transform/worker-pool.d.ts.map +0 -1
- package/dist/transform/worker-pool.js.map +0 -1
- package/dist/transform/workers/transform-child.d.ts.map +0 -1
- package/dist/transform/workers/transform-child.js.map +0 -1
- package/dist/transform/workers/transform-worker.d.ts.map +0 -1
- package/dist/transform/workers/transform-worker.js.map +0 -1
- package/dist/type-guards.d.ts +0 -16
- package/dist/type-guards.d.ts.map +0 -1
- package/dist/type-guards.js +0 -13
- package/dist/type-guards.js.map +0 -1
package/dist/config.js
DELETED
|
@@ -1,473 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from 'node:fs';
|
|
2
|
-
import { findPackageJSON } from 'node:module';
|
|
3
|
-
import { isIP } from 'node:net';
|
|
4
|
-
import process from 'node:process';
|
|
5
|
-
import { domainToASCII } from 'node:url';
|
|
6
|
-
import { getErrorMessage } from './errors.js';
|
|
7
|
-
function hasPackageJsonVersion(value) {
|
|
8
|
-
if (typeof value !== 'object' || value === null)
|
|
9
|
-
return false;
|
|
10
|
-
const record = value;
|
|
11
|
-
return typeof record.version === 'string';
|
|
12
|
-
}
|
|
13
|
-
function readServerVersion(moduleUrl) {
|
|
14
|
-
const packageJsonPath = findPackageJSON(moduleUrl);
|
|
15
|
-
if (!packageJsonPath)
|
|
16
|
-
throw new Error('package.json not found');
|
|
17
|
-
let packageJson;
|
|
18
|
-
try {
|
|
19
|
-
packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
throw new Error(`Failed to parse package.json at ${packageJsonPath}: ${getErrorMessage(error)}`, { cause: error });
|
|
23
|
-
}
|
|
24
|
-
if (!hasPackageJsonVersion(packageJson)) {
|
|
25
|
-
throw new Error(`package.json version is missing at ${packageJsonPath}`);
|
|
26
|
-
}
|
|
27
|
-
return packageJson.version;
|
|
28
|
-
}
|
|
29
|
-
export const serverVersion = readServerVersion(import.meta.url);
|
|
30
|
-
const LOG_LEVELS = ['debug', 'info', 'warn', 'error'];
|
|
31
|
-
const ALLOWED_LOG_LEVELS = new Set(LOG_LEVELS);
|
|
32
|
-
const DEFAULT_HEADING_KEYWORDS = [
|
|
33
|
-
'overview',
|
|
34
|
-
'introduction',
|
|
35
|
-
'summary',
|
|
36
|
-
'conclusion',
|
|
37
|
-
'prerequisites',
|
|
38
|
-
'requirements',
|
|
39
|
-
'installation',
|
|
40
|
-
'configuration',
|
|
41
|
-
'usage',
|
|
42
|
-
'features',
|
|
43
|
-
'limitations',
|
|
44
|
-
'troubleshooting',
|
|
45
|
-
'faq',
|
|
46
|
-
'resources',
|
|
47
|
-
'references',
|
|
48
|
-
'changelog',
|
|
49
|
-
'license',
|
|
50
|
-
'acknowledgments',
|
|
51
|
-
'appendix',
|
|
52
|
-
];
|
|
53
|
-
class ConfigError extends Error {
|
|
54
|
-
name = 'ConfigError';
|
|
55
|
-
}
|
|
56
|
-
function isMissingEnvFileError(error) {
|
|
57
|
-
if (!error || typeof error !== 'object')
|
|
58
|
-
return false;
|
|
59
|
-
const { code } = error;
|
|
60
|
-
return code === 'ENOENT' || code === 'ERR_ENV_FILE_NOT_FOUND';
|
|
61
|
-
}
|
|
62
|
-
function loadEnvFileIfAvailable() {
|
|
63
|
-
if (typeof process.loadEnvFile !== 'function')
|
|
64
|
-
return;
|
|
65
|
-
try {
|
|
66
|
-
process.loadEnvFile();
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
if (isMissingEnvFileError(error))
|
|
70
|
-
return;
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
loadEnvFileIfAvailable();
|
|
75
|
-
const { env } = process;
|
|
76
|
-
function buildIpv4(parts) {
|
|
77
|
-
return parts.join('.');
|
|
78
|
-
}
|
|
79
|
-
function stripTrailingDots(value) {
|
|
80
|
-
let result = value;
|
|
81
|
-
while (result.endsWith('.'))
|
|
82
|
-
result = result.slice(0, -1);
|
|
83
|
-
return result;
|
|
84
|
-
}
|
|
85
|
-
function formatHostForUrl(hostname) {
|
|
86
|
-
if (hostname.includes(':') && !hostname.startsWith('['))
|
|
87
|
-
return `[${hostname}]`;
|
|
88
|
-
return hostname;
|
|
89
|
-
}
|
|
90
|
-
function normalizeHostname(value) {
|
|
91
|
-
const trimmed = value.trim();
|
|
92
|
-
if (!trimmed)
|
|
93
|
-
return null;
|
|
94
|
-
const lowered = trimmed.toLowerCase();
|
|
95
|
-
const ipType = isIP(lowered);
|
|
96
|
-
if (ipType)
|
|
97
|
-
return stripTrailingDots(lowered);
|
|
98
|
-
const ascii = domainToASCII(lowered);
|
|
99
|
-
return ascii ? stripTrailingDots(ascii) : null;
|
|
100
|
-
}
|
|
101
|
-
function normalizeHostValue(value) {
|
|
102
|
-
const raw = value.trim();
|
|
103
|
-
if (!raw)
|
|
104
|
-
return null;
|
|
105
|
-
// Full URL
|
|
106
|
-
if (raw.includes('://')) {
|
|
107
|
-
if (!URL.canParse(raw))
|
|
108
|
-
return null;
|
|
109
|
-
return normalizeHostname(new URL(raw).hostname);
|
|
110
|
-
}
|
|
111
|
-
// host[:port]
|
|
112
|
-
const candidateUrl = `http://${raw}`;
|
|
113
|
-
if (URL.canParse(candidateUrl)) {
|
|
114
|
-
return normalizeHostname(new URL(candidateUrl).hostname);
|
|
115
|
-
}
|
|
116
|
-
const lowered = raw.toLowerCase();
|
|
117
|
-
// [::1]:port
|
|
118
|
-
if (lowered.startsWith('[')) {
|
|
119
|
-
const end = lowered.indexOf(']');
|
|
120
|
-
if (end === -1)
|
|
121
|
-
return null;
|
|
122
|
-
return normalizeHostname(lowered.slice(1, end));
|
|
123
|
-
}
|
|
124
|
-
// Bare IPv6
|
|
125
|
-
if (isIP(lowered) === 6)
|
|
126
|
-
return stripTrailingDots(lowered);
|
|
127
|
-
// Split host:port (single colon only)
|
|
128
|
-
const firstColon = lowered.indexOf(':');
|
|
129
|
-
if (firstColon === -1)
|
|
130
|
-
return normalizeHostname(lowered);
|
|
131
|
-
if (lowered.includes(':', firstColon + 1))
|
|
132
|
-
return null;
|
|
133
|
-
const host = lowered.slice(0, firstColon);
|
|
134
|
-
return host ? normalizeHostname(host) : null;
|
|
135
|
-
}
|
|
136
|
-
function parseIntegerValue(envValue, min, max) {
|
|
137
|
-
if (!envValue)
|
|
138
|
-
return null;
|
|
139
|
-
const parsed = Number.parseInt(envValue, 10);
|
|
140
|
-
if (Number.isNaN(parsed))
|
|
141
|
-
return null;
|
|
142
|
-
if (min !== undefined && parsed < min)
|
|
143
|
-
return null;
|
|
144
|
-
if (max !== undefined && parsed > max)
|
|
145
|
-
return null;
|
|
146
|
-
return parsed;
|
|
147
|
-
}
|
|
148
|
-
function parseOptionalInteger(envValue, min, max) {
|
|
149
|
-
return parseIntegerValue(envValue, min, max) ?? undefined;
|
|
150
|
-
}
|
|
151
|
-
function parseInteger(envValue, defaultValue, min, max) {
|
|
152
|
-
return parseIntegerValue(envValue, min, max) ?? defaultValue;
|
|
153
|
-
}
|
|
154
|
-
function parseBoolean(envValue, defaultValue) {
|
|
155
|
-
if (!envValue)
|
|
156
|
-
return defaultValue;
|
|
157
|
-
return envValue.trim().toLowerCase() !== 'false';
|
|
158
|
-
}
|
|
159
|
-
function parseList(envValue) {
|
|
160
|
-
if (!envValue)
|
|
161
|
-
return [];
|
|
162
|
-
return envValue
|
|
163
|
-
.split(/[\s,]+/)
|
|
164
|
-
.map((entry) => entry.trim())
|
|
165
|
-
.filter((entry) => entry.length > 0);
|
|
166
|
-
}
|
|
167
|
-
function parseListOrDefault(envValue, defaultValue) {
|
|
168
|
-
const parsed = parseList(envValue);
|
|
169
|
-
return parsed.length > 0 ? parsed : [...defaultValue];
|
|
170
|
-
}
|
|
171
|
-
function normalizeLocale(value) {
|
|
172
|
-
if (!value)
|
|
173
|
-
return undefined;
|
|
174
|
-
const trimmed = value.trim();
|
|
175
|
-
if (!trimmed)
|
|
176
|
-
return undefined;
|
|
177
|
-
const lowered = trimmed.toLowerCase();
|
|
178
|
-
if (lowered === 'system' || lowered === 'default')
|
|
179
|
-
return undefined;
|
|
180
|
-
return trimmed;
|
|
181
|
-
}
|
|
182
|
-
function isLogLevel(value) {
|
|
183
|
-
return ALLOWED_LOG_LEVELS.has(value);
|
|
184
|
-
}
|
|
185
|
-
function parseLogLevel(envValue) {
|
|
186
|
-
if (!envValue)
|
|
187
|
-
return 'info';
|
|
188
|
-
const level = envValue.toLowerCase();
|
|
189
|
-
return isLogLevel(level) ? level : 'info';
|
|
190
|
-
}
|
|
191
|
-
function parseTransformWorkerMode(envValue) {
|
|
192
|
-
if (!envValue)
|
|
193
|
-
return 'threads';
|
|
194
|
-
const normalized = envValue.trim().toLowerCase();
|
|
195
|
-
if (normalized === 'process' || normalized === 'fork')
|
|
196
|
-
return 'process';
|
|
197
|
-
return 'threads';
|
|
198
|
-
}
|
|
199
|
-
function parsePort(envValue) {
|
|
200
|
-
if (envValue?.trim() === '0')
|
|
201
|
-
return 0;
|
|
202
|
-
return parseInteger(envValue, 3000, 1024, 65535);
|
|
203
|
-
}
|
|
204
|
-
function parseUrlEnv(value, name) {
|
|
205
|
-
if (!value)
|
|
206
|
-
return undefined;
|
|
207
|
-
if (!URL.canParse(value)) {
|
|
208
|
-
throw new ConfigError(`Invalid ${name} value: ${value}`);
|
|
209
|
-
}
|
|
210
|
-
return new URL(value);
|
|
211
|
-
}
|
|
212
|
-
function readUrlEnv(name) {
|
|
213
|
-
return parseUrlEnv(env[name], name);
|
|
214
|
-
}
|
|
215
|
-
function parseAllowedHosts(envValue) {
|
|
216
|
-
const hosts = new Set();
|
|
217
|
-
for (const entry of parseList(envValue)) {
|
|
218
|
-
const normalized = normalizeHostValue(entry);
|
|
219
|
-
if (normalized)
|
|
220
|
-
hosts.add(normalized);
|
|
221
|
-
}
|
|
222
|
-
return hosts;
|
|
223
|
-
}
|
|
224
|
-
function readOptionalFilePath(value) {
|
|
225
|
-
if (!value)
|
|
226
|
-
return undefined;
|
|
227
|
-
const trimmed = value.trim();
|
|
228
|
-
return trimmed.length > 0 ? trimmed : undefined;
|
|
229
|
-
}
|
|
230
|
-
const MAX_HTML_BYTES = 10 * 1024 * 1024; // 10 MB
|
|
231
|
-
const MAX_INLINE_CONTENT_CHARS = parseInteger(env['MAX_INLINE_CONTENT_CHARS'], 0, 0, MAX_HTML_BYTES);
|
|
232
|
-
const DEFAULT_SESSION_TTL_MS = 30 * 60 * 1000;
|
|
233
|
-
const DEFAULT_SESSION_INIT_TIMEOUT_MS = 10000;
|
|
234
|
-
const DEFAULT_MAX_SESSIONS = 200;
|
|
235
|
-
const DEFAULT_USER_AGENT = `fetch-url-mcp/${serverVersion}`;
|
|
236
|
-
const DEFAULT_TOOL_TIMEOUT_PADDING_MS = 5000;
|
|
237
|
-
const DEFAULT_TRANSFORM_TIMEOUT_MS = 30000;
|
|
238
|
-
const DEFAULT_FETCH_TIMEOUT_MS = parseInteger(env['FETCH_TIMEOUT_MS'], 15000, 1000, 60000);
|
|
239
|
-
const DEFAULT_TOOL_TIMEOUT_MS = DEFAULT_FETCH_TIMEOUT_MS +
|
|
240
|
-
DEFAULT_TRANSFORM_TIMEOUT_MS +
|
|
241
|
-
DEFAULT_TOOL_TIMEOUT_PADDING_MS;
|
|
242
|
-
const DEFAULT_TASKS_MAX_TOTAL = parseInteger(env['TASKS_MAX_TOTAL'], 5000, 1);
|
|
243
|
-
const DEFAULT_TASKS_MAX_PER_OWNER = parseInteger(env['TASKS_MAX_PER_OWNER'], 1000, 1);
|
|
244
|
-
const RESOLVED_TASKS_MAX_PER_OWNER = Math.min(DEFAULT_TASKS_MAX_PER_OWNER, DEFAULT_TASKS_MAX_TOTAL);
|
|
245
|
-
function resolveWorkerResourceLimits() {
|
|
246
|
-
const limits = {};
|
|
247
|
-
let hasAny = false;
|
|
248
|
-
const entries = [
|
|
249
|
-
[
|
|
250
|
-
'maxOldGenerationSizeMb',
|
|
251
|
-
parseOptionalInteger(env['TRANSFORM_WORKER_MAX_OLD_GENERATION_MB'], 1),
|
|
252
|
-
],
|
|
253
|
-
[
|
|
254
|
-
'maxYoungGenerationSizeMb',
|
|
255
|
-
parseOptionalInteger(env['TRANSFORM_WORKER_MAX_YOUNG_GENERATION_MB'], 1),
|
|
256
|
-
],
|
|
257
|
-
[
|
|
258
|
-
'codeRangeSizeMb',
|
|
259
|
-
parseOptionalInteger(env['TRANSFORM_WORKER_CODE_RANGE_MB'], 1),
|
|
260
|
-
],
|
|
261
|
-
['stackSizeMb', parseOptionalInteger(env['TRANSFORM_WORKER_STACK_MB'], 1)],
|
|
262
|
-
];
|
|
263
|
-
for (const [key, value] of entries) {
|
|
264
|
-
if (value === undefined)
|
|
265
|
-
continue;
|
|
266
|
-
limits[key] = value;
|
|
267
|
-
hasAny = true;
|
|
268
|
-
}
|
|
269
|
-
return hasAny ? limits : undefined;
|
|
270
|
-
}
|
|
271
|
-
function readOAuthUrls(baseUrl) {
|
|
272
|
-
const issuerUrl = readUrlEnv('OAUTH_ISSUER_URL');
|
|
273
|
-
const authorizationUrl = readUrlEnv('OAUTH_AUTHORIZATION_URL');
|
|
274
|
-
const tokenUrl = readUrlEnv('OAUTH_TOKEN_URL');
|
|
275
|
-
const revocationUrl = readUrlEnv('OAUTH_REVOCATION_URL');
|
|
276
|
-
const registrationUrl = readUrlEnv('OAUTH_REGISTRATION_URL');
|
|
277
|
-
const introspectionUrl = readUrlEnv('OAUTH_INTROSPECTION_URL');
|
|
278
|
-
const resourceUrl = new URL('/mcp', baseUrl);
|
|
279
|
-
return {
|
|
280
|
-
issuerUrl,
|
|
281
|
-
authorizationUrl,
|
|
282
|
-
tokenUrl,
|
|
283
|
-
revocationUrl,
|
|
284
|
-
registrationUrl,
|
|
285
|
-
introspectionUrl,
|
|
286
|
-
resourceUrl,
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
function resolveAuthMode(urls) {
|
|
290
|
-
const oauthConfigured = [
|
|
291
|
-
urls.issuerUrl,
|
|
292
|
-
urls.authorizationUrl,
|
|
293
|
-
urls.tokenUrl,
|
|
294
|
-
urls.introspectionUrl,
|
|
295
|
-
].some((value) => value !== undefined);
|
|
296
|
-
return oauthConfigured ? 'oauth' : 'static';
|
|
297
|
-
}
|
|
298
|
-
function collectStaticTokens() {
|
|
299
|
-
const staticTokens = new Set(parseList(env['ACCESS_TOKENS']));
|
|
300
|
-
if (env['API_KEY'])
|
|
301
|
-
staticTokens.add(env['API_KEY']);
|
|
302
|
-
return [...staticTokens];
|
|
303
|
-
}
|
|
304
|
-
function buildAuthConfig(baseUrl) {
|
|
305
|
-
const urls = readOAuthUrls(baseUrl);
|
|
306
|
-
const mode = resolveAuthMode(urls);
|
|
307
|
-
return {
|
|
308
|
-
mode,
|
|
309
|
-
...urls,
|
|
310
|
-
requiredScopes: parseList(env['OAUTH_REQUIRED_SCOPES']),
|
|
311
|
-
clientId: env['OAUTH_CLIENT_ID'],
|
|
312
|
-
clientSecret: env['OAUTH_CLIENT_SECRET'],
|
|
313
|
-
introspectionTimeoutMs: 5000,
|
|
314
|
-
staticTokens: collectStaticTokens(),
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
function buildHttpsConfig() {
|
|
318
|
-
const keyFile = readOptionalFilePath(env['SERVER_TLS_KEY_FILE']);
|
|
319
|
-
const certFile = readOptionalFilePath(env['SERVER_TLS_CERT_FILE']);
|
|
320
|
-
const caFile = readOptionalFilePath(env['SERVER_TLS_CA_FILE']);
|
|
321
|
-
if ((keyFile && !certFile) || (!keyFile && certFile)) {
|
|
322
|
-
throw new ConfigError('Both SERVER_TLS_KEY_FILE and SERVER_TLS_CERT_FILE must be set together');
|
|
323
|
-
}
|
|
324
|
-
return {
|
|
325
|
-
enabled: Boolean(keyFile && certFile),
|
|
326
|
-
keyFile,
|
|
327
|
-
certFile,
|
|
328
|
-
caFile,
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
const LOOPBACK_V4 = buildIpv4([127, 0, 0, 1]);
|
|
332
|
-
const ANY_V4 = buildIpv4([0, 0, 0, 0]);
|
|
333
|
-
const METADATA_V4_AWS = buildIpv4([169, 254, 169, 254]);
|
|
334
|
-
const METADATA_V4_AZURE = buildIpv4([100, 100, 100, 200]);
|
|
335
|
-
const BLOCKED_HOSTS = new Set([
|
|
336
|
-
'localhost',
|
|
337
|
-
LOOPBACK_V4,
|
|
338
|
-
ANY_V4,
|
|
339
|
-
'::1',
|
|
340
|
-
METADATA_V4_AWS,
|
|
341
|
-
'metadata.google.internal',
|
|
342
|
-
'metadata.azure.com',
|
|
343
|
-
METADATA_V4_AZURE,
|
|
344
|
-
'instance-data',
|
|
345
|
-
]);
|
|
346
|
-
const host = (env['HOST'] ?? LOOPBACK_V4).trim();
|
|
347
|
-
const port = parsePort(env['PORT']);
|
|
348
|
-
const httpsConfig = buildHttpsConfig();
|
|
349
|
-
const maxConnections = parseInteger(env['SERVER_MAX_CONNECTIONS'], 0, 0);
|
|
350
|
-
const headersTimeoutMs = parseOptionalInteger(env['SERVER_HEADERS_TIMEOUT_MS'], 1);
|
|
351
|
-
const requestTimeoutMs = parseOptionalInteger(env['SERVER_REQUEST_TIMEOUT_MS'], 0);
|
|
352
|
-
const keepAliveTimeoutMs = parseOptionalInteger(env['SERVER_KEEP_ALIVE_TIMEOUT_MS'], 1);
|
|
353
|
-
const keepAliveTimeoutBufferMs = parseOptionalInteger(env['SERVER_KEEP_ALIVE_TIMEOUT_BUFFER_MS'], 0);
|
|
354
|
-
const maxHeadersCount = parseOptionalInteger(env['SERVER_MAX_HEADERS_COUNT'], 1);
|
|
355
|
-
const blockPrivateConnections = parseBoolean(env['SERVER_BLOCK_PRIVATE_CONNECTIONS'], false);
|
|
356
|
-
const allowRemote = parseBoolean(env['ALLOW_REMOTE'], false);
|
|
357
|
-
const baseUrl = new URL(`${httpsConfig.enabled ? 'https' : 'http'}://${formatHostForUrl(host)}:${port}`);
|
|
358
|
-
const runtimeState = {
|
|
359
|
-
httpMode: false,
|
|
360
|
-
};
|
|
361
|
-
export const config = {
|
|
362
|
-
server: {
|
|
363
|
-
name: 'fetch-url-mcp',
|
|
364
|
-
version: serverVersion,
|
|
365
|
-
port,
|
|
366
|
-
host,
|
|
367
|
-
https: httpsConfig,
|
|
368
|
-
sessionTtlMs: DEFAULT_SESSION_TTL_MS,
|
|
369
|
-
sessionInitTimeoutMs: DEFAULT_SESSION_INIT_TIMEOUT_MS,
|
|
370
|
-
maxSessions: DEFAULT_MAX_SESSIONS,
|
|
371
|
-
http: {
|
|
372
|
-
headersTimeoutMs,
|
|
373
|
-
requestTimeoutMs,
|
|
374
|
-
keepAliveTimeoutMs,
|
|
375
|
-
keepAliveTimeoutBufferMs,
|
|
376
|
-
maxHeadersCount,
|
|
377
|
-
maxConnections,
|
|
378
|
-
blockPrivateConnections,
|
|
379
|
-
shutdownCloseIdleConnections: true,
|
|
380
|
-
shutdownCloseAllConnections: false,
|
|
381
|
-
},
|
|
382
|
-
},
|
|
383
|
-
fetcher: {
|
|
384
|
-
timeout: DEFAULT_FETCH_TIMEOUT_MS,
|
|
385
|
-
maxRedirects: 5,
|
|
386
|
-
userAgent: env['USER_AGENT'] ?? DEFAULT_USER_AGENT,
|
|
387
|
-
maxContentLength: MAX_HTML_BYTES,
|
|
388
|
-
},
|
|
389
|
-
transform: {
|
|
390
|
-
timeoutMs: DEFAULT_TRANSFORM_TIMEOUT_MS,
|
|
391
|
-
stageWarnRatio: 0.5,
|
|
392
|
-
metadataFormat: 'markdown',
|
|
393
|
-
maxWorkerScale: 4,
|
|
394
|
-
cancelAckTimeoutMs: parseInteger(env['TRANSFORM_CANCEL_ACK_TIMEOUT_MS'], 200, 50, 5000),
|
|
395
|
-
workerMode: parseTransformWorkerMode(env['TRANSFORM_WORKER_MODE']),
|
|
396
|
-
workerResourceLimits: resolveWorkerResourceLimits(),
|
|
397
|
-
},
|
|
398
|
-
tools: {
|
|
399
|
-
enabled: ['fetch-url'],
|
|
400
|
-
timeoutMs: DEFAULT_TOOL_TIMEOUT_MS,
|
|
401
|
-
},
|
|
402
|
-
tasks: {
|
|
403
|
-
maxTotal: DEFAULT_TASKS_MAX_TOTAL,
|
|
404
|
-
maxPerOwner: RESOLVED_TASKS_MAX_PER_OWNER,
|
|
405
|
-
},
|
|
406
|
-
cache: {
|
|
407
|
-
enabled: parseBoolean(env['CACHE_ENABLED'], true),
|
|
408
|
-
ttl: 86400,
|
|
409
|
-
maxKeys: 100,
|
|
410
|
-
maxSizeBytes: 50 * 1024 * 1024, // 50MB
|
|
411
|
-
},
|
|
412
|
-
extraction: {
|
|
413
|
-
maxBlockLength: 5000,
|
|
414
|
-
minParagraphLength: 10,
|
|
415
|
-
},
|
|
416
|
-
noiseRemoval: {
|
|
417
|
-
extraTokens: parseList(env['FETCH_URL_MCP_EXTRA_NOISE_TOKENS']),
|
|
418
|
-
extraSelectors: parseList(env['FETCH_URL_MCP_EXTRA_NOISE_SELECTORS']),
|
|
419
|
-
enabledCategories: [
|
|
420
|
-
'cookie-banners',
|
|
421
|
-
'newsletters',
|
|
422
|
-
'social-share',
|
|
423
|
-
'nav-footer',
|
|
424
|
-
],
|
|
425
|
-
debug: false,
|
|
426
|
-
aggressiveMode: false,
|
|
427
|
-
preserveSvgCanvas: false,
|
|
428
|
-
weights: {
|
|
429
|
-
hidden: 50,
|
|
430
|
-
structural: 50,
|
|
431
|
-
promo: 35,
|
|
432
|
-
stickyFixed: 30,
|
|
433
|
-
threshold: 50,
|
|
434
|
-
},
|
|
435
|
-
},
|
|
436
|
-
markdownCleanup: {
|
|
437
|
-
promoteOrphanHeadings: true,
|
|
438
|
-
removeSkipLinks: true,
|
|
439
|
-
removeTocBlocks: true,
|
|
440
|
-
removeTypeDocComments: true,
|
|
441
|
-
headingKeywords: parseListOrDefault(env['MARKDOWN_HEADING_KEYWORDS'], DEFAULT_HEADING_KEYWORDS),
|
|
442
|
-
},
|
|
443
|
-
i18n: {
|
|
444
|
-
locale: normalizeLocale(env['FETCH_URL_MCP_LOCALE']),
|
|
445
|
-
},
|
|
446
|
-
logging: {
|
|
447
|
-
level: parseLogLevel(env['LOG_LEVEL']),
|
|
448
|
-
format: env['LOG_FORMAT']?.toLowerCase() === 'json' ? 'json' : 'text',
|
|
449
|
-
},
|
|
450
|
-
constants: {
|
|
451
|
-
maxHtmlSize: MAX_HTML_BYTES,
|
|
452
|
-
maxUrlLength: 2048,
|
|
453
|
-
maxInlineContentChars: MAX_INLINE_CONTENT_CHARS,
|
|
454
|
-
},
|
|
455
|
-
security: {
|
|
456
|
-
blockedHosts: BLOCKED_HOSTS,
|
|
457
|
-
allowedHosts: parseAllowedHosts(env['ALLOWED_HOSTS']),
|
|
458
|
-
apiKey: env['API_KEY'],
|
|
459
|
-
allowRemote,
|
|
460
|
-
},
|
|
461
|
-
auth: buildAuthConfig(baseUrl),
|
|
462
|
-
rateLimit: {
|
|
463
|
-
enabled: true,
|
|
464
|
-
maxRequests: 100,
|
|
465
|
-
windowMs: 60000,
|
|
466
|
-
cleanupIntervalMs: 60000,
|
|
467
|
-
},
|
|
468
|
-
runtime: runtimeState,
|
|
469
|
-
};
|
|
470
|
-
export function enableHttpMode() {
|
|
471
|
-
runtimeState.httpMode = true;
|
|
472
|
-
}
|
|
473
|
-
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare function timingSafeEqualUtf8(a: string, b: string): boolean;
|
|
2
|
-
export declare function sha256Hex(input: string | Uint8Array): string;
|
|
3
|
-
export declare function hmacSha256Hex(key: string | Uint8Array, input: string | Uint8Array): string;
|
|
4
|
-
//# sourceMappingURL=crypto.d.ts.map
|
package/dist/crypto.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAmDA,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAUjE;AAiBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAE5D;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,UAAU,EACxB,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,MAAM,CAER"}
|
package/dist/crypto.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'node:buffer';
|
|
2
|
-
import { createHash, createHmac, hash as oneShotHash, timingSafeEqual, } from 'node:crypto';
|
|
3
|
-
const MAX_HASH_INPUT_BYTES = 5 * 1024 * 1024;
|
|
4
|
-
const ALLOWED_HASH_ALGORITHMS = new Set([
|
|
5
|
-
'sha256',
|
|
6
|
-
'sha512',
|
|
7
|
-
]);
|
|
8
|
-
function byteLengthUtf8(input) {
|
|
9
|
-
// Avoid allocating (unlike TextEncoder().encode()).
|
|
10
|
-
return Buffer.byteLength(input, 'utf8');
|
|
11
|
-
}
|
|
12
|
-
function byteLength(input) {
|
|
13
|
-
return typeof input === 'string' ? byteLengthUtf8(input) : input.byteLength;
|
|
14
|
-
}
|
|
15
|
-
function assertAllowedAlgorithm(algorithm) {
|
|
16
|
-
// Defensive: protects against `any` / unchecked external inputs.
|
|
17
|
-
if (!ALLOWED_HASH_ALGORITHMS.has(algorithm)) {
|
|
18
|
-
throw new Error(`Hash algorithm not allowed: ${algorithm}`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
function padBuffer(buffer, length) {
|
|
22
|
-
const padded = Buffer.alloc(length);
|
|
23
|
-
buffer.copy(padded);
|
|
24
|
-
return padded;
|
|
25
|
-
}
|
|
26
|
-
function equalWithPadding(aBuffer, bBuffer, paddedLength) {
|
|
27
|
-
const paddedA = padBuffer(aBuffer, paddedLength);
|
|
28
|
-
const paddedB = padBuffer(bBuffer, paddedLength);
|
|
29
|
-
return timingSafeEqual(paddedA, paddedB) && aBuffer.length === bBuffer.length;
|
|
30
|
-
}
|
|
31
|
-
export function timingSafeEqualUtf8(a, b) {
|
|
32
|
-
const aBuffer = Buffer.from(a, 'utf8');
|
|
33
|
-
const bBuffer = Buffer.from(b, 'utf8');
|
|
34
|
-
if (aBuffer.length === bBuffer.length) {
|
|
35
|
-
return timingSafeEqual(aBuffer, bBuffer);
|
|
36
|
-
}
|
|
37
|
-
// Avoid early return timing differences on length mismatch.
|
|
38
|
-
const maxLength = Math.max(aBuffer.length, bBuffer.length);
|
|
39
|
-
return equalWithPadding(aBuffer, bBuffer, maxLength);
|
|
40
|
-
}
|
|
41
|
-
function hashHex(algorithm, input) {
|
|
42
|
-
assertAllowedAlgorithm(algorithm);
|
|
43
|
-
if (byteLength(input) <= MAX_HASH_INPUT_BYTES) {
|
|
44
|
-
return oneShotHash(algorithm, input, 'hex');
|
|
45
|
-
}
|
|
46
|
-
const hasher = createHash(algorithm);
|
|
47
|
-
hasher.update(input);
|
|
48
|
-
return hasher.digest('hex');
|
|
49
|
-
}
|
|
50
|
-
export function sha256Hex(input) {
|
|
51
|
-
return hashHex('sha256', input);
|
|
52
|
-
}
|
|
53
|
-
export function hmacSha256Hex(key, input) {
|
|
54
|
-
return createHmac('sha256', key).update(input).digest('hex');
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=crypto.js.map
|
package/dist/crypto.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dom-noise-removal.d.ts","sourceRoot":"","sources":["../src/dom-noise-removal.ts"],"names":[],"mappings":"AAqlBA,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,MAAM,CA0BR"}
|