@pinepaper.studio/mcp-server 1.6.5 → 1.6.7

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 (55) hide show
  1. package/README.de.md +20 -1
  2. package/README.es.md +20 -1
  3. package/README.fr.md +20 -1
  4. package/README.hi.md +18 -1
  5. package/README.ja.md +19 -1
  6. package/README.ko.md +18 -1
  7. package/README.md +177 -5
  8. package/README.pt-BR.md +20 -1
  9. package/README.zh-CN.md +18 -1
  10. package/assets/edit-whenever.svg +75 -0
  11. package/dist/agent/export-manager.d.ts.map +1 -1
  12. package/dist/agent/export-manager.js +2 -2
  13. package/dist/agent/export-manager.js.map +1 -1
  14. package/dist/agent/session-manager.d.ts.map +1 -1
  15. package/dist/agent/session-manager.js.map +1 -1
  16. package/dist/assets/repositories/fontawesome.d.ts.map +1 -1
  17. package/dist/assets/repositories/fontawesome.js.map +1 -1
  18. package/dist/assets/repositories/openclipart.d.ts.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +0 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/ontology/design-graph.d.ts.map +1 -1
  23. package/dist/ontology/design-graph.js +0 -1
  24. package/dist/ontology/design-graph.js.map +1 -1
  25. package/dist/ontology/vocabulary.d.ts.map +1 -1
  26. package/dist/ontology/vocabulary.js +119 -0
  27. package/dist/ontology/vocabulary.js.map +1 -1
  28. package/dist/taxonomy/classifier.js +1 -1
  29. package/dist/taxonomy/classifier.js.map +1 -1
  30. package/dist/taxonomy/error-recovery.d.ts.map +1 -1
  31. package/dist/taxonomy/matcher.d.ts.map +1 -1
  32. package/dist/taxonomy/matcher.js.map +1 -1
  33. package/dist/tools/definitions.d.ts +1 -1
  34. package/dist/tools/definitions.d.ts.map +1 -1
  35. package/dist/tools/definitions.js +906 -34
  36. package/dist/tools/definitions.js.map +1 -1
  37. package/dist/tools/handlers.d.ts.map +1 -1
  38. package/dist/tools/handlers.js +71 -7
  39. package/dist/tools/handlers.js.map +1 -1
  40. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  41. package/dist/tools/minimal-descriptions.js +11 -2
  42. package/dist/tools/minimal-descriptions.js.map +1 -1
  43. package/dist/tools/toolkits.d.ts.map +1 -1
  44. package/dist/tools/toolkits.js +14 -0
  45. package/dist/tools/toolkits.js.map +1 -1
  46. package/dist/types/code-generator.d.ts +46 -2
  47. package/dist/types/code-generator.d.ts.map +1 -1
  48. package/dist/types/code-generator.js +1004 -24
  49. package/dist/types/code-generator.js.map +1 -1
  50. package/dist/types/schemas.d.ts +2266 -215
  51. package/dist/types/schemas.d.ts.map +1 -1
  52. package/dist/types/schemas.js +553 -50
  53. package/dist/types/schemas.js.map +1 -1
  54. package/manifest.json +37 -1
  55. package/package.json +17 -7
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": "0.3",
3
3
  "name": "pinepaper-mcp",
4
- "version": "1.6.4",
4
+ "version": "1.6.7",
5
5
  "display_name": "PinePaper Studio",
6
6
  "description": "Create animated graphics with AI using PinePaper Studio",
7
7
  "long_description": "PinePaper MCP Server enables Claude to create, animate, and export graphics through PinePaper Studio. Features include shape creation, relation-based animations (orbits, follows, attached_to), procedural generators, visual effects, SVG export with animations, asset search & import from 4 open repositories (500k+ icons), performance metrics tracking, diagram tools for flowcharts/UML/network diagrams with smart connectors and auto-layout, enhanced error messages with canvas context, Agent Flow Mode for content automation pipelines with batch operations and smart platform exports (Instagram, TikTok, YouTube, etc.), interactive triggers (click, hover, drag events), quiz/LMS integration with SCORM/xAPI support, Letter Collage for stylized text with per-letter customization (Wordle, magazine cutout, gradient styles with 24+ palettes), and canvas presets for social media platforms. Supports two execution modes: Puppeteer (live browser execution) and Code (generate code for manual paste).",
@@ -135,6 +135,10 @@
135
135
  "name": "pinepaper_create_diagonal_stripes",
136
136
  "description": "Create a diagonal stripe pattern"
137
137
  },
138
+ {
139
+ "name": "pinepaper_import_motion_capture",
140
+ "description": "Import a BVH motion-capture clip (CMU, Mixamo) as an animated skeleton, or retarget one onto a rig that already exists."
141
+ },
138
142
  {
139
143
  "name": "pinepaper_import_svg",
140
144
  "description": "Import SVG content onto the canvas"
@@ -219,6 +223,14 @@
219
223
  "name": "pinepaper_text_style",
220
224
  "description": "Display text styles + variable fonts. action: apply_style (stacked-layer title, adopts the text id)|set_font_axes (weight/width/slant, animatable)|list_styles."
221
225
  },
226
+ {
227
+ "name": "pinepaper_design_medium",
228
+ "description": "What makes the marks. action: list_media, resolve (refuses a medium it cannot honestly render, and says why), list_stitches, apply_thread (needlepainting)."
229
+ },
230
+ {
231
+ "name": "pinepaper_text_effect",
232
+ "description": "37 character-level text animations. action: list|apply {itemId, effect}. REPLACES the text with one keyframed item per character (source id dies; keepSource:true to keep it)."
233
+ },
222
234
  {
223
235
  "name": "pinepaper_crop_image",
224
236
  "description": "One-shot crop of an image item to a canvas-coords rect (clamped; keeps the registry id). {itemId, rect: {x,y,width,height}, aspectRatio?}"
@@ -243,6 +255,10 @@
243
255
  "name": "pinepaper_world3d",
244
256
  "description": "3D world under the canvas: create (forest|snowMountain|field|jungle)|describe (engine schema)|configure|add_actor (live sprites)|set_actor_pose|set_camera (follow|fixed|orbit)|objects|remove_world."
245
257
  },
258
+ {
259
+ "name": "pinepaper_character",
260
+ "description": "Place a character from the graph and direct it. {concept, at, height, beats:[{at, channel, until?, value?}]}. The concept declares its channels — blink, say, headTurn, bob."
261
+ },
246
262
  {
247
263
  "name": "pinepaper_rigging",
248
264
  "description": "Skeletal rigging + animation. action: create_skeleton|add_bone|attach_item|create_ik_chain|add_pose_keyframe|set_target_path|save_pose|save_shape_key. Pose keyframes carry S12 breakdown controls (favor/breakdown/boneOffsets/movingHold)."
@@ -335,6 +351,22 @@
335
351
  "name": "pinepaper_scene_playback",
336
352
  "description": "Scene chain playback. action: create_chain|play|pause|resume|stop|toggle_loop|jump. sceneIds, defaultDuration (secs), loop."
337
353
  },
354
+ {
355
+ "name": "pinepaper_sequence",
356
+ "description": "Work out WHEN clips start, said relative to each other instead of in absolute seconds. A pure planner — it computes times and touches nothin"
357
+ },
358
+ {
359
+ "name": "pinepaper_stagger",
360
+ "description": "Shape a delay across many items. What makes a stagger read as designed rather than as a queue is where it STARTS and how it SPREADS — a grid"
361
+ },
362
+ {
363
+ "name": "pinepaper_flip",
364
+ "description": "Animate a layout change WITHOUT describing the motion. Every other animation tool asks you to say what the movement is; this asks the opposi"
365
+ },
366
+ {
367
+ "name": "pinepaper_scene_graph",
368
+ "description": "Interactive story/quiz scene graph. action: create|validate. graph: {start, nodes:[{id, prompt?, text?, kind?, answers?, next?, duration?, outcome?}]}, opts: {style?, scoreItemId?, subject?}."
369
+ },
338
370
  {
339
371
  "name": "pinepaper_selection",
340
372
  "description": "Manage selection. action: select|select_all|deselect_all|get|delete_selected. itemIds, mode: replace|add|remove."
@@ -407,6 +439,10 @@
407
439
  "name": "pinepaper_query",
408
440
  "description": "Canvas queries. action: get_by_id|hit_test|is_empty. itemId, x, y, tolerance."
409
441
  },
442
+ {
443
+ "name": "pinepaper_query_capabilities",
444
+ "description": "Query and recommend capabilities across text styles, text effects, generators, deforms, and relations. action: list|choose|coverage|find. kind, mood, subject, seed, key, warm."
445
+ },
410
446
  {
411
447
  "name": "pinepaper_deform",
412
448
  "description": "Vertex deformation. action: apply|trigger|remove. itemId, preset: fold|squeeze|squash|twist|ripple|wave|breathe|wobble..., phase, amplitude."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pinepaper.studio/mcp-server",
3
- "version": "1.6.5",
3
+ "version": "1.6.7",
4
4
  "mcpName": "io.github.pinepaper/mcp-server",
5
5
  "description": "MCP Server for PinePaper Studio - Create animated graphics with AI",
6
6
  "type": "module",
@@ -34,11 +34,12 @@
34
34
  "start:dist": "bun dist/index.js",
35
35
  "test": "bun test",
36
36
  "test:coverage": "bun test --coverage",
37
- "lint": "eslint src/**/*.ts",
37
+ "lint": "eslint src",
38
38
  "typecheck": "tsc --noEmit",
39
39
  "check:manifest": "bun scripts/check-manifest-tools.mjs",
40
40
  "fix:manifest": "bun scripts/check-manifest-tools.mjs --fix",
41
- "prepublishOnly": "bun run check:manifest && bun run build"
41
+ "prepublishOnly": "bun run check:manifest && bun run build",
42
+ "lint:errors": "eslint src --quiet"
42
43
  },
43
44
  "keywords": [
44
45
  "mcp",
@@ -66,11 +67,11 @@
66
67
  "devDependencies": {
67
68
  "@types/bun": "latest",
68
69
  "@types/node": "^20.10.0",
69
- "typescript": "^5.3.0",
70
- "eslint": "^10.8.1",
71
70
  "@typescript-eslint/eslint-plugin": "^8.66.0",
72
71
  "@typescript-eslint/parser": "^8.66.0",
73
- "puppeteer": "^24.37.3"
72
+ "eslint": "^10.8.1",
73
+ "puppeteer": "^25.9.0",
74
+ "typescript": "^5.3.0"
74
75
  },
75
76
  "files": [
76
77
  "dist",
@@ -88,14 +89,23 @@
88
89
  "README.hi.md"
89
90
  ],
90
91
  "overrides": {
92
+ "basic-ftp": "^5.3.1",
93
+ "body-parser": "^2.3.0",
91
94
  "es-define-property": "npm:@socketregistry/es-define-property@^1.0.7",
95
+ "fast-uri": "^3.1.5",
96
+ "flatted": "^3.4.2",
92
97
  "function-bind": "npm:@socketregistry/function-bind@^1.0.7",
93
98
  "gopd": "npm:@socketregistry/gopd@^1.0.7",
94
99
  "has-symbols": "npm:@socketregistry/has-symbols@^1.0.7",
95
100
  "hasown": "npm:@socketregistry/hasown@^1.0.7",
101
+ "ip-address": "^10.3.1",
102
+ "js-yaml": "^4.3.1",
96
103
  "object-assign": "npm:@socketregistry/object-assign@^1.0.5",
104
+ "path-to-regexp": "^8.4.2",
105
+ "qs": "^6.16.0",
97
106
  "safer-buffer": "npm:@socketregistry/safer-buffer@^1.0.10",
98
- "side-channel": "npm:@socketregistry/side-channel@^1.0.10"
107
+ "side-channel": "npm:@socketregistry/side-channel@^1.0.10",
108
+ "ws": "^8.21.1"
99
109
  },
100
110
  "peerDependencies": {
101
111
  "puppeteer": ">=22"