Dominik Jain
2b1a287f15
Update dependencies
2026-01-13 20:12:19 +01:00
Dominik Jain
c40fd3aefd
Make MCP server listen address configurable, using localhost by default
2026-01-13 18:13:04 +01:00
Dominik Jain
055f717207
Standardise configuration with environment variables
...
Replace CLI parameters with environment variables, keeping only --multi-user and --help
Environment variables:
- PENPOT_MCP_SERVER_PORT (new, replaces CLI param)
- PENPOT_MCP_WEBSOCKET_PORT (new)
- PENPOT_MCP_REPL_PORT (new)
- PENPOT_MCP_SERVER_ADDRESS (new)
- PENPOT_MCP_REMOTE_MODE (existing)
- PENPOT_MCP_LOG_LEVEL (renamed from LOG_LEVEL, replaces CLI param)
- PENPOT_MCP_LOG_DIR (renamed from LOG_DIR, replaces CLI param)
- PENPOT_MCP_PLUGIN_SERVER_LISTEN_ADDRESS (renamed from PENPOT_MCP_PLUGIN_SERVER_ALLOWED_HOSTS)
Additional changes:
- Plugin now constructs WebSocket URL from server address and port (replaces PENPOT_MCP_WEBSOCKET_URL)
- Use configured server address in all startup log messages
- Document all configuration options in README.md
2026-01-12 22:55:17 +01:00
Dominik Jain
2598a57080
Add new concept of 'remote mode' (configurable via env var)
...
In particular, remote mode disables file system access
2026-01-12 20:51:32 +01:00
Dominik Jain
c51255cbe0
System prompt: Add new information on z-order handling
2026-01-12 14:01:50 +01:00
Dominik Jain
04a67ca60c
Update API docs
2026-01-12 13:41:16 +01:00
Dominik Jain
445cf728b8
In multi-user mode, disable file system access in tools #20
2025-12-16 22:50:10 +01:00
Dominik Jain
3766124961
Introduce MCP server launch argument --multi-user and adjust NPM scripts
...
(adding :multi-user variants) #20
2025-12-16 22:28:02 +01:00
Dominik Jain
66af0d6b72
PluginBridge: Support multi-user mode via user tokens #20
2025-12-16 22:28:02 +01:00
Dominik Jain
df7245cb9d
Support passing a user-specific token to MCP server requests
...
which can subsequently be accessed by downstream calls #20
2025-12-15 13:18:43 +01:00
Dominik Jain
81d6c70f39
Improve logging of tool arguments
2025-11-29 23:02:37 +01:00
Dominik Jain
60acaec396
Enable file logging (writing to mcp-server/logs at info level by default)
2025-11-29 22:38:52 +01:00
Dominik Jain
f01774ab6b
System prompt: More information on shape positioning (particularly with respect to parent shapes)
2025-11-28 16:41:22 +01:00
Dominik Jain
82737f19d4
Add information on libraries to system prompt
...
Add structure to system prompt, adding headings
2025-11-28 12:39:40 +01:00
Dominik Jain
b223bec540
Improve system prompt
...
* Regroup shape-related information
* Add info on semantics of location (x, y), z-order
* Add info on deprecation of Image and use of fills
* More uniform formatting
2025-11-14 13:45:17 +01:00
Dominik Jain
24ffeac2bf
Move image import code to PenpotUtils
2025-11-14 12:58:04 +01:00
Dominik Jain
f8f440c7dd
Add ImportImageTool
...
Add PenpotUtils.atob to support base64 conversion
(regular atob not available in plugin context)
Resolves #10
2025-11-13 19:09:27 +01:00
Juanfran
ca7187f81f
Improve shape and image searching prompts
2025-11-05 15:21:35 +01:00
Dominik Jain
6fe80bb99c
Apply prettier to .yml files
2025-11-05 13:46:57 +01:00
Dominik Jain
ef060c4da6
Improve description of ExecuteCodeTool
2025-10-19 23:03:22 +02:00
Dominik Jain
670b0d6b07
Disallow multiple plugin instances being connected in parallel
2025-10-16 19:20:17 +02:00
Dominik Jain
e3a9771f9c
ExecuteCodeTool: Remove redundant preamble for success results
2025-10-16 16:17:00 +02:00
Dominik Jain
6c6204806f
ExportShapeTool: Fix SVG export
2025-10-16 16:17:00 +02:00
Dominik Jain
bc5936365a
REPL: Reuse last input
2025-10-15 17:45:47 +02:00
Dominik Jain
6daede99b2
REPL: Improve style for output number
2025-10-15 17:31:40 +02:00
Dominik Jain
8a6848a663
Move prettier configuration to top level
2025-10-11 22:56:57 +02:00
Dominik Jain
0b9404e2a2
Remove obsolete tool: PrintTextTool
2025-10-11 22:56:57 +02:00
Dominik Jain
4cbce1e009
Remove obsolete tool: HelloWorldTool
2025-10-11 22:56:57 +02:00
Dominik Jain
5773b6f404
Update PenpotUtils signatures in system prompt, provide full list of low-level shape types
2025-10-08 00:10:26 +02:00
Dominik Jain
3f7153c7e4
Update lock files
2025-10-08 00:10:26 +02:00
Dominik Jain
66df6d1d45
API docs generation: For each type, list all referencing types in the overview information
2025-10-08 00:10:26 +02:00
Dominik Jain
06accf7c45
Improve README
2025-10-08 00:10:26 +02:00
Dominik Jain
cbac84bab2
Restructuring, improving README structure and npm commands
2025-10-08 00:10:26 +02:00
Dominik Jain
36baab4a06
Change system prompt in an attempt to prevent premature logging
2025-10-08 00:10:26 +02:00
Dominik Jain
1bc309fc5a
Provide list of all API types in initial instructions
2025-10-08 00:10:26 +02:00
Dominik Jain
dacd87bbac
Add utils for Page handling, improve prompts explaining design structure
2025-10-08 00:10:26 +02:00
Dominik Jain
cf5231db66
Improve prompts
2025-10-08 00:10:25 +02:00
Dominik Jain
649506cc9e
Improve ExportShapeTool
...
* Add support for SVG
* Add support for shape identifiers
* Add support for writing result to file
2025-10-08 00:10:25 +02:00
MischaPanch
eda3f855b4
Top level install/start script
...
Minor readme extension
2025-10-08 00:10:25 +02:00
Dominik Jain
865606b7b0
Add PenpotUtils (utility functions the LLM can make use of)
2025-10-08 00:10:25 +02:00
Dominik Jain
afb00f6033
Switch WebSocket port from 8080 to 4402
2025-10-08 00:10:25 +02:00
Dominik Jain
3da2065a18
Establish proper REPL behaviour with history of inputs and outputs
2025-10-08 00:10:25 +02:00
Dominik Jain
3a1494e18c
Move REPL server HTML content to a separate file
2025-10-08 00:10:25 +02:00
Dominik Jain
8552bb4183
Add REPL server
2025-10-08 00:10:25 +02:00
Dominik Jain
ad771ee92f
Add ExportShapeTool
2025-10-08 00:10:25 +02:00
Dominik Jain
223d6d50b0
Improve return type definition of ExecuteCodePluginTask
2025-10-08 00:10:25 +02:00
Dominik Jain
77f4a978be
Add support for image-based tool responses
2025-10-08 00:10:25 +02:00
Dominik Jain
74ff6a12df
Add PenpotApiInfoTool
2025-10-08 00:10:25 +02:00
Dominik Jain
d972e1ed71
Add structured info on Penpot API types and class ApiDocs for its representation
2025-10-08 00:10:25 +02:00
Dominik Jain
5ab14ffb9e
Allow code execution to use the console, returning the full log
2025-10-08 00:10:25 +02:00