@page2ai/mcp 0.3.2 → 0.4.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/CHANGELOG.md CHANGED
@@ -5,6 +5,16 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
5
5
  project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html); while the
6
6
  major version is `0`, a minor bump may carry breaking changes.
7
7
 
8
+ ## 0.4.0 - 2026-10-18
9
+
10
+ ### Security
11
+ - **`@page2ai/core` 0.3.0: SSRF guard hardening (BL-22).** DNS pinning closes the rebinding
12
+ window where `fetch()` could re-resolve a hostname to an internal address between the guard's
13
+ check and the connect. Extended blocklists cover multicast, broadcast, TEST-NET, NAT64, 6to4,
14
+ Teredo, documentation and discard IPv6 ranges. `undici` added as a transitive dependency through
15
+ core (zero transitive deps of its own). Core engines raised from >=18.0 to >=18.17 (mcp stays
16
+ >=20.0, unaffected).
17
+
8
18
  ## 0.3.2 - 2026-10-17
9
19
 
10
20
  ### Fixed
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "manifest_version": "0.3",
3
3
  "name": "page2ai-mcp",
4
4
  "display_name": "Page2AI — Web to Markdown",
5
- "version": "0.3.2",
5
+ "version": "0.4.0",
6
6
  "description": "Convert any web page to clean Markdown for LLM context",
7
7
  "long_description": "Page2AI MCP converts a web page URL to Markdown for AI context windows. It keeps the page's main content (its <main> or dominant <article>), preserves code blocks with language hints, converts tables and lists, and drops navigation, headers, footers and sidebars. The only network requests go to the URL you pass it and the addresses it redirects to, asked for as a browser opens a page, so docs platforms return the page itself rather than a Markdown copy of it: pure Node + linkedom, no browser, no cookies, no page scripts, no external services, no telemetry. A page behind a sign-in, or one rendered only by JavaScript, is therefore out of its reach.\n\nCompanion to the Page2AI browser extension (https://github.com/igorsaevets/page2ai-extension), which converts the live page in your own browser, including pages behind a sign-in. Built on the open-source @page2ai/core library.",
8
8
  "author": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@page2ai/mcp",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "mcpName": "io.github.igorsaevets/page2ai-mcp",
5
5
  "description": "MCP server that converts any web page URL to clean Markdown for LLM context. Processing is local and SSRF-guarded; no external APIs, no telemetry.",
6
6
  "type": "module",
@@ -35,13 +35,13 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@modelcontextprotocol/server": "^2.0.0",
38
- "@page2ai/core": "^0.2.2",
38
+ "@page2ai/core": "^0.3.0",
39
39
  "zod": "^4.2.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^26.2.0",
43
43
  "typescript": "^5.7.2",
44
- "vitest": "^4.1.10"
44
+ "vitest": "^5.0.5"
45
45
  },
46
46
  "keywords": [
47
47
  "mcp",
package/server.json CHANGED
@@ -8,12 +8,12 @@
8
8
  "source": "github"
9
9
  },
10
10
  "websiteUrl": "https://github.com/igorsaevets/page2ai-mcp#readme",
11
- "version": "0.3.2",
11
+ "version": "0.4.0",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "identifier": "@page2ai/mcp",
16
- "version": "0.3.2",
16
+ "version": "0.4.0",
17
17
  "transport": {
18
18
  "type": "stdio"
19
19
  }