ui-widget-developer
| Build MCP servers for Copilot Chat using the OpenAI Apps SDK or MCP Apps SDK widget rendering support (any language). Use this skill when: - Creating MCP servers that integrate with M365 Copilot declarative agents - Building rich interactive widgets (React + Fluent UI) that render in Copilot Chat - Implementing tools that return structuredContent for widget rendering - Adapting an existing MCP server to support Copilot widget rendering - Setting up devtunnels for localhost MCP server exposure - Configuring mcpPlugin.json manifests with RemoteMCPServer runtime Do NOT use this skill for general agent development (scaffolding, manifests, deployment) — use declarative-agent-developer instead. This skill is ONLY for MCP server + widget development. Triggers: "MCP server for Copilot", "OpenAI Apps SDK", "Copilot widget", "structuredContent", "MCP plugin", "devtunnels MCP", "OAI app", "widget rendering", "UI widget"
Why we recommend it: Builds MCP servers for Copilot Chat using the OpenAI Apps SDK or MCP Apps SDK widget rendering, including React widgets, structuredContent, and devtunnels.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
--- name: ui-widget-developer description: | Build MCP servers for Copilot Chat using the OpenAI Apps SDK or MCP Apps SDK widget rendering support (any language). Use this skill when: - Creating MCP servers that integrate with M365 Copilot declarative agents - Building rich interactive widgets (React + Fluent UI) that render in Copilot Chat - Implementing tools that return structuredContent for widget rendering - Adapting an existing MCP server to support Copilot widget rendering - Setting up devtunnels for localhost MCP server exposure - Configuring mcpPlugin.json manifests with RemoteMCPServer runtime Do NOT use this skill for general agent development (scaffolding, manifests, deployment) — use declarative-agent-developer instead. This skill is ONLY for MCP server + widget development. Triggers: "MCP server for Copilot", "OpenAI Apps SDK", "Copilot widget", "structuredContent", "MCP plugin", "devtunnels MCP", "OAI app", "widget rendering", "UI widget" --- # Copilot MCP Server Development ## Telemetry Tagging Before running any `atk` CLI commands, set the session environment variable so all CLI invocations are tagged as skill-initiated: ```bash export ATK_CLI_SKILL=true ``` Run this once at the start of the session. All subsequent `atk` commands in the same terminal will inherit it. ## 🔀 PATH SELECTION **Before proceeding, ask the user which path they want to take using AskUserQuestion.** Both are supported for M365 Copilot widget rendering. Present the tradeoffs and let them choose: | | **OAI Apps** (this skill) | **MCP Apps Extension** (`modelcontextprotocol/ext-apps`) | |---|---|---| | **Standard** | OpenAI-specific | Official MCP standard | | **Works in** | ChatGPT + M365 Copilot | M365 Copilot, ChatGPT, VSCode, and more | | **Maturity** | Battle-tested, production-ready | New official standard, growing ecosystem | | **Design** | OpenAI Apps SDK | MCP Apps protocol (cross-platform) | | **When to choose** | Existing OAI app investment | Prefer the open standard, want broadest client support | **Ask:** _"Would you like to build an OAI app (OpenAI Apps SDK — battle-tested, works in ChatGPT and M365 Copilot) or an MCP app (new official standard — works in M365 Copilot, ChatGPT, VSCode, and more)?"_ - **OAI apps** → Continue below. This skill covers everything you need. - **MCP apps** → Install the `modelcontextprotocol/ext-apps` plugin (see below), then use the appropriate skill from that plugin. ### MCP Apps: Install ext-apps Plugin If the user chooses MCP Apps, do this automatically (do not stop at explanation-only): 1. Run `/plugin marketplace add modelcontextprotocol/ext-apps` 2. Run `/plugin install mcp-apps@mcp-apps` 3. Confirm the plugin is available, then invoke the correct ext-apps skill based on user intent If plugin commands are unavailable in the current environment, provide the exact commands below and ask the user to run them once, then continue by invoking the selected ext-apps skill. Reference commands: ``` To build an MCP App, install the ext-apps plugin from the marketplace: 1. /plugin marketplace add modelcontextprotocol/ext-apps 2. /plugin install mcp-apps@mcp-apps Then use one of these skills from that plugin: - create-mcp-app — Scaffold a new MCP App with interactive UI from scratch - add-app-to-server — Add interactive UI to an existing MCP server's tools - migrate-oai-app — Convert an existing OAI app to use MCP Apps - convert-web-app — Turn a web app into a hybrid web + MCP App After installing, invoke the relevant skill to continue. ``` > **Note:** The ext-apps plugin lives in the external `modelcontextprotocol/ext-apps` marketplace — it is not part of this plugin collection. **Handoff mapping after install:** - New MCP app from scratch → `create-mcp-app` - Add app UI to existing MCP server → `add-app-to-server` - Migrate existing OAI app → `migrate-oai-app` - Convert an existing web app → `convert-web-app` --- ## 📛 PROJECT DETECTION 📛 This skRead the full source on GitHub (opens external page)