snapy-mcp 1.0.0 → 1.0.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 +72 -36
- package/package.json +13 -5
package/README.md
CHANGED
|
@@ -1,36 +1,72 @@
|
|
|
1
|
-
# snapy-mcp
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
# snapy-mcp
|
|
2
|
+
|
|
3
|
+
Give an AI assistant somewhere to put what it builds. This is an [MCP](https://modelcontextprotocol.io) server that adds one `publish` tool: the assistant sends content, snapy hosts it, and a live link comes back in the conversation.
|
|
4
|
+
|
|
5
|
+
Useful because assistants are good at writing a page and bad at putting it anywhere. Instead of a wall of HTML in the chat, you get a URL you can open on your phone or send to someone.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
Add it to your MCP client's config. You need Node 18 or newer on the machine running the client.
|
|
10
|
+
|
|
11
|
+
**Claude Desktop** — `claude_desktop_config.json`:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"mcpServers": {
|
|
16
|
+
"snapy": {
|
|
17
|
+
"command": "npx",
|
|
18
|
+
"args": ["-y", "snapy-mcp"],
|
|
19
|
+
"env": { "SNAPY_API_KEY": "snapy_live_your_key_here" }
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Claude Code**:
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
claude mcp add snapy --env SNAPY_API_KEY=snapy_live_your_key_here -- npx -y snapy-mcp
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Cursor** — `.cursor/mcp.json`, same shape as the Claude Desktop block above.
|
|
32
|
+
|
|
33
|
+
Restart the client and the `publish` tool appears.
|
|
34
|
+
|
|
35
|
+
## The API key
|
|
36
|
+
|
|
37
|
+
Publishing a **web page** needs a key. Create one at [snapy.host](https://snapy.host) under **API keys** in your dashboard, then pass it as `SNAPY_API_KEY`.
|
|
38
|
+
|
|
39
|
+
Plain text formats — `.txt`, `.md`, `.csv`, `.json` — publish with no key and no account, so you can try it without signing up and add the key when you want to host a page.
|
|
40
|
+
|
|
41
|
+
The reason for the difference is not arbitrary: a web page anyone could host anonymously is the format phishing uses, so pages are tied to an account that can be held responsible. Every published link is served with `noindex`, so nothing you publish turns up in search results.
|
|
42
|
+
|
|
43
|
+
## The tool
|
|
44
|
+
|
|
45
|
+
**`publish`**
|
|
46
|
+
|
|
47
|
+
| argument | required | what it does |
|
|
48
|
+
|:---|:---|:---|
|
|
49
|
+
| `content` | yes | the text or HTML to publish |
|
|
50
|
+
| `filename` | no | defaults to `index.html`; the extension decides how it is served |
|
|
51
|
+
| `name` | no | the subdomain you want, e.g. `my-page` → `my-page.snapy.page` |
|
|
52
|
+
|
|
53
|
+
Returns the live link and a private analytics link. Ask for a name and you get it if it is free; leave it out and you get a random one.
|
|
54
|
+
|
|
55
|
+
## What you get back
|
|
56
|
+
|
|
57
|
+
A link on `*.snapy.page` that opens in any browser, plus a private page showing views. Links persist. You can add a password, an expiry or view tracking afterwards from the dashboard.
|
|
58
|
+
|
|
59
|
+
## Configuration
|
|
60
|
+
|
|
61
|
+
| variable | default | purpose |
|
|
62
|
+
|:---|:---|:---|
|
|
63
|
+
| `SNAPY_API_KEY` | none | required to publish a web page |
|
|
64
|
+
| `SNAPY_API` | `https://api.snapy.host` | override the API host |
|
|
65
|
+
|
|
66
|
+
## Notes
|
|
67
|
+
|
|
68
|
+
- Keep the key server-side. Anyone who has it can publish to your account. Revoke it in the dashboard if it leaks.
|
|
69
|
+
- Don't publish secrets: anyone with the link can open the page.
|
|
70
|
+
- Binary files are not handled here. The [HTTP API](https://snapy.host/developers) takes base64 for that.
|
|
71
|
+
|
|
72
|
+
Docs: [snapy.host/integrations/mcp](https://snapy.host/integrations/mcp) · [snapy.host/developers](https://snapy.host/developers)
|
package/package.json
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "snapy-mcp",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "MCP server
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "MCP server that lets Claude, Cursor or any AI assistant publish an HTML page or text file and get back a live shareable link.",
|
|
5
5
|
"homepage": "https://snapy.host/integrations/mcp",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"mcp",
|
|
8
|
+
"mcp-server",
|
|
9
|
+
"model-context-protocol",
|
|
8
10
|
"modelcontextprotocol",
|
|
9
|
-
"
|
|
11
|
+
"claude",
|
|
12
|
+
"claude-desktop",
|
|
13
|
+
"cursor",
|
|
14
|
+
"ai",
|
|
15
|
+
"llm",
|
|
10
16
|
"publish",
|
|
11
17
|
"hosting",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
18
|
+
"static-hosting",
|
|
19
|
+
"html-hosting",
|
|
20
|
+
"share-link",
|
|
21
|
+
"snapy"
|
|
14
22
|
],
|
|
15
23
|
"type": "module",
|
|
16
24
|
"bin": {
|