@saastemly/undraw-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 ADDED
@@ -0,0 +1,75 @@
1
+ # @saastemly/undraw-mcp
2
+
3
+ A **local, fully-offline MCP server** that gives AI agents the **698 open-source
4
+ [unDraw](https://undraw.co) scene illustrations** (MIT) with keyword search,
5
+ on-the-fly **brand recolor**, and resize — for heroes, empty states, onboarding,
6
+ 404s, pricing, and section art.
7
+
8
+ It ships a prebuilt **SQLite + FTS5** index of every illustration inside the
9
+ package and serves them in-process. **No network. No API key.** After the one-time
10
+ `npx` download it works completely offline.
11
+
12
+ Runs on plain **Node ≥20** — no Bun, no Python, no build step required.
13
+
14
+ ---
15
+
16
+ ## Quick start (npx)
17
+
18
+ Add it to any MCP client. The first run downloads the package (which includes all
19
+ illustrations) and the native SQLite dependency; every run after that is offline.
20
+
21
+ **Claude Desktop / Claude Code** (`claude_desktop_config.json` or `.mcp.json`):
22
+
23
+ ```json
24
+ {
25
+ "mcpServers": {
26
+ "undraw": {
27
+ "command": "npx",
28
+ "args": ["-y", "@saastemly/undraw-mcp"]
29
+ }
30
+ }
31
+ }
32
+ ```
33
+
34
+ **Claude Code CLI:**
35
+
36
+ ```bash
37
+ claude mcp add undraw -- npx -y @saastemly/undraw-mcp
38
+ ```
39
+
40
+ **Cursor / Windsurf / any MCP client** — same idea: command `npx`, args
41
+ `["-y", "@saastemly/undraw-mcp"]`.
42
+
43
+ Prefer a pinned global install? `npm i -g @saastemly/undraw-mcp` then use the
44
+ `undraw-mcp` command directly.
45
+
46
+ > **Requirements:** Node ≥ 20. The bundled index is small (~6 MB), so the first
47
+ > `npx` fetch is quick.
48
+
49
+ ---
50
+
51
+ ## Tools
52
+
53
+ | Tool | What it's for |
54
+ |---|---|
55
+ | **`search_illustrations`** | Keyword search over illustrations by slug/title. Returns matching slugs + titles. |
56
+ | **`get_illustration`** | Return one illustration as an SVG string. Recolor its accent (`#6c63ff`) to your brand with `color`; resize with `width` (height auto-scales). Suggests alternatives on a miss. |
57
+ | **`get_illustrations`** | Batch-fetch several illustrations (optionally recolored/resized). Returns slug→SVG and a not_found list. |
58
+ | **`list_illustrations`** | Paginated browse of all illustrations, with an optional substring filter on slug/title. |
59
+
60
+ ### Design notes
61
+
62
+ - **Every unDraw illustration has ONE accent color** (`#6c63ff`). Pass `color` to
63
+ any tool to recolor that accent to your brand — the rest of the scene stays
64
+ neutral, so illustrations drop into any palette.
65
+ - **Slugs are lowercase with underscores** (e.g. `data_report`, `empty_cart`,
66
+ `page_not_found`).
67
+ - SVGs are returned inline as strings, ready to write to a file or embed.
68
+
69
+ ---
70
+
71
+ ## Licensing
72
+
73
+ This server is MIT-licensed. The **unDraw illustrations are also open-source and
74
+ free** (including for commercial use) under unDraw's license — see
75
+ [`UNDRAW_LICENSE.txt`](./UNDRAW_LICENSE.txt) and <https://undraw.co/license>.
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Mohd Khairi Mohd Adnan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
Binary file