@pixeldojo/mcp 0.1.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,84 @@
1
+ # @pixeldojo/mcp
2
+
3
+ PixelDojo MCP server. One install for Claude Code, Cursor, OpenClaw, and any
4
+ other [Model Context Protocol](https://modelcontextprotocol.io) host.
5
+
6
+ Five named tools, 130+ models, async by default.
7
+
8
+ ## Quick start
9
+
10
+ ```bash
11
+ # 1. Get an API key
12
+ open https://pixeldojo.ai/api-platform/api-keys
13
+
14
+ # 2. Set it
15
+ export PIXELDOJO_API_KEY=pd_your_api_key_here
16
+
17
+ # 3. See install snippets for your editor
18
+ npx @pixeldojo/mcp init
19
+ ```
20
+
21
+ Add to your editor's MCP config (e.g. `~/.config/claude-code/mcp.json`):
22
+
23
+ ```json
24
+ {
25
+ "mcpServers": {
26
+ "pixeldojo": {
27
+ "command": "npx",
28
+ "args": ["-y", "@pixeldojo/mcp"],
29
+ "env": {
30
+ "PIXELDOJO_API_KEY": "pd_your_api_key_here"
31
+ }
32
+ }
33
+ }
34
+ }
35
+ ```
36
+
37
+ Restart your agent. You'll see five new tools.
38
+
39
+ ## Named skills
40
+
41
+ | Skill | What it does | Default model |
42
+ |---|---|---|
43
+ | `pixeldojo:generate` | Any prompt → image or video | `google-nano-banana` |
44
+ | `pixeldojo:character` | Consistent characters across shots | `ideogram-character` |
45
+ | `pixeldojo:storyboard` | Multi-shot scenes from one brief | `veo-3.1` |
46
+ | `pixeldojo:upscale` | Enhance any image | `magnific-upscaler` |
47
+ | `pixeldojo:status` | Poll long-running jobs after a 30s sync handoff | — |
48
+
49
+ Each skill takes a `model` field for whitelist-checked overrides. Pass any
50
+ apiId from the [API Platform catalog](https://pixeldojo.ai/api-platform).
51
+
52
+ ## How long jobs work
53
+
54
+ The four generation skills wait synchronously for up to 30 seconds. If the
55
+ job is still running, they return `{ jobId, statusUrl }` and the LLM follows
56
+ up by calling `pixeldojo:status` with the same `jobId`. Polling uses
57
+ exponential backoff (1s → 2s → 4s → 8s, capped) to keep load low on long
58
+ jobs like LoRA training and 60-second video generation.
59
+
60
+ ## Errors
61
+
62
+ Every error includes the next action:
63
+ - Missing key → "Set PIXELDOJO_API_KEY. Get one at pixeldojo.ai/api-platform/api-keys."
64
+ - 401 → same.
65
+ - 402 / insufficient credits → "Top up at pixeldojo.ai/api-platform/buy-credits."
66
+ - 429 → "Rate limit hit. Try again in a few seconds."
67
+ - Wrong model override → lists the allowed models for the skill.
68
+
69
+ ## Privacy
70
+
71
+ API keys (`pd_xxx` tokens) are never written to logs. The redaction layer
72
+ strips any matching token from every log message before it reaches stdout
73
+ or stderr.
74
+
75
+ ## Telemetry
76
+
77
+ Every API call sets `x-pixeldojo-source: mcp/<version>` and
78
+ `x-pixeldojo-skill: pixeldojo:<name>` headers so PixelDojo's Tool Health
79
+ dashboard can attribute traffic separately. No personal data is sent
80
+ beyond what the API call itself requires.
81
+
82
+ ## License
83
+
84
+ MIT.
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ // Tiny launcher. The real CLI logic lives in dist/cli.js (built by tsup).
3
+ // This file stays intentionally minimal so we don't bundle anything heavy
4
+ // for `npx @pixeldojo/mcp` cold-start latency.
5
+ import('../dist/cli.js').then((m) => m.main()).catch((err) => {
6
+ // eslint-disable-next-line no-console
7
+ console.error('[pixeldojo-mcp] Failed to start:', err && err.message ? err.message : err);
8
+ process.exit(1);
9
+ });