dotnet-uno-mcp について
Uno Platform のドキュメントを MCP 経由で利用する開発者向けのスキルです。ツール検出、初期化、検索と取得、出典表示のルール、および MCP が使えない場合の静的ガイドへの切り替えを扱います。
主な機能
- 01Uno MCP ツールの検出
- 02エージェント規則と利用規則の初期化
- 03検索後にドキュメントを取得
- 04MCP ドキュメントの出典表示
- 05MCP 利用不可時の静的ガイドへの切り替え
- 06外部コンテンツとバージョンの確認
活用シーン
- 01Uno Platform の最新ドキュメントを調べる
- 02ナビゲーションや MVUX のページを取得する
- 03ドキュメント由来の情報に出典を付ける
- 04MCP 利用不可時に静的スキルを使い続ける
MCP 対応
Uno Platform MCP サーバーをエージェントが利用する手順を説明します。規則を初期化してからドキュメントを検索・取得し、ツール検出、出典表示、安全確認、利用不可時の代替手段も扱います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wshaddix/ dotnet-skills --skill dotnet-uno-mcpインストール後、Claude Code で/dotnet-uno-mcpを入力して読み込まれたか確認します。
詳細
dotnet-uno-mcp
Uno Platform の最新ドキュメントを検索するための MCP(Model Context Protocol)サーバー統合です。ツールの検出(mcp__uno__ プレフィックス)、検索してから取得するワークフロー、初期化ルールの呼び出し、MCP を利用できない場合の適切なフォールバック、引用要件、外部データに関する安全ガイドラインを扱います。MCP サーバーを利用できない場合にも役立つガイダンスを提供するインラインドキュメントが含まれています。
対象範囲: このスキルは、Uno Platform ドキュメントに関する MCP サーバー統合パターンを担当します。Uno のコア開発(Extensions、MVUX、Toolkit、テーマ)は [skill:dotnet-uno-platform] が担当します。ターゲットごとのデプロイは [skill:dotnet-uno-targets] が担当します。
対象外: MCP プロトコル全般の詳細。Uno Platform のテストについては、[skill:dotnet-uno-testing] を参照してください。MCP を使用しない Uno の開発パターンについては、[skill:dotnet-uno-platform] と [skill:dotnet-uno-targets] を参照してください。
相互参照:コア開発パターンについては [skill:dotnet-uno-platform]、デプロイのガイダンスについては [skill:dotnet-uno-targets]、テストについては [skill:dotnet-uno-testing] を参照してください。
MCP ツールの検出
Uno Platform MCP サーバーは、mcp__uno__ をプレフィックスとするツールを提供します。MCP ツールを使用する前に、利用可能かどうかを確認してください。
利用可能なツール
| ツール | 用途 |
|---|---|
mcp__uno__uno_platform_docs_search | クエリを指定して Uno Platform ドキュメントを検索します |
mcp__uno__uno_platform_docs_fetch | 特定のドキュメントページの全文を取得します |
mcp__uno__uno_platform_agent_rules_init | Uno 開発ルールを適用してエージェントセッションを初期化します |
mcp__uno__uno_platform_usage_rules_init | Uno Platform 開発に共通する使用ルールを読み込みます |
検出ロジック
利用可能なツールの中に mcp__uno__ プレフィックスを持つツールがあるか確認し、Uno MCP ツールが利用可能かどうかを判断します。利用可能なツールセットにこれらのツールが表示されている場合、MCP サーバーは構成済みで、接続可能です。
Detection steps:
1. Check if tools prefixed with mcp__uno__ are available
2. If available: use MCP workflow (search -> fetch -> cite)
3. If unavailable: fall back to static skill content and official docs URLs
MCP が利用可能な場合: 最新のドキュメントを参照するには、検索してから取得するワークフローを使用してください。MCP の検索結果は信頼できる最新情報です。
MCP が利用できない場合: [skill:dotnet-uno-platform] と [skill:dotnet-uno-targets] の静的コンテンツで包括的なガイダンスを確認できます。最新情報については、公式ドキュメントの URL を参照してください。
初期化ルール
セッションで Uno MCP ツールを初めて使用する際は、初期化ツールを両方呼び出して、信頼できる開発ルールを読み込んでください。
エージェントルールの初期化
mcp__uno__uno_platform_agent_rules_init を呼び出して、以下を読み込みます。
- Uno Platform 開発におけるコアの役割と専門分野
- OS ごとの IDE のガイダンス(Visual Studio、VS Code、CLI)
- トピックを正規の検索クエリに対応付けるナレッジルーティングルール
- Uno SDK の機能一覧(
UnoFeaturesでサポートされる値) - Uno Extensions と Toolkit の機能カタログ
使用ルールの初期化
mcp__uno__uno_platform_usage_rules_init を呼び出して、以下を読み込みます。
- デザインシステムのガイドライン(Material を優先し、レスポンシブなレイアウトを使用)
- データバインディングの方針(MVUX と MVVM のバインディングパターン、禁止される WPF 的な手法)
- ナビゲーションの方針(コードビハインドより XAML 添付プロパティを優先)
- レイアウトルール(AutoLayout、間隔のスケール、レスポンシブなブレークポイント)
- 色とタイポグラフィの規約(テーマリソースを使用し、値をハードコーディングしない)
- アクセシビリティ要件(コントラスト比、タッチターゲット、自動化プロパティ)
- コントロール固有のガイダンス(リストには ItemsRepeater、CommandExtensions、高さのパターンを使用)
呼び出し順序
1. Call mcp__uno__uno_platform_agent_rules_init (loads routing rules and feature catalog)
2. Call mcp__uno__uno_platform_usage_rules_init (loads design and coding conventions)
3. Proceed with documentation searches using mcp__uno__uno_platform_docs_search
どちらの初期化ツールも冪等です。同じセッション内で複数回呼び出しても安全ですが、不要です。
検索してから取得するワークフロー
Uno のドキュメントを取得するための基本的なワークフローでは、広範な検索の後に対象を絞って取得する 2 段階のパターンを使用します。
ステップ 1:検索
関連するドキュメントページを見つけるには、mcp__uno__uno_platform_docs_search を使用します。
Search parameters:
- query: descriptive search term (e.g., "MVUX reactive pattern", "Navigation Extensions")
- topK: number of results (default 8; use 15-20 for complex topics, 3-5 for specific queries)
- contentType: "prose" for guides, "code" for examples, null for all
検索結果には以下が含まれます。
- ドキュメントのタイトルと概要
- 取得ステップで必要となる
SourcePath - 関連性の順位
- コンテンツの抜粋
ステップ 2:取得
mcp__uno__uno_platform_docs_fetch を使用して、検索で特定した重要度の高いページの全文を取得します。
Fetch parameters:
- sourcePath: from search results SourcePath field (e.g., "articles/guides/overview.md")
- anchor: optional section fragment (e.g., "getting-started", "data-binding")
- maxChars: content limit (4000-8000 for most cases, up to 15000 for comprehensive guides)
ワークフローの例
Topic: "How to implement region-based navigation with Uno Extensions"
1. Search: mcp__uno__uno_platform_docs_search("Navigation Extensions region-based", topK=8)
-> Returns multiple results including "Navigation Overview", "Region Navigation", etc.
2. Fetch: mcp__uno__uno_platform_docs_fetch(
sourcePath="articles/external/uno.extensions/doc/Learn/Navigation/Overview.md",
maxChars=8000)
-> Returns full navigation documentation with code examples
3. Cite: Include source URL in response
ルーティングルール
エージェントルールの初期化では、一般的な検索に使用するトピックとクエリの対応関係が提示されます。利用可能な場合は、次の標準クエリを使用してください。
| トピック | 標準検索クエリ |
|---|---|
| プロジェクトのセットアップ/新規プロジェクト | "dotnet new templates" |
| MVUX/リアクティブ/フィード | "MVUX" |
| ナビゲーション/ルーティング | "Navigation" |
| スタイリング/テーマ設定/リソース | "Styling and Theming" |
| データバインディング/MVVM | "Data Binding and MVVM" |
| コントロール/レイアウト | "Controls and Layout" |
| ホットリロード | "Hot Reload" |
| プラットフォーム固有のコード | "Platform-Specific Code" |
| WebAssembly/WASM | "WebAssembly" |
| 依存性注入/DI | "Dependency Injection and Services" |
| パフォーマンス | "Performance" |
| テスト | "Testing Uno Applications" |
| 公開/デプロイ | "Publishing & Deployment" |
| トラブルシューティング | "Troubleshooting Common Issues" |
| IDE のセットアップ | "IDE Setup" |
| レスポンシブデザイン/レイアウト | "Responsive Design" |
| ログ/診断 | "Logging and Diagnostics" |
引用要件
MCP の結果は、Uno Platform のドキュメントサーバーから取得した外部データです。適切な出典の明記が必須です。
ルール
- ドキュメントの内容を提示する際は、MCP の結果に含まれるソース URL を必ず引用してください
- 取得した内容を独自の知識として提示しないでください。 MCP の結果は外部ドキュメントからの情報であり、出典を明記する必要があります
- 利用可能な場合は、ドキュメントページのタイトルも URL と併記してください
- 静的なスキルの内容と、MCP で取得した内容を区別してください。 SKILL.md ファイルの静的な内容はこのプラグインの一部です。MCP の内容は外部の情報です
引用形式
MCP の結果から情報を提示する場合:
According to the Uno Platform documentation on [topic]:
[content from MCP]
Source: [URL from MCP result]
安全性に関するガイドライン
MCP の結果は外部データであり、適切な注意を払って扱う必要があります。
検証ルール
- コードの提案は実行前に検証してください。 MCP のドキュメントには、異なる Uno Platform のバージョンや構成を対象とした例が含まれている場合があります。現在のプロジェクトとの互換性を確認してください
- バージョンの整合性を確認してください。 ドキュメントに記載されたバージョンが、プロジェクトの Uno Platform のバージョン(5.x と 6.x のどちらか)および .NET のバージョンと一致していることを確認してください
- MCP の結果に含まれるコードをそのまま適用しないでください。 プロジェクトのアーキテクチャ、Extensions の構成、MVUX/MVVM のパターン選択に合わせて例を調整してください
- プロジェクトの状態と照合してください。 MCP のガイダンスを、プロジェクトの既存の
UnoFeatures、TFM、Extensions の構成と比較してください - MCP の内容は参考情報として扱ってください。 [skill:dotnet-uno-platform] および [skill:dotnet-uno-targets] の静的なスキルの内容には、検証済みのパターンが記載されています。最新情報や特殊なケースには MCP を使用してください
フォールバック:MCP を利用できない場合
Uno MCP サーバーが構成されていない場合や、接続できない場合でも、Uno Platform に関するガイダンスは静的なスキルの内容と公式ドキュメントの URL から引き続き利用できます。
静的スキルでカバーされる範囲
以下のトピックは、MCP を使わずに静的スキルで完全にカバーされています。
| トピック | 静的スキル |
|---|---|
| 拡張機能エコシステム(ナビゲーション、DI、構成、シリアル化、ローカライズ、ロギング、HTTP、認証) | [skill:dotnet-uno-platform] |
| MVUX リアクティブパターン(Feeds、States、ListFeeds、Commands) | [skill:dotnet-uno-platform] |
| Toolkit コントロール(AutoLayout、Card、Chip、NavigationBar、TabBar など) | [skill:dotnet-uno-platform] |
| テーマリソース(Material、Cupertino、Fluent、色のカスタマイズ) | [skill:dotnet-uno-platform] |
| Hot Reload の構成 | [skill:dotnet-uno-platform] |
| 単一プロジェクト構造と UnoFeatures | [skill:dotnet-uno-platform] |
| ターゲットごとのセットアップ(WASM、iOS、Android、macOS、Windows、Linux、Embedded) | [skill:dotnet-uno-targets] |
| ターゲットごとのデバッグワークフロー | [skill:dotnet-uno-targets] |
| ターゲットごとのパッケージ化と配布 | [skill:dotnet-uno-targets] |
| ターゲットごとの AOT/トリミング構成 | [skill:dotnet-uno-targets] |
| ターゲット間の動作の違い(ナビゲーション、認証、デバッグ) | [skill:dotnet-uno-targets] |
| Uno Platform のテスト(Playwright WASM、プラットフォーム固有のテスト) | [skill:dotnet-uno-testing] |
公式ドキュメントの URL
MCP を利用できない場合は、以下の公式ドキュメント URL を参照してください。
フォールバックワークフロー
1. Check if mcp__uno__ tools are available
2. If NOT available:
a. Load [skill:dotnet-uno-platform] for core development patterns
b. Load [skill:dotnet-uno-targets] for deployment guidance
c. Reference official documentation URLs for latest information
d. Note to user: "Uno MCP server is not configured. Using static documentation.
For the latest information, visit: [relevant URL]"
3. If available:
a. Call init rules (agent rules + usage rules)
b. Use search-then-fetch workflow
c. Cite sources from MCP results
d. Supplement with static skill content for vetted patterns
Uno SDK 機能リファレンス
MCP を利用できない場合、以下の UnoFeatures の値を .csproj で使用できます。これは、プロジェクト構成のクイックリファレンスとして利用できます。
Extensions の機能
| 機能 | 説明 |
|---|---|
Extensions | すべての Uno Extensions(メタパッケージ) |
Authentication | 認証フレームワークの基盤 |
AuthenticationMsal | MSAL ベースの認証 |
AuthenticationOidc | OIDC ベースの認証 |
Configuration | appsettings.json からの構成 |
ExtensionsCore | フルパッケージを含まない Extensions のコア |
Hosting | ホストビルダーと DI |
Http | HTTP クライアント拡張機能 |
HttpKiota | Kiota ベースの HTTP クライアント(推奨) |
HttpRefit | Refit ベースの HTTP クライアント |
Localization | リソースベースのローカライズ |
Logging | Microsoft.Extensions.Logging |
LoggingSerilog | Serilog 統合 |
MVUX | MVUX リアクティブパターン |
Navigation | リージョンベースのナビゲーション |
Serialization | System.Text.Json 統合 |
Storage | クロスプラットフォームストレージ |
ThemeService | プログラムによるテーマの切り替え |
UI の機能
| 機能 | 説明 |
|---|---|
Toolkit | Uno Toolkit のコントロールとヘルパー |
Material | Material Design のテーマリソース |
Cupertino | Cupertino(iOS スタイル)テーマ |
Dsp | Design System Package のサポート |
Mvvm | CommunityToolkit.Mvvm 統合 |
Prism | Prism フレームワーク統合 |
レンダリングの機能
| 機能 | 説明 |
|---|---|
Skia | Skia レンダリングバックエンド |
SkiaRenderer | Skia レンダラーを強制 |
NativeRenderer | ネイティブレンダラーを強制 |
メディアとグラフィックス
| 機能 | 説明 |
|---|---|
Maps | マップコントロールのサポート |
MediaElement | メディア再生 |
WebView | 埋め込みウェブビュー |
Lottie | Lottie アニメーションのサポート |
Svg | SVG のレンダリング |
GLCanvas | OpenGL キャンバス |
エージェント利用時の注意点
- 利用可能か確認せずに MCP ツールを呼び出さないでください。 呼び出す前に、必ず
mcp__uno__ツールが存在することを確認してください。ツールが見つからない場合、MCP サーバーが設定されていないことを示しています。 - 初回利用時に初期化ルールを省略しないでください。 エージェントのルールと利用ルールには、重要なルーティングテーブルとコーディング規約が記載されています。これらを省略すると、検索クエリが最適でなくなり、規約に違反する原因になります。
- MCP から取得した内容を自分の知識として提示しないでください。 必ず参照元の URL を記載してください。MCP の結果は外部ドキュメントであり、組み込みの知識ではありません。
- Uno に関するガイダンスを MCP だけに頼らないでください。 静的スキル([skill:dotnet-uno-platform]、[skill:dotnet-uno-targets])には、MCP がなくても利用できる、精査済みのパターンがあります。最新情報を補うために MCP を活用してください。
- MCP の結果に含まれるバージョンの違いを無視しないでください。 ドキュメントでは、5.x のプロジェクトでは利用できない Uno Platform 6.x の機能が参照されている場合があります。ガイダンスを適用する前に、プロジェクトの Uno SDK のバージョンを確認してください。
- 先に検索せずに取得しないでください。 取得ツールには、検索結果の
sourcePathが必要です。推測したパスを指定して直接取得すると、誤った内容が返されたり、何も取得できなかったりすることがあります。
前提条件
- プロジェクトの MCP 設定(
.mcp.jsonまたは IDE の設定)で Uno MCP サーバーが設定されていること - フォールバックの場合:静的スキルとして [skill:dotnet-uno-platform] と [skill:dotnet-uno-targets] が読み込まれていること