brewpage-mcp 1.15.2 → 1.15.3
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 +11 -7
- package/dist/tools.d.ts +1 -1
- package/dist/tools.js +6 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Choosing a host? See how BrewPage compares with GitHub Pages, Netlify Drop, Tiin
|
|
|
17
17
|
## Quick Start
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
npx -y brewpage-mcp@1.15.
|
|
20
|
+
npx -y brewpage-mcp@1.15.3
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Requires Node.js 20 or newer. This starts the stdio server for an MCP client.
|
|
@@ -50,7 +50,7 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
|
50
50
|
"mcpServers": {
|
|
51
51
|
"brewpage": {
|
|
52
52
|
"command": "npx",
|
|
53
|
-
"args": ["-y", "brewpage-mcp@1.15.
|
|
53
|
+
"args": ["-y", "brewpage-mcp@1.15.3"]
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -61,7 +61,7 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
|
61
61
|
Register a project-scoped stdio server:
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
claude mcp add --transport stdio --scope project brewpage -- npx -y brewpage-mcp@1.15.
|
|
64
|
+
claude mcp add --transport stdio --scope project brewpage -- npx -y brewpage-mcp@1.15.3
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
This writes `.mcp.json` in the project root. Use `--scope user` for user-scoped registration. See the [official Claude Code MCP guide](https://code.claude.com/docs/en/mcp).
|
|
@@ -75,7 +75,7 @@ Open **Settings > MCP** and add:
|
|
|
75
75
|
"mcpServers": {
|
|
76
76
|
"brewpage": {
|
|
77
77
|
"command": "npx",
|
|
78
|
-
"args": ["-y", "brewpage-mcp@1.15.
|
|
78
|
+
"args": ["-y", "brewpage-mcp@1.15.3"]
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -89,7 +89,7 @@ Open the Cline MCP settings panel and add:
|
|
|
89
89
|
{
|
|
90
90
|
"brewpage": {
|
|
91
91
|
"command": "npx",
|
|
92
|
-
"args": ["-y", "brewpage-mcp@1.15.
|
|
92
|
+
"args": ["-y", "brewpage-mcp@1.15.3"]
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
```
|
|
@@ -97,7 +97,7 @@ Open the Cline MCP settings panel and add:
|
|
|
97
97
|
### Global Install
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
npm install -g brewpage-mcp@1.15.
|
|
100
|
+
npm install -g brewpage-mcp@1.15.3
|
|
101
101
|
brewpage-mcp
|
|
102
102
|
```
|
|
103
103
|
|
|
@@ -158,7 +158,7 @@ update_hosting(type="html", namespace="public", id="aBcDeFgHiJ", ownerToken="tok
|
|
|
158
158
|
|
|
159
159
|
Publish HTML or Markdown content to BrewPage. Returns a public URL and owner token. Markdown raw HTML is rendered through an allowlist: scripts, styles, event handlers, forms, frames/embeds and `meta`/`base`/`link` are removed; links allow `http`, `https`, `mailto`, `tel` and relative URLs, images also `data:`; a lone unknown tag such as `<author>` shows as text.
|
|
160
160
|
|
|
161
|
-
Parameters: `content` (string), `format` (
|
|
161
|
+
Parameters: `content` (string), `format` (optional; omit to let the server detect HTML, Markdown, code or JSON; `html` keeps code/JSON as HTML; also `markdown`/`md` or a code language), `namespace` (optional -- **omit for private, unlisted content**; `public` lists the page in the gallery and sitemap for Google, Bing and AI search, served on the brewpage.app domain; never put secrets there), `password` (optional), `ttlDays` (days or a string such as `2w`; default 15; the server clamps to 1--30), `filename` (optional, used as title fallback), `showTopBar` (optional boolean -- adds a toolbar with filename, Download button, and theme toggle), `deliveryMode` (optional).
|
|
162
162
|
|
|
163
163
|
The result includes `deliveryModeReason` and a `Delivery notice:` line when the server returns them (see above).
|
|
164
164
|
|
|
@@ -530,6 +530,10 @@ Every publish response includes an **owner token** -- the only credential that a
|
|
|
530
530
|
|
|
531
531
|
## Changelog
|
|
532
532
|
|
|
533
|
+
## 1.15.3 -- 2026-10-29
|
|
534
|
+
|
|
535
|
+
- `publish_html` sends `format` only when given, so the server detects code or JSON (contract 2.8.27); pass `html` to keep HTML.
|
|
536
|
+
|
|
533
537
|
## 1.15.2 -- 2026-10-29
|
|
534
538
|
|
|
535
539
|
- `publish_site` and `republish_site` print the site's entry page title (`Title:`) when the server reports one.
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
export declare const DEFAULT_BASE_URL = "https://brewpage.app";
|
|
3
|
-
export declare const USER_AGENT = "brewpage-mcp/1.15.
|
|
3
|
+
export declare const USER_AGENT = "brewpage-mcp/1.15.3";
|
|
4
4
|
export declare const OWNER_TOKEN_ENV = "BREWPAGE_OWNER_TOKEN";
|
|
5
5
|
export interface ServerOptions {
|
|
6
6
|
/** BrewPage origin for API calls; default https://brewpage.app. */
|
package/dist/tools.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
export const DEFAULT_BASE_URL = "https://brewpage.app";
|
|
4
|
-
export const USER_AGENT = "brewpage-mcp/1.15.
|
|
4
|
+
export const USER_AGENT = "brewpage-mcp/1.15.3";
|
|
5
5
|
export const OWNER_TOKEN_ENV = "BREWPAGE_OWNER_TOKEN";
|
|
6
6
|
const READ_ONLY = { readOnlyHint: true };
|
|
7
7
|
const DESTRUCTIVE = { readOnlyHint: false, destructiveHint: true };
|
|
@@ -188,7 +188,7 @@ export function createServer(options = {}) {
|
|
|
188
188
|
const apiFetch = options.fetch ?? fetch;
|
|
189
189
|
const server = new McpServer({
|
|
190
190
|
name: "brewpage-mcp",
|
|
191
|
-
version: "1.15.
|
|
191
|
+
version: "1.15.3",
|
|
192
192
|
});
|
|
193
193
|
/** Caller argument first, then the configured default; `fromEnv` marks the configured one. */
|
|
194
194
|
function ownerTokenFor(argument) {
|
|
@@ -267,13 +267,13 @@ export function createServer(options = {}) {
|
|
|
267
267
|
"the result then includes deliveryModeReason and a delivery notice. Markdown raw HTML is allowlisted: scripts, styles, event handlers, forms and embeds are removed. " +
|
|
268
268
|
MANAGE_URL_TEXT + " " + SECRETS,
|
|
269
269
|
inputSchema: {
|
|
270
|
-
content: z.string().describe("HTML or
|
|
270
|
+
content: z.string().describe("HTML, Markdown, code or JSON to publish"),
|
|
271
271
|
deliveryMode: DELIVERY_MODE_SCHEMA,
|
|
272
272
|
format: z
|
|
273
273
|
.string()
|
|
274
274
|
.min(1)
|
|
275
|
-
.
|
|
276
|
-
.describe("
|
|
275
|
+
.optional()
|
|
276
|
+
.describe("Omit: server detects html, markdown, code or JSON. `html` keeps code/JSON as HTML; also markdown/md or a code language."),
|
|
277
277
|
namespace: z
|
|
278
278
|
.string()
|
|
279
279
|
.optional()
|
|
@@ -296,7 +296,7 @@ export function createServer(options = {}) {
|
|
|
296
296
|
},
|
|
297
297
|
}, async ({ content, format, namespace, password, ttlDays, filename, showTopBar, deliveryMode, ownerToken }) => {
|
|
298
298
|
const effectiveNamespace = resolveNamespace(namespace);
|
|
299
|
-
const path = withQuery(apiPath("html"), [["ns", effectiveNamespace], ["format", format
|
|
299
|
+
const path = withQuery(apiPath("html"), [["ns", effectiveNamespace], ["format", format?.toLowerCase()], ["ttl", ttlDays]]);
|
|
300
300
|
const body = { content };
|
|
301
301
|
if (filename)
|
|
302
302
|
body.filename = filename;
|
package/package.json
CHANGED