plyo-mcp 0.4.0 → 0.4.1
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 +54 -0
- package/dist/index.js +1 -1
- package/package.json +4 -4
package/README.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# plyo-mcp
|
|
2
|
+
|
|
3
|
+
MCP server for [Plyo](https://plyo.dev) — the home for AI-built projects. Every version saved, one click to undo, one click to publish, plus a security check before going live, visitor stats, health monitoring and database backups. Built for people who build with AI and don't code; this server is how their AI does the technical part.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
Claude Code, one line:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
claude mcp add plyo -e PLYO_TOKEN=plyo_xxx -- npx plyo-mcp
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Any other MCP client:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"mcpServers": {
|
|
18
|
+
"plyo": {
|
|
19
|
+
"command": "npx",
|
|
20
|
+
"args": ["plyo-mcp"],
|
|
21
|
+
"env": { "PLYO_TOKEN": "plyo_xxx" }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
`PLYO_TOKEN` is an AI key from the Plyo dashboard (Settings → AI keys → "Give your AI a key"). New here? Plyo is free to start. [plyo.dev](https://plyo.dev/?utm_source=mcp-readme&utm_medium=agent&utm_campaign=mcp-dir) has the full picture; setup lives at [plyo.dev/connect.html](https://plyo.dev/connect.html).
|
|
28
|
+
|
|
29
|
+
After setup, the user says: **"I've added Plyo. Save this project there and keep saving as we go."** That's the whole integration.
|
|
30
|
+
|
|
31
|
+
## Tools
|
|
32
|
+
|
|
33
|
+
| Tool | What it does |
|
|
34
|
+
|---|---|
|
|
35
|
+
| `create_project` | Create a Plyo project and link the current folder to it |
|
|
36
|
+
| `link_project` | Link the current folder to an existing project by slug |
|
|
37
|
+
| `save_checkpoint` | Save the current state to the project's timeline (pass `intent`: one sentence on what the user asked for; it powers timeline search) |
|
|
38
|
+
| `publish` | Publish the latest checkpoint to the live URL; on failure returns a plain-English cause and a fix you can act on |
|
|
39
|
+
| `get_build_error` | Latest build status; if it failed, the translated error and fix guidance |
|
|
40
|
+
| `start_draft` | Safe copy of the project to try changes without touching the live version |
|
|
41
|
+
| `restore` | Return to an earlier checkpoint; never destructive, history is kept |
|
|
42
|
+
| `get_timeline` | Recent checkpoints with what changed in each |
|
|
43
|
+
| `backup_data` | Snapshot the project's database and storage files before risky data changes |
|
|
44
|
+
| `list_projects` | The user's projects with names, slugs and live URLs |
|
|
45
|
+
|
|
46
|
+
## Notes for agents
|
|
47
|
+
|
|
48
|
+
- Call `save_checkpoint` after each completed piece of work, with a one-sentence `intent`.
|
|
49
|
+
- Call `backup_data` before schema migrations, bulk updates or deletions.
|
|
50
|
+
- Errors come back plain and actionable: publish and build failures include what went wrong and what to change.
|
|
51
|
+
- Under the hood every project is a real git repository; Plyo also accepts plain `git push` at `https://git.plyo.dev/{slug}.git` (username `plyo`, the AI key as password).
|
|
52
|
+
- A failed publish never takes a live site down.
|
|
53
|
+
|
|
54
|
+
MIT · [plyo.dev](https://plyo.dev) · hello@plyo.dev
|
package/dist/index.js
CHANGED
|
@@ -126,7 +126,7 @@ async function pushBranch(branch) {
|
|
|
126
126
|
function text(s) {
|
|
127
127
|
return { content: [{ type: "text", text: s }] };
|
|
128
128
|
}
|
|
129
|
-
const server = new McpServer({ name: "plyo", version: "0.4.
|
|
129
|
+
const server = new McpServer({ name: "plyo", version: "0.4.1" }, {
|
|
130
130
|
instructions: "Plyo keeps every version of this project safe for a non-technical user. Call save_checkpoint automatically after every completed piece of work — do not wait to be asked. Pass both a plain-English note and the intent (what the user asked for, in their words). If the user started a Draft in Plyo, use start_draft with that draft's exact name to work in it — never create a duplicate. Before schema changes, migrations, or anything that rewrites data, call backup_data first — it takes a restorable snapshot of the project's database.",
|
|
131
131
|
});
|
|
132
132
|
server.tool("list_projects", "List the user's Plyo projects (name, slug, live URL).", {}, async () => {
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plyo-mcp",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "MCP server for Plyo
|
|
3
|
+
"version": "0.4.1",
|
|
4
|
+
"description": "MCP server for Plyo — Undo and Publish for everything your AI builds. Save checkpoints, publish, restore.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"plyo-mcp": "
|
|
7
|
+
"plyo-mcp": "dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"dist"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"homepage": "https://plyo.dev",
|
|
26
26
|
"repository": {
|
|
27
27
|
"type": "git",
|
|
28
|
-
"url": "https://github.com/plyo/plyo"
|
|
28
|
+
"url": "git+https://github.com/plyo/plyo.git"
|
|
29
29
|
},
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"engines": {
|