@page2ai/mcp 0.1.0 → 0.1.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/README.md +31 -1
- package/dist/index.js +0 -0
- package/manifest.json +13 -12
- package/package.json +8 -3
- package/server.json +5 -4
package/README.md
CHANGED
|
@@ -104,6 +104,10 @@ Future versions will support options via tool arguments:
|
|
|
104
104
|
|
|
105
105
|
`@page2ai/mcp` collects no data, sends no telemetry, and makes no external network calls beyond the URLs you explicitly provide. See [PRIVACY.md](./PRIVACY.md) for details.
|
|
106
106
|
|
|
107
|
+
## Known advisories
|
|
108
|
+
|
|
109
|
+
`npm audit` will surface a moderate finding in `@hono/node-server` (a transitive dependency of `@modelcontextprotocol/sdk`). That vulnerability lives in the SDK's HTTP/OAuth server path; `@page2ai/mcp` uses only the stdio transport and never loads that code path, so it is not exploitable through this package. The audit line will clear once the SDK bumps its Hono constraint to `>=2.0.5`.
|
|
110
|
+
|
|
107
111
|
## Development
|
|
108
112
|
|
|
109
113
|
```bash
|
|
@@ -122,7 +126,32 @@ npx @modelcontextprotocol/inspector node dist/index.js
|
|
|
122
126
|
## Support
|
|
123
127
|
|
|
124
128
|
- GitHub issues: https://github.com/igorsaevets/page2ai-mcp/issues
|
|
125
|
-
-
|
|
129
|
+
- Docs: https://igorsaevets.github.io/page2ai-docs/mcp/
|
|
130
|
+
|
|
131
|
+
## About the author
|
|
132
|
+
|
|
133
|
+
Written and maintained by **Igor Saevets** — AI expert and founder of Page2AI. Full bio and social links: [igorsaevets.github.io/page2ai-docs/about/](https://igorsaevets.github.io/page2ai-docs/about/).
|
|
134
|
+
|
|
135
|
+
- LinkedIn: [linkedin.com/in/igorsaevets](https://www.linkedin.com/in/igorsaevets/)
|
|
136
|
+
- GitHub: [github.com/igorsaevets](https://github.com/igorsaevets)
|
|
137
|
+
- ORCID: [0009-0006-8636-1377](https://orcid.org/0009-0006-8636-1377)
|
|
138
|
+
- Email: igorsaevets@gmail.com
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
## Build provenance
|
|
142
|
+
|
|
143
|
+
An MCP server runs with the privileges of whatever launched it, so where the tarball came from
|
|
144
|
+
is a security question, not a formality. Releases from v0.1.2 onward are published from GitHub
|
|
145
|
+
Actions with [npm provenance](https://docs.npmjs.com/generating-provenance-statements): each
|
|
146
|
+
version carries a Sigstore attestation naming the commit and workflow run that produced it,
|
|
147
|
+
recorded in the public Rekor transparency ledger and shown as a badge on npmjs.com.
|
|
148
|
+
|
|
149
|
+
Check it before you trust it:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
npm audit signatures
|
|
153
|
+
npm view @page2ai/mcp --json | jq '.dist.attestations'
|
|
154
|
+
```
|
|
126
155
|
|
|
127
156
|
## License
|
|
128
157
|
|
|
@@ -132,4 +161,5 @@ MIT — see [LICENSE](./LICENSE). Copyright © 2026 Igor Saevets.
|
|
|
132
161
|
|
|
133
162
|
- **Page2AI Chrome extension** — https://github.com/igorsaevets/page2ai-extension (same extraction core, distributed as a browser extension for humans)
|
|
134
163
|
- **@page2ai/core** — https://npmjs.com/package/@page2ai/core (the shared extraction library)
|
|
164
|
+
- **page2ai-mcp** (unscoped) — https://npmjs.com/package/page2ai-mcp (thin wrapper around this package, published so `npx -y page2ai-mcp` works without a scope prefix)
|
|
135
165
|
- **Software Heritage archive** — SWHID `swh:1:snp:05123c51ef9e7c0aeb06f42b1263c07a8d26999a`
|
package/dist/index.js
CHANGED
|
File without changes
|
package/manifest.json
CHANGED
|
@@ -2,18 +2,21 @@
|
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "page2ai-mcp",
|
|
4
4
|
"display_name": "Page2AI — Web to Markdown",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.1",
|
|
6
6
|
"description": "Convert any web page or HTML string to clean Markdown for LLM context",
|
|
7
7
|
"long_description": "Page2AI MCP converts web pages to Markdown optimized for AI context windows. Extracts main content using DOM-position-aware dedup, preserves code blocks with language hints, converts tables and lists, and strips navigation, ads, and cookie banners. Works offline against local HTML strings or online against URLs. Zero external API calls in v0.1 — pure Node + linkedom.\n\nCompanion to the Page2AI Chrome extension. Shares the same extraction core (@page2ai/core) with the browser extension available at https://github.com/igorsaevets/page2ai-extension.",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Igor Saevets",
|
|
10
10
|
"email": "igorsaevets@gmail.com",
|
|
11
|
-
"url": "https://github.
|
|
11
|
+
"url": "https://igorsaevets.github.io/page2ai-docs/about/"
|
|
12
12
|
},
|
|
13
|
-
"repository":
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/igorsaevets/page2ai-mcp"
|
|
16
|
+
},
|
|
17
|
+
"homepage": "https://igorsaevets.github.io/page2ai-docs/",
|
|
18
|
+
"documentation": "https://igorsaevets.github.io/page2ai-docs/mcp/",
|
|
19
|
+
"support": "https://github.com/igorsaevets/page2ai-mcp/issues",
|
|
17
20
|
"icon": "icon.png",
|
|
18
21
|
"license": "MIT",
|
|
19
22
|
"keywords": [
|
|
@@ -27,22 +30,20 @@
|
|
|
27
30
|
"rag"
|
|
28
31
|
],
|
|
29
32
|
"privacy_policies": [
|
|
30
|
-
"https://github.
|
|
33
|
+
"https://igorsaevets.github.io/page2ai-docs/privacy/"
|
|
31
34
|
],
|
|
32
35
|
"server": {
|
|
33
36
|
"type": "node",
|
|
34
|
-
"entry_point": "
|
|
37
|
+
"entry_point": "dist/index.js",
|
|
35
38
|
"mcp_config": {
|
|
36
39
|
"command": "node",
|
|
37
|
-
"args": ["${__dirname}/
|
|
40
|
+
"args": ["${__dirname}/dist/index.js"]
|
|
38
41
|
}
|
|
39
42
|
},
|
|
40
43
|
"tools": [
|
|
41
44
|
{
|
|
42
45
|
"name": "page_to_markdown",
|
|
43
|
-
"
|
|
44
|
-
"description": "Fetch a web page URL and convert it to clean Markdown. Preserves headings, code blocks, links, and tables; strips ads, navigation, cookie banners, and footers.",
|
|
45
|
-
"readOnlyHint": true
|
|
46
|
+
"description": "Fetch a web page URL and convert it to clean Markdown. Preserves headings, code blocks, links, and tables; strips ads, navigation, cookie banners, and footers."
|
|
46
47
|
}
|
|
47
48
|
],
|
|
48
49
|
"compatibility": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@page2ai/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"mcpName": "io.github.igorsaevets/page2ai-mcp",
|
|
4
5
|
"description": "MCP server that converts any web page URL to clean Markdown for LLM context. Zero external API calls, SSRF-guarded, 100% local.",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"bin": {
|
|
@@ -56,9 +57,13 @@
|
|
|
56
57
|
"rag",
|
|
57
58
|
"page2ai"
|
|
58
59
|
],
|
|
59
|
-
"author":
|
|
60
|
+
"author": {
|
|
61
|
+
"name": "Igor Saevets",
|
|
62
|
+
"email": "igorsaevets@gmail.com",
|
|
63
|
+
"url": "https://igorsaevets.github.io/page2ai-docs/about/"
|
|
64
|
+
},
|
|
60
65
|
"license": "MIT",
|
|
61
|
-
"homepage": "https://github.
|
|
66
|
+
"homepage": "https://igorsaevets.github.io/page2ai-docs/",
|
|
62
67
|
"repository": {
|
|
63
68
|
"type": "git",
|
|
64
69
|
"url": "https://github.com/igorsaevets/page2ai-mcp.git"
|
package/server.json
CHANGED
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.igorsaevets/page2ai-mcp",
|
|
4
4
|
"title": "Page2AI — Web to Markdown",
|
|
5
|
-
"description": "Convert
|
|
5
|
+
"description": "Convert web pages or HTML to clean Markdown for LLM context. Local, no external API calls.",
|
|
6
6
|
"repository": {
|
|
7
|
-
"url": "https://github.com/igorsaevets/page2ai-
|
|
7
|
+
"url": "https://github.com/igorsaevets/page2ai-mcp",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"
|
|
10
|
+
"websiteUrl": "https://github.com/igorsaevets/page2ai-mcp#readme",
|
|
11
|
+
"version": "0.1.1",
|
|
11
12
|
"packages": [
|
|
12
13
|
{
|
|
13
14
|
"registryType": "npm",
|
|
14
15
|
"identifier": "@page2ai/mcp",
|
|
15
|
-
"version": "0.1.
|
|
16
|
+
"version": "0.1.1",
|
|
16
17
|
"transport": { "type": "stdio" }
|
|
17
18
|
}
|
|
18
19
|
]
|