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.
Files changed (2) hide show
  1. package/README.md +72 -36
  2. package/package.json +13 -5
package/README.md CHANGED
@@ -1,36 +1,72 @@
1
- # snapy-mcp
2
-
3
- An MCP server that gives an AI assistant (Claude and other MCP clients) a `publish` tool. The assistant can publish text or HTML to snapy and get back a shareable link.
4
-
5
- ## Use it
6
-
7
- Add this to your MCP client config (for example Claude Desktop):
8
-
9
- ```json
10
- {
11
- "mcpServers": {
12
- "snapy": {
13
- "command": "npx",
14
- "args": ["-y", "snapy-mcp"],
15
- "env": { "SNAPY_API_KEY": "snapy_live_..." }
16
- }
17
- }
18
- }
19
- ```
20
-
21
- Or run it directly from this folder:
22
-
23
- ```
24
- npm install
25
- node index.js
26
- ```
27
-
28
- The tool calls the public snapy publish API at `https://api.snapy.host`. Set `SNAPY_API` to override.
29
-
30
- ## Tool
31
-
32
- - **publish** — args: `content` (required text/HTML), `name` (optional link name), `filename` (optional, default index.html). Returns the live link and a private analytics link.
33
-
34
- ## The API key
35
-
36
- Publishing a **web page** needs an API key. Create one in your snapy dashboard under **API keys** and pass it as `SNAPY_API_KEY`. Plain text formats (`.txt`, `.md`, `.csv`, `.json`) publish without one, so the connector works with no setup and gains page publishing when a key is present.
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.0",
4
- "description": "MCP server to publish files and pages to snapy and get a shareable link.",
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
- "snapy",
11
+ "claude",
12
+ "claude-desktop",
13
+ "cursor",
14
+ "ai",
15
+ "llm",
10
16
  "publish",
11
17
  "hosting",
12
- "claude",
13
- "ai"
18
+ "static-hosting",
19
+ "html-hosting",
20
+ "share-link",
21
+ "snapy"
14
22
  ],
15
23
  "type": "module",
16
24
  "bin": {