-
Notifications
You must be signed in to change notification settings - Fork 59
Pluggable Widgets MCP #1869
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Pluggable Widgets MCP #1869
Conversation
| } | ||
|
|
||
| // Rename operations (similar structure but with find/replace logic) | ||
| private async renamePropertyInXml( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably never want to rename props as it causes major migration issues 🙈 At least till we have a migration API for renaming.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can modify and keep it as a guardrail, this can trigger a "Don't do it" logic we would like to provide.
That guardrail can also be added into PRD, but doesn't an mcp level intervention sound safer? It is indeed a critical knowledge not to rename properties.
| return group; | ||
| } | ||
|
|
||
| private createPropertyXmlObject(property: PropertyDefinition): any { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can benefit from some kind of library that converts properties xml to some sort of json structure/AST and back. Co we can manipulate this simpler tree instead of doing magic on the pure XML tree. I believe @iobuhov already has this as he was experimenting with moving properties between XML and YAML formats.
| ? "customWidget" | ||
| : "module"; | ||
|
|
||
| inspection.packageInfo = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are already utils for this in automation/utils, better to re-use those ones if we can.
eb8926e to
09c33d4
Compare
dc3e695 to
7ff281a
Compare
Major enhancements to the MCP server for better AI assistance: Sampling API (Context Awareness): - Lets AI "preview" widget code before making changes - Provides overview, properties, and runtime samples via Resources API - Think: "Look under the hood before fixing" Prompts API (Guided Workflows): - 7 pre-built "recipes" for common tasks (add property, build, debug, etc.) - Step-by-step guidance prevents AI mistakes - Think: "IKEA instructions for widget development" Architecture Improvements: - Modular structure: sampling.ts, prompts.ts separate from helpers.ts - Better separation of concerns - Cleaner, more maintainable codebase Documentation: - Updated README with clear explanations - Added usage examples for new features - Included project structure overview These changes make the AI smarter and less likely to break widgets by providing context awareness and structured workflows.
1282abd to
0ff0a28
Compare
MVP: Mendix Pluggable Widget Generator MCP Server
Introduces an MVP MCP (Model Context Protocol) server for widget generation and editing in the web-widgets monorepo. The primary goal is to enable AI-assisted widget creation and modification, with the ability to generate MPK files ready for deployment.
MVP Goals
Core Functionality:
npx generator-widgetintegrationHost Examples:
claude_desktop_config.json.cursor/mcp.jsonAdditional Features (Being implemented)
While the MVP focuses on generation and MPK export, the following capabilities are also implemented:
Discovery & Inspection:
Build & Testing:
Change Management:
Safety:
Architecture
Modular Tool System:
pluggable-widget-toolsfor type generationMCP Resources:
MVP Status
Core widget generation/edit tools
MPK export functionality
MCP server infrastructure
Safety guardrails
Additional features (working, may need refinement)
This MVP establishes the foundation for AI-assisted widget development, with the primary goal of generating deployable MPK files from widget source code.
It's a WIP.