Skip to content

Users/aclerbois/dev v5/support icon#4520

Open
AClerbois wants to merge 3 commits intomicrosoft:dev-v5from
AClerbois:users/aclerbois/dev-v5/support-icon
Open

Users/aclerbois/dev v5/support icon#4520
AClerbois wants to merge 3 commits intomicrosoft:dev-v5from
AClerbois:users/aclerbois/dev-v5/support-icon

Conversation

@AClerbois
Copy link
Collaborator

Pull Request

📖 Description

This pull request introduces a new icon discovery and usage feature for Fluent UI Blazor in the McpServer tool. The main changes include adding new services for icon catalog and synonym lookup, embedding the icon catalog as a resource, and implementing prompt logic for icon-related AI workflows. These updates enable users and AI to search, recommend, and generate code for Fluent UI icons with detailed guidance.

Icon catalog and services:

  • Registered IconSynonymService and IconService as singletons in the dependency injection setup to support icon search and synonym mapping.

  • Embedded the all-icons.json icon catalog as a resource in the project for runtime access by icon services.

Icon model and prompt logic:

  • Added the IconModel record to represent Fluent UI icons, their variants, and sizes, with methods for querying variant/size availability.

  • Introduced the IconPrompts class, which provides AI prompt logic for finding the best icon for a purpose and generating Blazor code for icon usage, including accessibility and context-specific guidance.

👩‍💻 Reviewer Notes

Only contains support for icon and not emoji

📑 Test Plan

✅ Checklist

General

  • I have added tests for my changes.
  • I have tested my changes.
  • [ ]I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the standards for this project.

Component-specific

  • I have added a new tools and ressources
  • I have added Unit Tests for my new component
  • I have modified an existing component
  • I have validated the Unit Tests for an existing component

⏭ Next Steps

@vnbaaij vnbaaij added this to the v5.0-RC2 milestone Feb 18, 2026
…ymService, and IconTools

- Implemented tests for IconPrompts to validate FindIcon and UseIcon prompts.
- Created tests for IconResources to ensure correct catalog and variant retrieval.
- Added comprehensive tests for IconService covering icon retrieval, searching, and variant handling.
- Developed tests for IconSynonymService to verify synonym functionality and coverage.
- Established tests for IconTools to validate search, details retrieval, usage examples, and listing icons.
@AClerbois AClerbois force-pushed the users/aclerbois/dev-v5/support-icon branch from 89dc45c to dc06f18 Compare February 19, 2026 19:56
@AClerbois AClerbois marked this pull request as ready for review February 19, 2026 20:21
Copilot AI review requested due to automatic review settings February 19, 2026 20:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request introduces comprehensive icon discovery and usage features for the Fluent UI Blazor MCP Server. The implementation adds services, tools, resources, and prompts to enable AI-assisted icon selection and code generation for Fluent UI Blazor applications.

Changes:

  • Adds IconModel, IconService, and IconSynonymService to support icon catalog management and synonym-based search
  • Implements MCP tools (IconTools) for searching icons, getting details, and generating usage examples
  • Provides MCP resources (IconResources) for icon catalog browsing and variant information
  • Includes AI prompts (IconPrompts) for finding and using icons in different contexts
  • Embeds icon catalog (all-icons.json) as a resource for runtime access
  • Comprehensive test coverage across all new components (6 test files with 1,417 lines of tests)

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/Tools/McpServer/Models/IconModel.cs Record type representing an icon with its variants and sizes, including helper methods for querying availability
src/Tools/McpServer/Services/IconSynonymService.cs Service mapping common keywords (e.g., "trash", "bell") to icon names for improved discoverability
src/Tools/McpServer/Services/IconService.cs Core service for loading, searching, and querying the icon catalog from embedded JSON
src/Tools/McpServer/Tools/IconTools.cs MCP tools exposing SearchIcons, GetIconDetails, GetIconUsage, and ListAllIconNames functionality
src/Tools/McpServer/Resources/IconResources.cs MCP resources providing icon catalog overview, variant details, and individual icon information
src/Tools/McpServer/Prompts/IconPrompts.cs AI prompts for finding the best icon and generating context-specific usage code
src/Tools/McpServer/Extensions/ServiceCollectionExtensions.cs Registers IconSynonymService and IconService as singletons in DI
src/Tools/McpServer/Microsoft.FluentUI.AspNetCore.McpServer.csproj Embeds all-icons.json as a resource
tests/Tools/McpServer.Tests/* Comprehensive test coverage for all new components (312 + 159 + 521 + 180 + 270 + 175 lines)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments