关于 dotnet-uno-mcp
为 Uno Platform 开发提供 MCP 文档查询集成指导,面向使用 Agent 的开发者。内容包括工具发现、初始化、搜索后获取文档及引用要求,并说明 MCP 不可用时的静态内容回退。
主要功能
- 01检测 Uno MCP 工具
- 02初始化 Agent 与使用规则
- 03按搜索后获取流程查询文档
- 04引用 MCP 文档来源
- 05MCP 不可用时回退至静态指南
- 06校验外部内容与版本
适用场景
- 01查询 Uno Platform 的最新文档
- 02获取导航或 MVUX 主题的完整文档
- 03在使用文档内容时标注来源
- 04MCP 不可用时继续参考静态技能
MCP 相关
指导 Agent 使用 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(模型上下文协议)服务集成。涵盖工具检测(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 开发规则初始化 Agent 会话 |
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 工具时,调用两个初始化工具以加载权威开发规则。
Agent 规则初始化
调用 mcp__uno__uno_platform_agent_rules_init 以加载:
- Uno Platform 开发的核心身份与专业范围
- 各操作系统对应的 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、 elevation 模式)
调用顺序
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 文档的主要工作流采用两步模式:先进行广泛搜索,再针对性获取。
步骤 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
路由规则
Agent 规则初始化会为常见搜索提供主题到查询的映射。若有可用的规范查询,请使用:
| 主题 | 规范搜索查询 |
|---|---|
| 项目设置 / 新建项目 | "dotnet new templates" |
| MVUX / 响应式 / feeds | "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 结果的信息时:
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 服务未配置或无法访问,仍可通过静态技能内容和官方文档 URL 获取所有 Uno Platform 指南。
静态技能覆盖范围
以下主题均由静态技能完整覆盖,无需使用 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 | 所有 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 | 嵌入式 Web 视图 |
Lottie | Lottie 动画支持 |
Svg | SVG 渲染 |
GLCanvas | OpenGL 画布 |
Agent 注意事项
- 调用 MCP 工具前,请先检查其是否可用。 调用前务必确认
mcp__uno__工具存在。缺少这些工具表示尚未配置 MCP 服务。 - 首次使用时,请勿跳过初始化规则。 Agent 规则和使用规则提供了关键的路由表和编码约定。跳过它们会导致搜索查询效果不佳,并违反约定。
- 请勿将 MCP 获取的内容说成自己的知识。 务必引用来源 URL。MCP 结果是外部文档,并非内置知识。
- 请勿仅依赖 MCP 获取 Uno 指引。 静态技能([skill:dotnet-uno-platform]、[skill:dotnet-uno-targets])提供了无需 MCP 也能使用的经过验证的模式。使用 MCP 补充最新信息。
- 请勿忽略 MCP 结果中的版本差异。 文档可能提及 Uno Platform 6.x 中有、但 5.x 项目不支持的功能。应用指引前,请检查项目的 Uno SDK 版本。
- 请勿未经搜索就直接获取内容。 获取工具需要使用搜索结果中的
sourcePath。猜测路径直接获取可能会返回错误或缺失的内容。
先决条件
- 在项目的 MCP 配置(
.mcp.json或 IDE 设置)中配置 Uno MCP 服务 - 回退方案:[skill:dotnet-uno-platform] 和 [skill:dotnet-uno-targets] 已作为静态技能加载