websitepublisher-mcp 1.0.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/README.md +105 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +283 -0
- package/build/index.js.map +1 -0
- package/package.json +45 -0
package/README.md
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# WebsitePublisher MCP Server
|
|
2
|
+
|
|
3
|
+
An MCP (Model Context Protocol) server that enables Claude Desktop and Claude Code to build and publish websites via [WebsitePublisher.ai](https://websitepublisher.ai).
|
|
4
|
+
|
|
5
|
+
## What is this?
|
|
6
|
+
|
|
7
|
+
This MCP server allows Claude to:
|
|
8
|
+
- 📄 Create, update, and delete web pages
|
|
9
|
+
- 🖼️ Upload assets (images, CSS, JS files)
|
|
10
|
+
- 🚀 Manage your website directly through conversation
|
|
11
|
+
|
|
12
|
+
Just tell Claude: *"Build me a portfolio website"* and watch it happen!
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
### Prerequisites
|
|
17
|
+
|
|
18
|
+
1. A [WebsitePublisher.ai](https://websitepublisher.ai) account
|
|
19
|
+
2. A project with API credentials (Project ID + API Token)
|
|
20
|
+
3. [Claude Desktop](https://claude.ai/download) installed
|
|
21
|
+
|
|
22
|
+
### Setup
|
|
23
|
+
|
|
24
|
+
Add this to your Claude Desktop configuration file:
|
|
25
|
+
|
|
26
|
+
**Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
27
|
+
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"mcpServers": {
|
|
32
|
+
"websitepublisher": {
|
|
33
|
+
"command": "npx",
|
|
34
|
+
"args": ["-y", "websitepublisher-mcp"],
|
|
35
|
+
"env": {
|
|
36
|
+
"WPA_PROJECT_ID": "your-project-id",
|
|
37
|
+
"WPA_TOKEN": "your-api-token"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Replace `your-project-id` and `your-api-token` with your actual credentials from the WebsitePublisher.ai dashboard.
|
|
45
|
+
|
|
46
|
+
### Restart Claude Desktop
|
|
47
|
+
|
|
48
|
+
After saving the config, restart Claude Desktop. You should see the WebsitePublisher tools available.
|
|
49
|
+
|
|
50
|
+
## Available Tools
|
|
51
|
+
|
|
52
|
+
| Tool | Description |
|
|
53
|
+
|------|-------------|
|
|
54
|
+
| `get_status` | Get project status (page count, asset count, domain) |
|
|
55
|
+
| `list_pages` | List all pages in your project |
|
|
56
|
+
| `create_page` | Create a new HTML page |
|
|
57
|
+
| `update_page` | Update an existing page |
|
|
58
|
+
| `delete_page` | Delete a page |
|
|
59
|
+
| `list_assets` | List all assets (images, CSS, JS) |
|
|
60
|
+
| `upload_asset` | Upload a new asset (base64 encoded) |
|
|
61
|
+
|
|
62
|
+
## Example Usage
|
|
63
|
+
|
|
64
|
+
Once configured, you can ask Claude things like:
|
|
65
|
+
|
|
66
|
+
- *"Show me the status of my website"*
|
|
67
|
+
- *"Create a homepage with a hero section and navigation"*
|
|
68
|
+
- *"List all pages on my site"*
|
|
69
|
+
- *"Update the about page with new content"*
|
|
70
|
+
- *"Upload this logo to my website"*
|
|
71
|
+
|
|
72
|
+
## Environment Variables
|
|
73
|
+
|
|
74
|
+
| Variable | Required | Description |
|
|
75
|
+
|----------|----------|-------------|
|
|
76
|
+
| `WPA_PROJECT_ID` | Yes | Your WebsitePublisher.ai project ID |
|
|
77
|
+
| `WPA_TOKEN` | Yes | Your API token |
|
|
78
|
+
| `WPA_API_BASE` | No | API base URL (default: `https://api.websitepublisher.ai`) |
|
|
79
|
+
|
|
80
|
+
## Development
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Clone the repo
|
|
84
|
+
git clone https://github.com/websitepublisher/websitepublisher-mcp.git
|
|
85
|
+
cd websitepublisher-mcp
|
|
86
|
+
|
|
87
|
+
# Install dependencies
|
|
88
|
+
npm install
|
|
89
|
+
|
|
90
|
+
# Build
|
|
91
|
+
npm run build
|
|
92
|
+
|
|
93
|
+
# Test with MCP Inspector
|
|
94
|
+
WPA_PROJECT_ID=xxx WPA_TOKEN=xxx npm run inspector
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Links
|
|
98
|
+
|
|
99
|
+
- [WebsitePublisher.ai](https://websitepublisher.ai) - Main website
|
|
100
|
+
- [API Documentation](https://websitepublisher.ai/docs/papi.html) - PAPI docs
|
|
101
|
+
- [MCP Protocol](https://modelcontextprotocol.io) - Learn about MCP
|
|
102
|
+
|
|
103
|
+
## License
|
|
104
|
+
|
|
105
|
+
MIT
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
// =============================================================================
|
|
6
|
+
// Configuration
|
|
7
|
+
// =============================================================================
|
|
8
|
+
const config = {
|
|
9
|
+
projectId: process.env.WPA_PROJECT_ID || "",
|
|
10
|
+
token: process.env.WPA_TOKEN || "",
|
|
11
|
+
apiBase: process.env.WPA_API_BASE || "https://api.websitepublisher.ai",
|
|
12
|
+
};
|
|
13
|
+
async function apiRequest(method, endpoint, body) {
|
|
14
|
+
const url = `${config.apiBase}${endpoint}`;
|
|
15
|
+
const headers = {
|
|
16
|
+
"Authorization": `Bearer ${config.token}`,
|
|
17
|
+
"Content-Type": "application/json",
|
|
18
|
+
};
|
|
19
|
+
const options = {
|
|
20
|
+
method,
|
|
21
|
+
headers,
|
|
22
|
+
};
|
|
23
|
+
if (body) {
|
|
24
|
+
options.body = JSON.stringify(body);
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const response = await fetch(url, options);
|
|
28
|
+
const data = await response.json();
|
|
29
|
+
return data;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
return {
|
|
33
|
+
success: false,
|
|
34
|
+
error: {
|
|
35
|
+
message: error instanceof Error ? error.message : "Unknown error",
|
|
36
|
+
code: 500,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// =============================================================================
|
|
42
|
+
// MCP Server Setup
|
|
43
|
+
// =============================================================================
|
|
44
|
+
const server = new McpServer({
|
|
45
|
+
name: "websitepublisher-mcp",
|
|
46
|
+
version: "1.0.0",
|
|
47
|
+
});
|
|
48
|
+
// =============================================================================
|
|
49
|
+
// Tool: get_status
|
|
50
|
+
// =============================================================================
|
|
51
|
+
server.tool("get_status", "Get the current status of your WebsitePublisher.ai project including page and asset counts", {}, async () => {
|
|
52
|
+
// Validate configuration
|
|
53
|
+
if (!config.projectId || !config.token) {
|
|
54
|
+
return {
|
|
55
|
+
content: [
|
|
56
|
+
{
|
|
57
|
+
type: "text",
|
|
58
|
+
text: JSON.stringify({
|
|
59
|
+
success: false,
|
|
60
|
+
error: "Missing WPA_PROJECT_ID or WPA_TOKEN environment variables",
|
|
61
|
+
}),
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const result = await apiRequest("GET", `/project/${config.projectId}/status`);
|
|
67
|
+
return {
|
|
68
|
+
content: [
|
|
69
|
+
{
|
|
70
|
+
type: "text",
|
|
71
|
+
text: JSON.stringify(result, null, 2),
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
// =============================================================================
|
|
77
|
+
// Tool: list_pages
|
|
78
|
+
// =============================================================================
|
|
79
|
+
server.tool("list_pages", "List all pages in your WebsitePublisher.ai project", {}, async () => {
|
|
80
|
+
if (!config.projectId || !config.token) {
|
|
81
|
+
return {
|
|
82
|
+
content: [
|
|
83
|
+
{
|
|
84
|
+
type: "text",
|
|
85
|
+
text: JSON.stringify({
|
|
86
|
+
success: false,
|
|
87
|
+
error: "Missing WPA_PROJECT_ID or WPA_TOKEN environment variables",
|
|
88
|
+
}),
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const result = await apiRequest("GET", `/project/${config.projectId}/pages`);
|
|
94
|
+
return {
|
|
95
|
+
content: [
|
|
96
|
+
{
|
|
97
|
+
type: "text",
|
|
98
|
+
text: JSON.stringify(result, null, 2),
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
// =============================================================================
|
|
104
|
+
// Tool: create_page
|
|
105
|
+
// =============================================================================
|
|
106
|
+
server.tool("create_page", "Create a new page on your WebsitePublisher.ai website", {
|
|
107
|
+
slug: z.string().describe("The page filename/path, e.g., 'index.html' or 'blog/post1.html'"),
|
|
108
|
+
content: z.string().describe("The full HTML content of the page"),
|
|
109
|
+
title: z.string().optional().describe("The page title for SEO"),
|
|
110
|
+
description: z.string().optional().describe("The meta description for SEO"),
|
|
111
|
+
}, async ({ slug, content, title, description }) => {
|
|
112
|
+
if (!config.projectId || !config.token) {
|
|
113
|
+
return {
|
|
114
|
+
content: [
|
|
115
|
+
{
|
|
116
|
+
type: "text",
|
|
117
|
+
text: JSON.stringify({
|
|
118
|
+
success: false,
|
|
119
|
+
error: "Missing WPA_PROJECT_ID or WPA_TOKEN environment variables",
|
|
120
|
+
}),
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
const result = await apiRequest("POST", `/project/${config.projectId}/pages`, {
|
|
126
|
+
slug,
|
|
127
|
+
content,
|
|
128
|
+
meta: { title: title || slug },
|
|
129
|
+
seo: { description: description || "" },
|
|
130
|
+
});
|
|
131
|
+
return {
|
|
132
|
+
content: [
|
|
133
|
+
{
|
|
134
|
+
type: "text",
|
|
135
|
+
text: JSON.stringify(result, null, 2),
|
|
136
|
+
},
|
|
137
|
+
],
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
// =============================================================================
|
|
141
|
+
// Tool: update_page
|
|
142
|
+
// =============================================================================
|
|
143
|
+
server.tool("update_page", "Update an existing page on your WebsitePublisher.ai website", {
|
|
144
|
+
slug: z.string().describe("The page filename/path to update"),
|
|
145
|
+
content: z.string().optional().describe("The new HTML content"),
|
|
146
|
+
title: z.string().optional().describe("The new page title"),
|
|
147
|
+
description: z.string().optional().describe("The new meta description"),
|
|
148
|
+
}, async ({ slug, content, title, description }) => {
|
|
149
|
+
if (!config.projectId || !config.token) {
|
|
150
|
+
return {
|
|
151
|
+
content: [
|
|
152
|
+
{
|
|
153
|
+
type: "text",
|
|
154
|
+
text: JSON.stringify({
|
|
155
|
+
success: false,
|
|
156
|
+
error: "Missing WPA_PROJECT_ID or WPA_TOKEN environment variables",
|
|
157
|
+
}),
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
const body = {};
|
|
163
|
+
if (content)
|
|
164
|
+
body.content = content;
|
|
165
|
+
if (title)
|
|
166
|
+
body.meta = { title };
|
|
167
|
+
if (description)
|
|
168
|
+
body.seo = { description };
|
|
169
|
+
const result = await apiRequest("PUT", `/project/${config.projectId}/pages/${slug}`, body);
|
|
170
|
+
return {
|
|
171
|
+
content: [
|
|
172
|
+
{
|
|
173
|
+
type: "text",
|
|
174
|
+
text: JSON.stringify(result, null, 2),
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
};
|
|
178
|
+
});
|
|
179
|
+
// =============================================================================
|
|
180
|
+
// Tool: delete_page
|
|
181
|
+
// =============================================================================
|
|
182
|
+
server.tool("delete_page", "Delete a page from your WebsitePublisher.ai website", {
|
|
183
|
+
slug: z.string().describe("The page filename/path to delete"),
|
|
184
|
+
}, async ({ slug }) => {
|
|
185
|
+
if (!config.projectId || !config.token) {
|
|
186
|
+
return {
|
|
187
|
+
content: [
|
|
188
|
+
{
|
|
189
|
+
type: "text",
|
|
190
|
+
text: JSON.stringify({
|
|
191
|
+
success: false,
|
|
192
|
+
error: "Missing WPA_PROJECT_ID or WPA_TOKEN environment variables",
|
|
193
|
+
}),
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
const result = await apiRequest("DELETE", `/project/${config.projectId}/pages/${slug}`);
|
|
199
|
+
return {
|
|
200
|
+
content: [
|
|
201
|
+
{
|
|
202
|
+
type: "text",
|
|
203
|
+
text: JSON.stringify(result, null, 2),
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
};
|
|
207
|
+
});
|
|
208
|
+
// =============================================================================
|
|
209
|
+
// Tool: list_assets
|
|
210
|
+
// =============================================================================
|
|
211
|
+
server.tool("list_assets", "List all assets (images, CSS, JS files) in your WebsitePublisher.ai project", {}, async () => {
|
|
212
|
+
if (!config.projectId || !config.token) {
|
|
213
|
+
return {
|
|
214
|
+
content: [
|
|
215
|
+
{
|
|
216
|
+
type: "text",
|
|
217
|
+
text: JSON.stringify({
|
|
218
|
+
success: false,
|
|
219
|
+
error: "Missing WPA_PROJECT_ID or WPA_TOKEN environment variables",
|
|
220
|
+
}),
|
|
221
|
+
},
|
|
222
|
+
],
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
const result = await apiRequest("GET", `/project/${config.projectId}/assets`);
|
|
226
|
+
return {
|
|
227
|
+
content: [
|
|
228
|
+
{
|
|
229
|
+
type: "text",
|
|
230
|
+
text: JSON.stringify(result, null, 2),
|
|
231
|
+
},
|
|
232
|
+
],
|
|
233
|
+
};
|
|
234
|
+
});
|
|
235
|
+
// =============================================================================
|
|
236
|
+
// Tool: upload_asset
|
|
237
|
+
// =============================================================================
|
|
238
|
+
server.tool("upload_asset", "Upload an asset (image, CSS, JS file) to your WebsitePublisher.ai website", {
|
|
239
|
+
slug: z.string().describe("The asset filename/path, e.g., 'images/logo.png' or 'css/style.css'"),
|
|
240
|
+
content: z.string().describe("The base64 encoded content of the asset"),
|
|
241
|
+
alt: z.string().optional().describe("Alt text for images"),
|
|
242
|
+
}, async ({ slug, content, alt }) => {
|
|
243
|
+
if (!config.projectId || !config.token) {
|
|
244
|
+
return {
|
|
245
|
+
content: [
|
|
246
|
+
{
|
|
247
|
+
type: "text",
|
|
248
|
+
text: JSON.stringify({
|
|
249
|
+
success: false,
|
|
250
|
+
error: "Missing WPA_PROJECT_ID or WPA_TOKEN environment variables",
|
|
251
|
+
}),
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
const result = await apiRequest("POST", `/project/${config.projectId}/assets`, {
|
|
257
|
+
slug,
|
|
258
|
+
content,
|
|
259
|
+
alt: alt || "",
|
|
260
|
+
});
|
|
261
|
+
return {
|
|
262
|
+
content: [
|
|
263
|
+
{
|
|
264
|
+
type: "text",
|
|
265
|
+
text: JSON.stringify(result, null, 2),
|
|
266
|
+
},
|
|
267
|
+
],
|
|
268
|
+
};
|
|
269
|
+
});
|
|
270
|
+
// =============================================================================
|
|
271
|
+
// Start Server
|
|
272
|
+
// =============================================================================
|
|
273
|
+
async function main() {
|
|
274
|
+
const transport = new StdioServerTransport();
|
|
275
|
+
await server.connect(transport);
|
|
276
|
+
// Log to stderr so it doesn't interfere with MCP protocol on stdout
|
|
277
|
+
console.error("WebsitePublisher MCP server running on stdio");
|
|
278
|
+
}
|
|
279
|
+
main().catch((error) => {
|
|
280
|
+
console.error("Fatal error:", error);
|
|
281
|
+
process.exit(1);
|
|
282
|
+
});
|
|
283
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "websitepublisher-mcp",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "MCP server for WebsitePublisher.ai - Build and publish websites via Claude Desktop/Code",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "build/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"websitepublisher-mcp": "./build/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"build"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"watch": "tsc --watch",
|
|
16
|
+
"start": "node build/index.js",
|
|
17
|
+
"inspector": "npx @modelcontextprotocol/inspector build/index.js"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"mcp",
|
|
21
|
+
"model-context-protocol",
|
|
22
|
+
"claude",
|
|
23
|
+
"websitepublisher",
|
|
24
|
+
"ai",
|
|
25
|
+
"website-builder"
|
|
26
|
+
],
|
|
27
|
+
"author": "WebsitePublisher.ai",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
31
|
+
"zod": "^3.25.30"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/node": "^22.10.10",
|
|
35
|
+
"typescript": "^5.7.3"
|
|
36
|
+
},
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=18"
|
|
39
|
+
},
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "https://github.com/websitepublisher/websitepublisher-mcp"
|
|
43
|
+
},
|
|
44
|
+
"homepage": "https://websitepublisher.ai/docs/mcp"
|
|
45
|
+
}
|