Skip to content

feat: add fluentui-blazor plugin bundling the skill and the official MCP server - #2675

Open
AClerbois wants to merge 3 commits into
github:mainfrom
AClerbois:feature/fluentui-blazor-plugin
Open

feat: add fluentui-blazor plugin bundling the skill and the official MCP server#2675
AClerbois wants to merge 3 commits into
github:mainfrom
AClerbois:feature/fluentui-blazor-plugin

Conversation

@AClerbois

Copy link
Copy Markdown
Contributor

What this adds

A new curated plugin, fluentui-blazor, that bundles two things this repo already relates to but that users currently have to find and wire up separately:

  1. The existing skills/fluentui-blazor/ skill — referenced, not copied. skills/fluentui-blazor/ is untouched by this PR.
  2. The official Fluent UI Blazor MCP server — published on NuGet as Microsoft.FluentUI.AspNetCore.McpServer (MIT, maintained in microsoft/fluentui-blazor), declared as a stdio server launched through dnx.

Result: one command gets a working Fluent UI Blazor setup.

copilot plugin install fluentui-blazor@awesome-copilot

Why bundle them

The skill and the MCP server cover different failure modes, and each is noticeably weaker alone:

  • The skill encodes the patterns models get wrong from training data — provider components that fail silently when missing, ServiceLifetime.Transient throwing, FluentSelect not behaving like InputSelect, design tokens needing OnAfterRenderAsync. That's judgement, not lookup.
  • The MCP server supplies the facts that go stale — exact parameter names, enum values, the 142+ component surface, the icon catalog, and v4→v5 migration guidance — read from the library version actually in use rather than recalled.

Installed separately, a user typically ends up with a skill that names components the agent then invents parameters for. Bundled, the agent has both the "how to use this library correctly" guidance and a way to check itself.

MCP tools the server contributes: list_components, search_components, get_component_details, list_categories, list_enums, get_enum_values, get_component_enums, search_icons, list_all_icon_names, get_icon_details, get_icon_usage, list_documentation, search_documentation, get_documentation_topic, get_version_info, check_project_version, get_migration_overview, get_migration_guide, list_component_migrations, get_component_migration.

Files

File Purpose
plugins/fluentui-blazor/plugin.json Manifest; references the skill and ./.mcp.json under extensions["com.github.awesome-copilot"]
plugins/fluentui-blazor/.mcp.json stdio MCP server declaration (same shape as plugins/awesome-copilot/.mcp.json)
plugins/fluentui-blazor/README.md Plugin docs, prerequisites, example prompts
.github/plugin/marketplace.json Regenerated by npm run build
docs/README.plugins.md Regenerated by npm run build

Note on the dnx args

"args": ["Microsoft.FluentUI.AspNetCore.McpServer", "--yes", "--prerelease"]

--prerelease is required today: the package currently publishes only 5.0.0-rc.* versions, and dnx defaults to stable-only, so it would otherwise fail to resolve. We'll drop the flag in a follow-up once 5.0.0 GA ships — happy to do that on request instead if maintainers prefer to hold the plugin until GA.

Alternative: external plugin

As Fluent UI Blazor maintainers we're equally happy to host this as an external plugin via plugins/external.json and the issue-based review workflow, if that's the better fit for a vendor-maintained MCP server. Just say the word and we'll withdraw this PR and open a submission issue instead.

Contributing checklist

  • Read CONTRIBUTING.md and docs/README.plugins.md
  • Branch created from main (not staged); PR targets main
  • Plugin folder name is lowercase with hyphens and matches plugin.json name
  • Content declared declaratively under extensions["com.github.awesome-copilot"]; no materialized files or symlinks in plugins/
  • All referenced paths point to existing sources (skills/fluentui-blazor/SKILL.md)
  • Required metadata present: $schema, name, description, version, keywords, author, repository, license
  • npm run plugin:validate passes — All 94 plugins and the external catalog are valid
  • npm run build run; regenerated marketplace.json and docs/README.plugins.md are included
  • plugins/external.json not modified
  • skills/fluentui-blazor/ not modified
  • All content in English
  • Content is MIT-licensed and follows the repo's content and Responsible AI policies

Bundle the existing skills/fluentui-blazor skill with the official Fluent UI
Blazor MCP server (NuGet: Microsoft.FluentUI.AspNetCore.McpServer, launched via
dnx) so users get usage guidance plus live component, enum, icon, documentation,
and v4-to-v5 migration lookup from a single plugin install.

The skill is referenced, not copied; skills/fluentui-blazor/ is unchanged.
Regenerated marketplace.json and docs/README.plugins.md via npm run build.
@AClerbois
AClerbois requested a review from aaronpowell as a code owner August 15, 2026 09:08
Copilot AI balanced review requested due to automatic review settings August 15, 2026 09:08
@github-actions github-actions Bot added the plugin PR touches plugins label Aug 15, 2026
@github-actions

github-actions Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

🔒 PR Risk Scan Results

Scanned 5 changed file(s).

Severity Count
🔴 High 0
🟠 Medium 2
ℹ️ Info 0
Severity Rule File Line Match
🟠 unpinned-version-indicator eng/update-readme.mjs 516 hook.assets.length > 0
🟠 unpinned-version-indicator eng/update-readme.mjs 630 skill.assets.length > 0

This is an automated soft-gate report. Findings indicate review targets and do not block merge by themselves.

@github-actions

github-actions Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

🟡 Contributor Reputation Check: MEDIUM risk

Check Risk
Profile MEDIUM
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

@github-actions github-actions Bot added the needs-review:MEDIUM Contributor reputation check flagged MEDIUM risk label Aug 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a curated Fluent UI Blazor plugin combining the existing skill with the official MCP server.

Changes:

  • Adds plugin metadata, documentation, and MCP configuration.
  • Registers the plugin in generated catalogs.
  • Provides component, icon, documentation, and migration tooling.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
plugins/fluentui-blazor/README.md Documents installation and usage.
plugins/fluentui-blazor/plugin.json Defines bundled resources and metadata.
plugins/fluentui-blazor/.mcp.json Configures the NuGet MCP server.
docs/README.plugins.md Adds the plugin catalog entry.
.github/plugin/marketplace.json Registers the marketplace package.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/README.plugins.md Outdated
Comment thread plugins/fluentui-blazor/plugin.json
update-readme.mjs summed agents, skills and extensions but ignored
composition.mcpServers, while generate-website-data.mjs already counted MCP
entries. The README and website catalogs therefore disagreed for any plugin
declaring an MCP server.

Mirror the website generator logic, including the .mcp.json path form and
multi-server files, so both catalogs report the same totals. Affects
awesome-copilot (4 to 5 items) and fluentui-blazor (1 to 2 items).
Copilot AI review requested due to automatic review settings August 15, 2026 09:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Suppressed comments (1)

plugins/fluentui-blazor/README.md:45

  • This claims the server reads documentation from the project's library version, but line 15 correctly explains that it serves the version it was built against and can mismatch the project. Reword this so users do not expect the server to adapt automatically to their referenced package.
- 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.

Comment thread plugins/fluentui-blazor/.mcp.json Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings August 15, 2026 09:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

Suppressed comments (3)

plugins/fluentui-blazor/README.md:45

  • The server does not read documentation from the library version in the user's project. Its documentation is generated at package build time and embedded in the pinned MCP package, which is why line 15 warns that mismatched project versions are inaccurate. Reword this claim so users do not infer that the server adapts automatically to their installed library.
- 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.

plugins/fluentui-blazor/.mcp.json:7

  • This pins a v5 release candidate while the bundled skill explicitly targets version 4 (skills/fluentui-blazor/SKILL.md:15) and includes v4 API examples such as the constructor-free icon syntax at line 64. Installing the plugin therefore gives the agent conflicting instructions for ordinary v5 development. The skill needs to be updated or made version-aware before it is bundled with this v5-only server.
        "Microsoft.FluentUI.AspNetCore.McpServer@5.0.0-rc.5-26219.1",

plugins/fluentui-blazor/README.md:14

  • This does not describe the command that the plugin actually launches: .mcp.json pins an exact prerelease and adds --yes. With no stable package available, manually running the documented unversioned command may not resolve and cannot reproduce the plugin setup. Refer readers to the pinned configuration instead of presenting a different command.

This issue also appears on line 45 of the same file.

- The plugin starts its bundled MCP server by running `dnx Microsoft.FluentUI.AspNetCore.McpServer`. The first launch downloads the package from nuget.org.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-review:MEDIUM Contributor reputation check flagged MEDIUM risk plugin PR touches plugins

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants