@netpad/mcp-server 2.0.0 → 2.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/CHANGELOG.md +29 -0
- package/README.md +15 -0
- package/dist/index.js +29 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.1] - 2026-01-16
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
#### AI-Assisted Workflow Configuration
|
|
13
|
+
- Added `aiAssist` metadata to workflow node config fields, enabling AI-powered configuration generation in the NetPad UI
|
|
14
|
+
- Supported fields with AI assistance:
|
|
15
|
+
- `mongodb-query.filter` - Generate MongoDB queries from natural language
|
|
16
|
+
- `transform.expression` - Generate JavaScript transform expressions
|
|
17
|
+
- `http-request.url` - Generate API URLs dynamically
|
|
18
|
+
- `http-request.headers` - Generate HTTP headers
|
|
19
|
+
- `http-request.body` - Generate request payloads
|
|
20
|
+
- `email-send.to` - Generate recipient expressions
|
|
21
|
+
- `email-send.subject` - Generate email subjects
|
|
22
|
+
- `email-send.body` - Generate email content
|
|
23
|
+
- `ai-generate.prompt` - Generate AI prompts
|
|
24
|
+
- `ai-classify.categories` - Generate classification categories
|
|
25
|
+
- `ai-classify.instructions` - Generate classification instructions
|
|
26
|
+
- `code.code` - Generate JavaScript code
|
|
27
|
+
|
|
28
|
+
#### New Node Type
|
|
29
|
+
- Added `code` node type to `custom` category for executing custom JavaScript code
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
- Added `AIAssistConfig` and `NodeConfigFieldDefinition` type exports for external type checking
|
|
33
|
+
- Updated README with AI-assisted configuration documentation
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
8
37
|
## [2.0.0] - 2026-01-15
|
|
9
38
|
|
|
10
39
|
### Added
|
package/README.md
CHANGED
|
@@ -34,6 +34,7 @@ An MCP (Model Context Protocol) server for AI-assisted NetPad application develo
|
|
|
34
34
|
- **Logic Nodes**: Conditional routing, switch, filter, loop
|
|
35
35
|
- **Data Nodes**: Transform, code execution, variable management
|
|
36
36
|
- **Integrations**: MongoDB, HTTP, Email, Slack, Google Sheets
|
|
37
|
+
- **AI-Assisted Configuration**: Many node fields support AI generation (transforms, code, prompts, HTTP requests)
|
|
37
38
|
|
|
38
39
|
### Conversational Forms & RAG
|
|
39
40
|
- **AI-Powered Forms**: Natural language data collection
|
|
@@ -257,6 +258,20 @@ Pre-built automation patterns:
|
|
|
257
258
|
| `webhook-to-database` | Process webhooks to database |
|
|
258
259
|
| `scheduled-report` | Generate scheduled reports |
|
|
259
260
|
|
|
261
|
+
## AI-Assisted Node Configuration
|
|
262
|
+
|
|
263
|
+
Many workflow node fields support AI-powered configuration generation. The `aiAssist` metadata on config fields indicates which fields can use AI generation in the NetPad UI:
|
|
264
|
+
|
|
265
|
+
| Node Type | Field | AI Assistance |
|
|
266
|
+
|-----------|-------|---------------|
|
|
267
|
+
| `mongodb-query` | filter | Generate MongoDB queries from natural language |
|
|
268
|
+
| `transform` | expression | Generate JavaScript transforms |
|
|
269
|
+
| `http-request` | url, headers, body | Generate URLs, headers, and request bodies |
|
|
270
|
+
| `email-send` | to, subject, body | Generate email content |
|
|
271
|
+
| `ai-generate` | prompt | Generate AI prompts |
|
|
272
|
+
| `ai-classify` | categories, instructions | Generate classification rules |
|
|
273
|
+
| `code` | code | Generate JavaScript code |
|
|
274
|
+
|
|
260
275
|
## Resources
|
|
261
276
|
|
|
262
277
|
The server exposes documentation as MCP resources:
|
package/dist/index.js
CHANGED
|
@@ -17471,7 +17471,7 @@ var WORKFLOW_NODE_TYPES = {
|
|
|
17471
17471
|
{ key: "database", label: "Database", type: "string", required: true },
|
|
17472
17472
|
{ key: "collection", label: "Collection", type: "string", required: true },
|
|
17473
17473
|
{ key: "operation", label: "Operation", type: "select", options: ["find", "findOne", "aggregate"] },
|
|
17474
|
-
{ key: "filter", label: "Filter", type: "json" },
|
|
17474
|
+
{ key: "filter", label: "Filter", type: "json", aiAssist: { enabled: true, promptHint: 'e.g., "Find users created in the last 7 days"', buttonLabel: "Generate Query" } },
|
|
17475
17475
|
{ key: "projection", label: "Projection", type: "json" },
|
|
17476
17476
|
{ key: "sort", label: "Sort", type: "json" },
|
|
17477
17477
|
{ key: "limit", label: "Limit", type: "number" }
|
|
@@ -17505,7 +17505,7 @@ var WORKFLOW_NODE_TYPES = {
|
|
|
17505
17505
|
inputs: [{ id: "input", label: "Input", type: "any" }],
|
|
17506
17506
|
outputs: [{ id: "output", label: "Output", type: "any" }],
|
|
17507
17507
|
configFields: [
|
|
17508
|
-
{ key: "expression", label: "Transform Expression", type: "expression", required: true }
|
|
17508
|
+
{ key: "expression", label: "Transform Expression", type: "expression", required: true, aiAssist: { enabled: true, promptHint: 'e.g., "Extract emails from user array" or "Add processed timestamp"', buttonLabel: "Generate Transform" } }
|
|
17509
17509
|
]
|
|
17510
17510
|
},
|
|
17511
17511
|
{
|
|
@@ -17537,9 +17537,9 @@ var WORKFLOW_NODE_TYPES = {
|
|
|
17537
17537
|
inputs: [{ id: "data", label: "Template Data", type: "object" }],
|
|
17538
17538
|
outputs: [{ id: "result", label: "Result", type: "object" }],
|
|
17539
17539
|
configFields: [
|
|
17540
|
-
{ key: "to", label: "To", type: "expression", required: true },
|
|
17541
|
-
{ key: "subject", label: "Subject", type: "expression", required: true },
|
|
17542
|
-
{ key: "body", label: "Body", type: "richtext", required: true },
|
|
17540
|
+
{ key: "to", label: "To", type: "expression", required: true, aiAssist: { enabled: true, promptHint: 'e.g., "Send to form submitter email"', buttonLabel: "Generate Recipients" } },
|
|
17541
|
+
{ key: "subject", label: "Subject", type: "expression", required: true, aiAssist: { enabled: true, promptHint: 'e.g., "Create a thank you subject with user name"', buttonLabel: "Generate Subject" } },
|
|
17542
|
+
{ key: "body", label: "Body", type: "richtext", required: true, aiAssist: { enabled: true, promptHint: 'e.g., "Write a professional confirmation email"', buttonLabel: "Generate Body" } },
|
|
17543
17543
|
{ key: "from", label: "From", type: "string" },
|
|
17544
17544
|
{ key: "replyTo", label: "Reply To", type: "string" }
|
|
17545
17545
|
]
|
|
@@ -17558,10 +17558,10 @@ var WORKFLOW_NODE_TYPES = {
|
|
|
17558
17558
|
{ id: "status", label: "Status Code", type: "number" }
|
|
17559
17559
|
],
|
|
17560
17560
|
configFields: [
|
|
17561
|
-
{ key: "url", label: "URL", type: "expression", required: true },
|
|
17561
|
+
{ key: "url", label: "URL", type: "expression", required: true, aiAssist: { enabled: true, promptHint: 'e.g., "Build Slack webhook URL with channel"', buttonLabel: "Generate URL" } },
|
|
17562
17562
|
{ key: "method", label: "Method", type: "select", options: ["GET", "POST", "PUT", "PATCH", "DELETE"] },
|
|
17563
|
-
{ key: "headers", label: "Headers", type: "json" },
|
|
17564
|
-
{ key: "body", label: "Body", type: "json" },
|
|
17563
|
+
{ key: "headers", label: "Headers", type: "json", aiAssist: { enabled: true, promptHint: 'e.g., "Add authorization and content-type headers"', buttonLabel: "Generate Headers" } },
|
|
17564
|
+
{ key: "body", label: "Body", type: "json", aiAssist: { enabled: true, promptHint: 'e.g., "Create Slack message payload from form data"', buttonLabel: "Generate Body" } },
|
|
17565
17565
|
{ key: "authentication", label: "Authentication", type: "select", options: ["none", "basic", "bearer", "api_key"] }
|
|
17566
17566
|
]
|
|
17567
17567
|
},
|
|
@@ -17593,7 +17593,7 @@ var WORKFLOW_NODE_TYPES = {
|
|
|
17593
17593
|
inputs: [{ id: "context", label: "Context", type: "object" }],
|
|
17594
17594
|
outputs: [{ id: "response", label: "AI Response", type: "string" }],
|
|
17595
17595
|
configFields: [
|
|
17596
|
-
{ key: "prompt", label: "Prompt", type: "richtext", required: true },
|
|
17596
|
+
{ key: "prompt", label: "Prompt", type: "richtext", required: true, aiAssist: { enabled: true, promptHint: 'e.g., "Write a prompt to summarize customer feedback"', buttonLabel: "Generate Prompt" } },
|
|
17597
17597
|
{ key: "model", label: "Model", type: "select", options: ["gpt-4", "gpt-3.5-turbo", "claude-3"] },
|
|
17598
17598
|
{ key: "temperature", label: "Temperature", type: "number", default: 0.7 },
|
|
17599
17599
|
{ key: "maxTokens", label: "Max Tokens", type: "number", default: 1e3 }
|
|
@@ -17613,8 +17613,26 @@ var WORKFLOW_NODE_TYPES = {
|
|
|
17613
17613
|
{ id: "confidence", label: "Confidence", type: "number" }
|
|
17614
17614
|
],
|
|
17615
17615
|
configFields: [
|
|
17616
|
-
{ key: "categories", label: "Categories", type: "array", itemType: "string", required: true },
|
|
17617
|
-
{ key: "instructions", label: "Classification Instructions", type: "richtext" }
|
|
17616
|
+
{ key: "categories", label: "Categories", type: "array", itemType: "string", required: true, aiAssist: { enabled: true, promptHint: 'e.g., "Create sentiment categories" or "Support ticket priorities"', buttonLabel: "Generate Categories" } },
|
|
17617
|
+
{ key: "instructions", label: "Classification Instructions", type: "richtext", aiAssist: { enabled: true, promptHint: 'e.g., "Write instructions to classify support tickets by urgency"', buttonLabel: "Generate Instructions" } }
|
|
17618
|
+
]
|
|
17619
|
+
}
|
|
17620
|
+
],
|
|
17621
|
+
// Custom
|
|
17622
|
+
custom: [
|
|
17623
|
+
{
|
|
17624
|
+
type: "code",
|
|
17625
|
+
name: "Custom Code",
|
|
17626
|
+
description: "Execute custom JavaScript code",
|
|
17627
|
+
icon: "code",
|
|
17628
|
+
color: "#455A64",
|
|
17629
|
+
category: "custom",
|
|
17630
|
+
stage: "processor",
|
|
17631
|
+
inputs: [{ id: "input", label: "Input", type: "any" }],
|
|
17632
|
+
outputs: [{ id: "output", label: "Output", type: "any" }],
|
|
17633
|
+
configFields: [
|
|
17634
|
+
{ key: "code", label: "JavaScript Code", type: "code", required: true, aiAssist: { enabled: true, promptHint: 'e.g., "Calculate order total from items array"', buttonLabel: "Generate Code" } },
|
|
17635
|
+
{ key: "timeout", label: "Timeout (ms)", type: "number", default: 5e3 }
|
|
17618
17636
|
]
|
|
17619
17637
|
}
|
|
17620
17638
|
]
|