-
Notifications
You must be signed in to change notification settings - Fork 39
Description
I see that the spec mentions widget in multiple places. For the OpenAI Apps SDK, widget is used for things like settings, but the term component is used in other places in the documentation (f.e. Design components).
I asked Claude, FWIW:
If you were designing a UI framework for the model context protocol, would you refer to the UI elements as components or widgets?
I'd call them components.
Here's my thinking:
"Components" aligns better with:
- Modern UI framework conventions (React, Vue, Svelte all use "component")
- The composability that MCP emphasizes - servers expose resources and tools that compose together
- Developer expectations in 2024/2025 - "component" is the dominant term
- The protocol's forward-looking, integration-focused nature
"Widgets" feels:
- More desktop-toolkit era (Qt, GTK, Tkinter)
- Less compositional - implies self-contained UI pieces rather than building blocks
- Potentially confusing given MCP's server/client model where you're often orchestrating multiple services
Since MCP is about connecting AI systems to data sources and tools in a structured way, the framework would likely need components that are highly composable and data-driven - things like
<ResourceList>,<ToolInvocation>,<PromptTemplate>, etc. The term "component" better captures that these are building blocks that work together in a declarative tree, rather than standalone widgets.That said, if you were specifically building desktop-style UI chrome (toolbars, panels, inspectors), "widgets" could work. But for a general MCP UI framework, I'd definitely go with components.