pagebolt-mcp 1.9.1 → 1.10.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/package.json +1 -1
- package/server.json +2 -2
- package/src/index.mjs +10 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pagebolt-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"description": "MCP server for PageBolt — take screenshots, generate PDFs, create OG images, inspect pages, record demo videos with Audio Guide narration, from AI coding assistants like Claude, Cursor, and Windsurf.",
|
|
5
5
|
"main": "src/index.mjs",
|
|
6
6
|
"module": "src/index.mjs",
|
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/Custodia-Admin/pagebolt-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.10.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "pagebolt-mcp",
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.10.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/index.mjs
CHANGED
|
@@ -61,7 +61,7 @@ async function callApi(endpoint, options = {}) {
|
|
|
61
61
|
const method = options.method || 'GET';
|
|
62
62
|
const headers = {
|
|
63
63
|
'x-api-key': API_KEY,
|
|
64
|
-
'user-agent': 'pagebolt-mcp/1.
|
|
64
|
+
'user-agent': 'pagebolt-mcp/1.10.0',
|
|
65
65
|
...(options.body ? { 'Content-Type': 'application/json' } : {}),
|
|
66
66
|
};
|
|
67
67
|
const body = options.body ? JSON.stringify(options.body) : undefined;
|
|
@@ -284,7 +284,7 @@ Use blockBanners on almost every request to get clean captures. Combine blockAds
|
|
|
284
284
|
function createConfiguredServer() {
|
|
285
285
|
const srv = new McpServer({
|
|
286
286
|
name: 'pagebolt',
|
|
287
|
-
version: '1.
|
|
287
|
+
version: '1.10.0',
|
|
288
288
|
}, {
|
|
289
289
|
instructions: SERVER_INSTRUCTIONS,
|
|
290
290
|
});
|
|
@@ -896,10 +896,12 @@ server.tool(
|
|
|
896
896
|
blockTrackers: z.boolean().optional().describe('Block tracking scripts'),
|
|
897
897
|
blockRequests: z.array(z.string()).optional().describe('URL patterns to block'),
|
|
898
898
|
blockResources: z.array(z.string()).optional().describe('Resource types to block'),
|
|
899
|
+
// ── Session ──
|
|
900
|
+
session_id: z.string().optional().describe('Inspect the LIVE state of a persistent session (Starter+; create with create_session) instead of a fresh page load. Omit url to inspect the page exactly as the last run_sequence/take_screenshot left it; pass url to navigate within the session first. Ideal for re-perceiving between agent actions.'),
|
|
899
901
|
},
|
|
900
902
|
async (params) => {
|
|
901
|
-
if (!params.url && !params.html) {
|
|
902
|
-
return { content: [{ type: 'text', text: 'Error: Either "url" or "
|
|
903
|
+
if (!params.url && !params.html && !params.session_id) {
|
|
904
|
+
return { content: [{ type: 'text', text: 'Error: Either "url", "html", or "session_id" is required.' }], isError: true };
|
|
903
905
|
}
|
|
904
906
|
|
|
905
907
|
try {
|
|
@@ -1026,10 +1028,12 @@ server.tool(
|
|
|
1026
1028
|
blockAds: z.boolean().optional().describe('Block advertisements on the page'),
|
|
1027
1029
|
blockChats: z.boolean().optional().describe('Block live chat widgets'),
|
|
1028
1030
|
blockTrackers: z.boolean().optional().describe('Block tracking scripts'),
|
|
1031
|
+
// ── Session ──
|
|
1032
|
+
session_id: z.string().optional().describe('Observe the LIVE state of a persistent session (Starter+; create with create_session) instead of a fresh page load. Omit url to observe the page exactly as the last run_sequence/take_screenshot left it; pass url to navigate within the session first. This is the recommended way to re-perceive between agent actions and recover from popovers/redirects.'),
|
|
1029
1033
|
},
|
|
1030
1034
|
async (params) => {
|
|
1031
|
-
if (!params.url && !params.html) {
|
|
1032
|
-
return { content: [{ type: 'text', text: 'Error: Either "url" or "
|
|
1035
|
+
if (!params.url && !params.html && !params.session_id) {
|
|
1036
|
+
return { content: [{ type: 'text', text: 'Error: Either "url", "html", or "session_id" is required.' }], isError: true };
|
|
1033
1037
|
}
|
|
1034
1038
|
|
|
1035
1039
|
try {
|