smart-web-mcp 0.20.1 → 0.20.2
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/CHANGELOG.md +8 -0
- package/dist/smartfetch/provider-policy.d.ts +1 -0
- package/dist/smartfetch/provider-policy.js +10 -1
- package/dist/smartfetch/provider-policy.js.map +1 -1
- package/dist/smartfetch/providers/naver-blog.js +30 -13
- package/dist/smartfetch/providers/naver-blog.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -70,6 +70,7 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
|
70
70
|
|
|
71
71
|
### Fixed
|
|
72
72
|
|
|
73
|
+
- `smartfetch target=naver_blog` now safely hydrates desktop/direct `blog.naver.com` pages through trusted `m.blog.naver.com` or frame content, while still rejecting arbitrary cross-origin iframe URLs and preserving unavailable/deleted blog guidance.
|
|
73
74
|
- `smartcrawl` docs summaries now suppress previous/next pager links from ranked results while still allowing pagination traversal, preventing duplicated navigation context from outranking relevant docs pages in configured MCP smokes.
|
|
74
75
|
- `kr_public_restroom` now returns structured coordinate guidance when neither `lat`/`lon` nor Kakao geocoding are available, instead of raising an MCP tool error.
|
|
75
76
|
- `smartfetch target=naver_blog` now treats invalid/deleted Naver Blog error shells as partial `blocked_or_unavailable` results with explicit guidance instead of rendering CSS/font declarations and asset links as successful post text.
|
|
@@ -108,6 +109,13 @@ The format is based on Keep a Changelog[^1] and this project uses SemVer.
|
|
|
108
109
|
- Korean public API helpers now validate outbound URLs and redirects before fetching, blocking localhost, private, and reserved targets unless `network.allowPrivateHosts` is explicitly enabled.
|
|
109
110
|
- CI now declares read-only default repository permissions, Dependabot auto-merge pins the reusable workflow without forwarding all caller secrets, and the workflow check enforces those guards.
|
|
110
111
|
|
|
112
|
+
## [0.20.2](https://github.com/jojo-labs/smart-web/compare/v0.20.1...v0.20.2) (2026-06-21)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### Bug Fixes
|
|
116
|
+
|
|
117
|
+
* hydrate Naver Blog desktop pages ([#309](https://github.com/jojo-labs/smart-web/issues/309)) ([90d6c18](https://github.com/jojo-labs/smart-web/commit/90d6c186c308536197e857f54d95fb0b7d7c16d3))
|
|
118
|
+
|
|
111
119
|
## [0.20.1](https://github.com/jojo-labs/smart-web/compare/v0.20.0...v0.20.1) (2026-06-20)
|
|
112
120
|
|
|
113
121
|
|
|
@@ -19,6 +19,15 @@ function isSameOrigin(targetUrl, sourceUrl) {
|
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
+
function isAllowedOrigin(targetUrl, options) {
|
|
23
|
+
try {
|
|
24
|
+
const target = normalizeOrigin(new URL(targetUrl));
|
|
25
|
+
return target === normalizeOrigin(new URL(options.sourceUrl)) || (options.allowedOrigins || []).includes(target);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
22
31
|
function sanitizeCrossOriginRedirectHeaders(headers) {
|
|
23
32
|
if (headers === undefined)
|
|
24
33
|
return undefined;
|
|
@@ -36,7 +45,7 @@ async function enforcePolicy(url, options) {
|
|
|
36
45
|
if (!validation.ok) {
|
|
37
46
|
return { ok: false, error: { category: "block", code: validation.reason, message: validation.message } };
|
|
38
47
|
}
|
|
39
|
-
if (options.mode === "same-origin" && !
|
|
48
|
+
if (options.mode === "same-origin" && !isAllowedOrigin(url, options)) {
|
|
40
49
|
return {
|
|
41
50
|
ok: false,
|
|
42
51
|
error: { category: "block", code: "provider_cross_origin_blocked", message: "Provider request crossed origin unexpectedly" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-policy.js","sourceRoot":"","sources":["../../src/smartfetch/provider-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"provider-policy.js","sourceRoot":"","sources":["../../src/smartfetch/provider-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { dedupeUrls, extractMetaDescription, extractMetaProperty, extractTitleFromHtml, extractUrls, stripTags } from "../../shared.js";
|
|
1
|
+
import { decodeHtml, dedupeUrls, extractMetaDescription, extractMetaProperty, extractTitleFromHtml, extractUrls, stripTags } from "../../shared.js";
|
|
2
2
|
import { fetchProviderText } from "../provider-policy.js";
|
|
3
3
|
const USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36";
|
|
4
|
+
const NAVER_BLOG_ORIGINS = ["https://blog.naver.com:443", "https://m.blog.naver.com:443"];
|
|
4
5
|
function cleanText(value) {
|
|
5
6
|
return String(value || "").replace(/\s+/g, " ").trim();
|
|
6
7
|
}
|
|
@@ -10,20 +11,34 @@ function removeNonContentBlocks(html) {
|
|
|
10
11
|
function stripNaverBlogContent(html) {
|
|
11
12
|
return cleanText(stripTags(removeNonContentBlocks(html)));
|
|
12
13
|
}
|
|
14
|
+
function isNaverBlogContentUrl(url) {
|
|
15
|
+
return url.protocol === "https:" && (url.hostname === "blog.naver.com" || url.hostname === "m.blog.naver.com");
|
|
16
|
+
}
|
|
13
17
|
function resolveNaverContentUrl(url, html) {
|
|
14
18
|
try {
|
|
15
19
|
const parsed = new URL(url);
|
|
16
20
|
const frame = html.match(/<iframe[^>]+id=["']mainFrame["'][^>]+src=["']([^"']+)["']/i)?.[1];
|
|
17
|
-
if (frame)
|
|
18
|
-
|
|
21
|
+
if (frame) {
|
|
22
|
+
const frameUrl = new URL(decodeHtml(frame), `${parsed.protocol}//${parsed.host}`);
|
|
23
|
+
if (isNaverBlogContentUrl(frameUrl))
|
|
24
|
+
return { url: frameUrl.toString() };
|
|
25
|
+
return {
|
|
26
|
+
url,
|
|
27
|
+
error: {
|
|
28
|
+
category: "block",
|
|
29
|
+
code: "naver_blog_untrusted_frame_url",
|
|
30
|
+
message: "Naver Blog frame URL was outside the trusted blog.naver.com/mobile blog origin set",
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
19
34
|
if (parsed.hostname === "blog.naver.com") {
|
|
20
|
-
return `https://m.blog.naver.com${parsed.pathname}${parsed.search}
|
|
35
|
+
return { url: `https://m.blog.naver.com${parsed.pathname}${parsed.search}` };
|
|
21
36
|
}
|
|
22
37
|
}
|
|
23
38
|
catch {
|
|
24
39
|
// Keep the original URL when the blog frame URL cannot be resolved.
|
|
25
40
|
}
|
|
26
|
-
return url;
|
|
41
|
+
return { url };
|
|
27
42
|
}
|
|
28
43
|
function extractNaverBody(html) {
|
|
29
44
|
const patterns = [
|
|
@@ -71,9 +86,12 @@ export const naverBlogProvider = {
|
|
|
71
86
|
id: "naver-blog",
|
|
72
87
|
matches: (_url, target) => target === "naver_blog",
|
|
73
88
|
async normalize(context) {
|
|
74
|
-
const
|
|
89
|
+
const resolvedContent = resolveNaverContentUrl(context.url, context.active.content);
|
|
90
|
+
const contentUrl = resolvedContent.url;
|
|
75
91
|
let html = context.active.content;
|
|
76
92
|
let method = context.active.method;
|
|
93
|
+
let errors = resolvedContent.error ? [...context.errors, resolvedContent.error] : context.errors;
|
|
94
|
+
let hydrated = false;
|
|
77
95
|
if (contentUrl !== context.url) {
|
|
78
96
|
const result = await fetchProviderText(contentUrl, context.timeoutMs, {
|
|
79
97
|
headers: {
|
|
@@ -84,16 +102,15 @@ export const naverBlogProvider = {
|
|
|
84
102
|
}, {
|
|
85
103
|
mode: "same-origin",
|
|
86
104
|
sourceUrl: context.url,
|
|
105
|
+
allowedOrigins: NAVER_BLOG_ORIGINS,
|
|
87
106
|
});
|
|
88
107
|
if (result.ok) {
|
|
89
108
|
html = result.text;
|
|
90
109
|
method = "naver_blog_frame";
|
|
110
|
+
hydrated = true;
|
|
91
111
|
}
|
|
92
112
|
else {
|
|
93
|
-
|
|
94
|
-
...context,
|
|
95
|
-
errors: [...context.errors, result.error],
|
|
96
|
-
};
|
|
113
|
+
errors = [...errors, result.error];
|
|
97
114
|
}
|
|
98
115
|
}
|
|
99
116
|
const title = extractMetaProperty(html, "og:title") || extractTitleFromHtml(html);
|
|
@@ -101,7 +118,7 @@ export const naverBlogProvider = {
|
|
|
101
118
|
const body = extractNaverBody(html);
|
|
102
119
|
const unavailable = isNaverBlogUnavailableShell(html, title, body);
|
|
103
120
|
const text = unavailable ? naverBlogUnavailableGuidance() : body;
|
|
104
|
-
const outboundLinks = dedupeUrls([...context.active.links, ...extractUrls(html)]);
|
|
121
|
+
const outboundLinks = dedupeUrls([...(hydrated ? [] : context.active.links), ...extractUrls(html)]);
|
|
105
122
|
return {
|
|
106
123
|
post: {
|
|
107
124
|
url: context.url,
|
|
@@ -117,10 +134,10 @@ export const naverBlogProvider = {
|
|
|
117
134
|
partial: !body || unavailable,
|
|
118
135
|
errors: unavailable
|
|
119
136
|
? [
|
|
120
|
-
...
|
|
137
|
+
...errors,
|
|
121
138
|
{ category: "unavailable", code: "naver_blog_post_unavailable", message: naverBlogUnavailableGuidance() },
|
|
122
139
|
]
|
|
123
|
-
:
|
|
140
|
+
: errors,
|
|
124
141
|
method,
|
|
125
142
|
};
|
|
126
143
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naver-blog.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/naver-blog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"naver-blog.js","sourceRoot":"","sources":["../../../src/smartfetch/providers/naver-blog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACnJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,UAAU,GAAG,iHAAiH,CAAA;AACpI,MAAM,kBAAkB,GAAG,CAAC,4BAA4B,EAAE,8BAA8B,CAAC,CAAA;AAEzF,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AACxD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAA;AAClF,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,SAAS,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAQ;IACrC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,gBAAgB,IAAI,GAAG,CAAC,QAAQ,KAAK,kBAAkB,CAAC,CAAA;AAChH,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW,EAAE,IAAY;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,4DAA4D,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC3F,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACjF,IAAI,qBAAqB,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAA;YACxE,OAAO;gBACL,GAAG;gBACH,KAAK,EAAE;oBACL,QAAQ,EAAE,OAAgB;oBAC1B,IAAI,EAAE,gCAAgC;oBACtC,OAAO,EAAE,oFAAoF;iBAC9F;aACF,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YACzC,OAAO,EAAE,GAAG,EAAE,2BAA2B,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAA;QAC9E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,QAAQ,GAAG;QACf,8EAA8E;QAC9E,oEAAoE;QACpE,0DAA0D;QAC1D,sEAAsE;KACvE,CAAA;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACjC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5C,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;QACvB,CAAC;IACH,CAAC;IACD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY;IAC5E,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,mBAAmB,GAAG,gGAAgG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvI,MAAM,iBAAiB,GAAG,+IAA+I,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpL,MAAM,mBAAmB,GAAG,6DAA6D,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC/G,MAAM,eAAe,GAAG,mKAAmK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAChN,MAAM,gBAAgB,GAAG,kFAAkF,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAChI,MAAM,SAAS,GAAG,eAAe,IAAI,gBAAgB,CAAA;IAErD,OAAO,OAAO,CACZ,CAAC,mBAAmB;WACjB,CACD,CAAC,iBAAiB,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAC;eACtD,CAAC,mBAAmB,IAAI,SAAS,CAAC,CACtC,CACF,CAAA;AACH,CAAC;AAED,SAAS,4BAA4B;IACnC,OAAO,gHAAgH,CAAA;AACzH,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,OAAO,yCAAyC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,yCAAyC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,EAAE,EAAE,YAAY;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,YAAY;IAClD,KAAK,CAAC,SAAS,CAAC,OAA0B;QACxC,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACnF,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAA;QACtC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;QACjC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAA;QAClC,IAAI,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAA;QAChG,IAAI,QAAQ,GAAG,KAAK,CAAA;QAEpB,IAAI,UAAU,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE;gBACpE,OAAO,EAAE;oBACP,MAAM,EAAE,0BAA0B;oBAClC,YAAY,EAAE,UAAU;oBACxB,OAAO,EAAE,OAAO,CAAC,GAAG;iBACrB;aACF,EAAE;gBACD,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,OAAO,CAAC,GAAG;gBACtB,cAAc,EAAE,kBAAkB;aACnC,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;gBAClB,MAAM,GAAG,kBAAkB,CAAA;gBAC3B,QAAQ,GAAG,IAAI,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACjF,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAC/F,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QAClE,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChE,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEnG,OAAO;YACL,IAAI,EAAE;gBACJ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,aAAa,EAAE,UAAU;gBACzB,KAAK;gBACL,WAAW;gBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC1B,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB;aAC/D;YACD,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;YAC9G,OAAO,EAAE,CAAC,IAAI,IAAI,WAAW;YAC7B,MAAM,EAAE,WAAW;gBACjB,CAAC,CAAC;oBACE,GAAG,MAAM;oBACT,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE;iBAC1G;gBACH,CAAC,CAAC,MAAM;YACV,MAAM;SACP,CAAA;IACH,CAAC;CACF,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "smart-web-mcp",
|
|
3
3
|
"mcpName": "io.github.jojo-labs/smart-web",
|
|
4
|
-
"version": "0.20.
|
|
4
|
+
"version": "0.20.2",
|
|
5
5
|
"packageManager": "npm@11.9.0",
|
|
6
6
|
"description": "Local MCP for web search, direct-URL fetch, compact normalized output, site crawling, and docs export.",
|
|
7
7
|
"homepage": "https://github.com/jojo-labs/smart-web",
|