82 Commits

Author SHA1 Message Date
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
Dominik Jain
3d29e42251 Improve prompts 2025-10-08 00:10:25 +02:00
Dominik Jain
bc28e116c8 Add HighLevelOverviewTool 2025-10-08 00:10:25 +02:00
Dominik Jain
b94f29fcf1 Switch from low-level Server to McpServer 2025-10-08 00:10:25 +02:00
Dominik Jain
e0efe2b110 Add initial instructions (loaded from yml file) 2025-10-08 00:10:25 +02:00
Dominik Jain
5ffaabd728 Add code execution tool 2025-10-08 00:09:42 +02:00
Dominik Jain
82bd77c9bc Replace console logging with a proper logging system (Pino) 2025-09-17 20:07:26 +02:00