widget-studio
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WIDGET_STUDIO_IMAGE | No | Override image rendering mode. Use 'auto' to attach a PNG only when the host lacks MCP Apps support, 'always' to always attach a PNG, or 'never' to disable PNG attachment. | auto |
| WIDGET_STUDIO_USER_ID | No | Stable random user ID used for the Widget Studio API. Set this to a fixed value to avoid generating a new random ID. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_widgetA | Generate a rich inline UI widget from a natural-language prompt using the Widget Studio designer. This is the primary way to create widgets. Prompt recipe: name the widget kind ('a weather card', 'a leaderboard', 'a boarding pass'), enumerate ALL real data it should show (every number, name, and label — the generator renders exactly what you give it and invents placeholders for what you omit), and add layout/style hints when you care ('use the Table component', 'with a bar chart', 'dark-themed', 'compact'). For static widgets add 'display only, no buttons' — otherwise the generator may invent buttons with made-up action types. Takes 20-60 seconds. To iterate, call again with a refined prompt that restates everything plus the changes (the service is stateless); for tiny tweaks, edit the returned widget JSON and use display_widget instead. |
| display_widgetA | Instantly re-render a widget JSON tree from a previous generate_widget result — as-is, or with small edits (fix a label, change a color, update a value). Pass the complete widget node tree as JSON. For new widgets or layout changes, prefer generate_widget. |
| export_widgetA | Export a generated widget as a .widget file — the Widget Studio editor's format (importable at widgets.chatkit.studio). Pass the generationId from a generate_widget result. Optionally pass a path to also write the file to disk (recommended in local sessions; defaults to .widget in the current directory when path is 'auto'). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Widget Studio Renderer |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ericlewis/widget-studio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server