-
Notifications
You must be signed in to change notification settings - Fork 4.8k
feat: add fluentui-blazor plugin bundling the skill and the official MCP server #2675
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
Open
AClerbois
wants to merge
3
commits into
github:main
Choose a base branch
from
AClerbois:feature/fluentui-blazor-plugin
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| { | ||
| "mcpServers": { | ||
| "fluent-ui-blazor": { | ||
| "type": "stdio", | ||
| "command": "dnx", | ||
| "args": [ | ||
| "Microsoft.FluentUI.AspNetCore.McpServer@5.0.0-rc.5-26219.1", | ||
| "--yes" | ||
| ] | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| # Fluent UI Blazor Plugin | ||
|
|
||
| Everything you need to build Blazor applications with the [Microsoft Fluent UI Blazor](https://www.fluentui-blazor.net) component library, in one install: the `fluentui-blazor` skill for correct usage patterns, and the official Fluent UI Blazor MCP server for live, version-accurate lookup of components, enums, icons, and documentation. | ||
|
|
||
| ## Installation | ||
|
|
||
| ```bash | ||
| copilot plugin install fluentui-blazor@awesome-copilot | ||
| ``` | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - The [.NET 10 SDK](https://dotnet.microsoft.com/download) or later must be installed and `dnx` available on your `PATH`. | ||
| - The plugin starts its bundled MCP server by running `dnx Microsoft.FluentUI.AspNetCore.McpServer`. The first launch downloads the package from nuget.org. | ||
| - The MCP server and the component library are published with the same version number, and the server documents the version it was built against. If your project references a different version, ask the agent to run `check_project_version` — mismatched versions produce documentation that does not match your code. | ||
|
|
||
| ## What's Included | ||
|
|
||
| ### Skills | ||
|
|
||
| | Skill | Description | | ||
| |-------|-------------| | ||
| | `fluentui-blazor` | Guide for using the `Microsoft.FluentUI.AspNetCore.Components` package: mandatory providers, service registration and lifetimes, strongly-typed icons, the `Items`/`OptionText`/`OptionValue` list binding model, the `IDialogService` pattern, toasts, design tokens and theming, and form components. Includes reference files on setup, layout and navigation, data grid, and theming. | | ||
|
|
||
| ### MCP server | ||
|
|
||
| This plugin includes the `fluent-ui-blazor` MCP server configured in [`./.mcp.json`](./.mcp.json), published on NuGet as [`Microsoft.FluentUI.AspNetCore.McpServer`](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.McpServer). If the .NET SDK is unavailable, MCP startup will fail. | ||
|
|
||
| It gives the agent authoritative, version-aware answers instead of guesses: | ||
|
|
||
| | Capability | Tools | | ||
| |------------|-------| | ||
| | Components | `list_components`, `search_components`, `get_component_details`, `list_categories` | | ||
| | Enums | `list_enums`, `get_enum_values`, `get_component_enums` | | ||
| | Icons | `search_icons`, `list_all_icon_names`, `get_icon_details`, `get_icon_usage` | | ||
| | Documentation | `list_documentation`, `search_documentation`, `get_documentation_topic` | | ||
| | Versions | `get_version_info`, `check_project_version` | | ||
| | v4 → v5 migration | `get_migration_overview`, `get_migration_guide`, `list_component_migrations`, `get_component_migration` | | ||
|
|
||
| ### Why the skill and the MCP server together | ||
|
|
||
| They cover different failure modes, and each is weaker alone: | ||
|
|
||
| - The **skill** encodes the patterns that models get wrong from training data — the provider components that fail silently when missing, `ServiceLifetime.Transient` throwing, `FluentSelect` not behaving like `InputSelect`, design tokens needing `OnAfterRenderAsync`. This is judgement, not lookup. | ||
| - The **MCP server** supplies the facts that go stale — exact parameter names, enum values, the 142+ component surface, and the icon catalog — read from the library version in use rather than recalled. | ||
|
|
||
| Installing them as one plugin means a single `copilot plugin install` gets a working Fluent UI Blazor setup, instead of a skill that names components the agent then has to invent parameters for. | ||
|
|
||
| ## Example prompts | ||
|
|
||
| ```text | ||
| Add a FluentDataGrid of orders with sorting and pagination to my Blazor app. | ||
| ``` | ||
|
|
||
| ```text | ||
| Which Fluent icon should I use for a "save draft" button, and how do I reference it? | ||
| ``` | ||
|
|
||
| ```text | ||
| Check what my project is on today, then walk me through migrating this page from Fluent UI Blazor v4 to v5. | ||
| ``` | ||
|
|
||
| ## Source | ||
|
|
||
| This plugin is part of [Awesome Copilot](https://github.com/github/awesome-copilot), a community-driven collection of GitHub Copilot extensions. | ||
|
|
||
| The bundled MCP server is maintained in [microsoft/fluentui-blazor](https://github.com/microsoft/fluentui-blazor). | ||
|
|
||
| ## License | ||
|
|
||
| MIT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| { | ||
| "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", | ||
| "name": "fluentui-blazor", | ||
| "description": "Build Blazor apps with the Microsoft Fluent UI Blazor library. Bundles the fluentui-blazor skill for correct usage patterns (providers, service registration, icons, dialogs, data grid, theming) with the official Fluent UI Blazor MCP server for live lookup of components, parameters, enums, icons, and documentation, plus v4-to-v5 migration guidance.", | ||
| "version": "1.0.0", | ||
| "keywords": [ | ||
| "fluentui", | ||
| "blazor", | ||
| "dotnet", | ||
| "components", | ||
| "aspnetcore", | ||
| "mcp", | ||
| "model-context-protocol", | ||
| "migration", | ||
| "icons", | ||
| "theming" | ||
| ], | ||
| "author": { | ||
| "name": "Adrien Clerbois", | ||
| "url": "https://github.com/AClerbois" | ||
| }, | ||
| "homepage": "https://www.fluentui-blazor.net", | ||
| "repository": "https://github.com/github/awesome-copilot", | ||
| "license": "MIT", | ||
| "extensions": { | ||
| "com.github.awesome-copilot": { | ||
| "mcpServers": "./.mcp.json", | ||
| "skills": [ | ||
| "./skills/fluentui-blazor/" | ||
| ] | ||
| } | ||
| } | ||
| } | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.