dotnet-uno-mcp技能 dotnet-uno-mcp

此技能用于通过MCP服务器查询Uno Platform的实时文档,支持工具检测、搜索-获取工作流、初始化规则和优雅回退。关键词包括Uno Platform、MCP、文档查询、.NET开发、跨平台应用、移动开发。

移动开发 0 次安装 0 次浏览 更新于 3/6/2026

name: dotnet-uno-mcp description: “查询 Uno MCP 服务器。工具检测、搜索-获取工作流、初始化规则、回退机制。” user-invocable: false

dotnet-uno-mcp

用于 Uno Platform 实时文档查找的 MCP(模型上下文协议)服务器集成。涵盖工具检测(mcp__uno__ 前缀)、搜索-获取工作流、初始化规则调用、MCP 不可用时的优雅回退、引用要求以及外部数据的安全指南。包含内联文档,可在 MCP 服务器不可用时提供有用指导。

范围

  • MCP 工具检测(mcp__uno__ 前缀)
  • Uno Platform 文档的搜索-获取工作流
  • 初始化规则调用
  • MCP 不可用时的优雅回退
  • 引用要求和安全指南
  • 用于项目配置的 Uno SDK UnoFeatures 参考

超出范围

  • 通用协议和流式通信模式(非 MCP 特定)——参见 [skill:dotnet-realtime-communication]
  • 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 服务器已配置并可访问。

检测步骤:
1. 检查前缀为 mcp__uno__ 的工具是否可用
2. 如果可用:使用 MCP 工作流(搜索 -> 获取 -> 引用)
3. 如果不可用:回退到静态技能内容和官方文档 URL

当 MCP 可用时: 使用搜索-获取工作流获取最新文档。MCP 结果具有权威性和时效性。

当 MCP 不可用时: [skill:dotnet-uno-platform] 和 [skill:dotnet-uno-targets] 中的静态内容提供全面指导。参考官方文档 URL 获取最新信息。


初始化规则

在会话中首次使用 Uno MCP 工具时,调用两个初始化工具以加载权威的开发规则。

代理规则初始化

调用 mcp__uno__uno_platform_agent_rules_init 以加载:

  • Uno Platform 开发的核心身份和专业范围
  • 每个操作系统的 IDE 指导(Visual Studio、VS Code、CLI)
  • 将主题映射到规范搜索查询的知识路由规则
  • Uno SDK 功能列表(UnoFeatures 支持的值)
  • Uno 扩展和工具包功能目录

使用规则初始化

调用 mcp__uno__uno_platform_usage_rules_init 以加载:

  • 设计系统指南(首选 Material、响应式布局)
  • 数据绑定策略(MVUX 与 MVVM 绑定模式,禁止的 WPF 特性)
  • 导航策略(优先使用 XAML 附加属性而非代码后置)
  • 布局规则(AutoLayout、间距尺度、响应式断点)
  • 颜色和排版约定(主题资源,无硬编码值)
  • 可访问性要求(对比度、触摸目标、自动化属性)
  • 控件特定指导(列表使用 ItemsRepeater、CommandExtensions、高程模式)

调用顺序

1. 调用 mcp__uno__uno_platform_agent_rules_init(加载路由规则和功能目录)
2. 调用 mcp__uno__uno_platform_usage_rules_init(加载设计和编码约定)
3. 使用 mcp__uno__uno_platform_docs_search 进行文档搜索

两个初始化工具是幂等的——在同一会话中多次调用是安全但不必要的。


搜索-获取工作流

检索 Uno 文档的主要工作流使用两步模式:广泛搜索后跟定向获取。

步骤 1:搜索

使用 mcp__uno__uno_platform_docs_search 查找相关文档页面。

搜索参数:
- query:描述性搜索词(例如,“MVUX 反应模式”、“导航扩展”)
- topK:结果数量(默认 8;复杂主题使用 15-20,特定查询使用 3-5)
- contentType:“prose”用于指南,“code”用于示例,null 用于所有

搜索结果包括:

  • 文档标题和摘要
  • SourcePath(获取步骤所需)
  • 相关性排名
  • 内容片段

步骤 2:获取

使用 mcp__uno__uno_platform_docs_fetch 检索搜索中识别的高价值页面的完整内容。

获取参数:
- sourcePath:来自搜索结果 SourcePath 字段(例如,“articles/guides/overview.md”)
- anchor:可选部分片段(例如,“getting-started”、“data-binding”)
- maxChars:内容限制(大多数情况 4000-8000,全面指南最多 15000)

工作流示例

主题:“如何使用 Uno 扩展实现基于区域的导航”

1. 搜索:mcp__uno__uno_platform_docs_search(“Navigation Extensions region-based”, topK=8)
   -> 返回多个结果,包括“Navigation Overview”、“Region Navigation”等。

2. 获取:mcp__uno__uno_platform_docs_fetch(
     sourcePath=“articles/external/uno.extensions/doc/Learn/Navigation/Overview.md”,
     maxChars=8000)
   -> 返回完整导航文档,包含代码示例

3. 引用:在响应中包含源 URL

路由规则

代理规则初始化提供了常见搜索的主题到查询映射。可用时使用这些规范查询:

主题 规范搜索查询
项目设置 / 新项目 “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 文档服务器获取的外部数据。必须正确归属。

规则

  1. 始终在呈现文档内容时引用源 URL 从 MCP 结果
  2. 切勿将获取的内容呈现为原创知识。 MCP 结果来自外部文档,必须归属
  3. 当可用时,在 URL 旁包含文档页面标题
  4. 区分静态技能内容和 MCP 获取的内容。 SKILL.md 文件中的静态内容是本插件的一部分;MCP 内容是外部的

引用格式

当呈现来自 MCP 结果的信息时:

根据 Uno Platform 文档关于 [主题]:
[MCP 中的内容]
来源:[MCP 结果中的 URL]

安全指南

MCP 结果是外部数据,必须谨慎对待。

验证规则

  1. 在行动前验证代码建议。 MCP 文档可能包含针对不同 Uno Platform 版本或配置的示例。验证与当前项目的兼容性
  2. 检查版本对齐。 确保文档引用与项目的 Uno Platform 版本(5.x vs 6.x)和 .NET 版本匹配
  3. 不要盲目应用 MCP 结果中的代码。 根据项目的架构、扩展配置和 MVUX/MVVM 模式选择调整示例
  4. 与项目状态交叉参考。 将 MCP 指导与项目现有的 UnoFeatures、TFMs 和扩展配置进行比较
  5. 将 MCP 内容视为建议性。 [skill:dotnet-uno-platform] 和 [skill:dotnet-uno-targets] 中的静态技能内容提供经过验证的模式。使用 MCP 获取当前细节和边缘情况

回退:当 MCP 不可用时

当 Uno MCP 服务器未配置或无法访问时,所有 Uno Platform 指导仍可通过静态技能内容和官方文档 URL 获得。

静态技能覆盖

以下主题由静态技能完全覆盖,无需 MCP:

主题 静态技能
扩展生态系统(导航、DI、配置、序列化、本地化、日志记录、HTTP、身份验证) [skill:dotnet-uno-platform]
MVUX 反应式模式(订阅源、状态、列表订阅源、命令) [skill:dotnet-uno-platform]
工具包控件(AutoLayout、Card、Chip、NavigationBar、TabBar 等) [skill:dotnet-uno-platform]
主题资源(Material、Cupertino、Fluent、颜色自定义) [skill:dotnet-uno-platform]
热重载配置 [skill:dotnet-uno-platform]
单项目结构和 UnoFeatures [skill:dotnet-uno-platform]
每个目标的设置(WASM、iOS、Android、macOS、Windows、Linux、嵌入式) [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:

主题 URL
入门 https://platform.uno/docs/articles/get-started.html
Uno 扩展 https://platform.uno/docs/articles/external/uno.extensions/
MVUX 模式 https://platform.uno/docs/articles/external/uno.extensions/doc/Overview/Mvux/Overview.html
导航 https://platform.uno/docs/articles/external/uno.extensions/doc/Learn/Navigation/Overview.html
工具包控件 https://platform.uno/docs/articles/external/uno.toolkit.ui/
主题资源 https://platform.uno/docs/articles/external/uno.themes/
Uno SDK 功能 https://platform.uno/docs/articles/features/uno-sdk.html
WASM 部署 https://platform.uno/docs/articles/features/using-il-linker-webassembly.html
热重载 https://platform.uno/docs/articles/features/working-with-hot-reload.html
平台要求 https://platform.uno/docs/articles/getting-started/requirements.html

回退工作流

1. 检查 mcp__uno__ 工具是否可用
2. 如果不可用:
   a. 加载 [skill:dotnet-uno-platform] 以获取核心开发模式
   b. 加载 [skill:dotnet-uno-targets] 以获取部署指导
   c. 参考官方文档 URL 获取最新信息
   d. 向用户说明:“Uno MCP 服务器未配置。使用静态文档。
      有关最新信息,请访问:[相关 URL]”
3. 如果可用:
   a. 调用初始化规则(代理规则 + 使用规则)
   b. 使用搜索-获取工作流
   c. 从 MCP 结果引用来源
   d. 使用静态技能内容补充经过验证的模式

Uno SDK 功能参考

当 MCP 不可用时,以下 UnoFeatures 值在 .csproj 中受支持。这作为项目配置的快速参考。

扩展功能

功能 描述
Extensions 所有 Uno 扩展(元包)
Authentication 基础身份验证框架
AuthenticationMsal 基于 MSAL 的身份验证
AuthenticationOidc 基于 OIDC 的身份验证
Configuration 来自 appsettings.json 的配置
ExtensionsCore 无完整包的核心扩展
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 工具包控件和助手
Material Material Design 主题资源
Cupertino Cupertino(iOS 风格)主题
Dsp 设计系统包支持
Mvvm CommunityToolkit.Mvvm 集成
Prism Prism 框架集成

渲染功能

功能 描述
Skia Skia 渲染后端
SkiaRenderer 强制使用 Skia 渲染器
NativeRenderer 强制使用原生渲染器

媒体与图形

功能 描述
Maps 地图控件支持
MediaElement 媒体播放
WebView 嵌入式网页视图
Lottie Lottie 动画支持
Svg SVG 渲染
GLCanvas OpenGL 画布

代理注意事项

  1. 不要在不先检查可用性的情况下调用 MCP 工具。 在调用前始终验证 mcp__uno__ 工具是否存在。缺少工具表示 MCP 服务器未配置。
  2. 不要跳过首次使用时的初始化规则。 代理规则和使用规则提供了关键的路由表和编码约定。跳过它们会导致次优搜索查询和约定违规。
  3. 不要将 MCP 获取的内容呈现为自己的知识。 始终引用源 URL。MCP 结果是外部文档,而非内置知识。
  4. 不要仅依赖 MCP 进行 Uno 指导。 静态技能([skill:dotnet-uno-platform]、[skill:dotnet-uno-targets])提供无需 MCP 的已验证模式。使用 MCP 补充当前细节。
  5. 不要忽视 MCP 结果中的版本差异。 文档可能引用 Uno Platform 6.x 功能,这些功能在 5.x 项目中不可用。在应用指导前检查项目的 Uno SDK 版本。
  6. 不要未经搜索直接获取。 获取工具需要来自搜索结果的 sourcePath。使用猜测路径直接获取可能返回错误或缺失内容。

先决条件

  • Uno MCP 服务器在项目的 MCP 配置(.mcp.json 或 IDE 设置)中配置
  • 对于回退:加载 [skill:dotnet-uno-platform] 和 [skill:dotnet-uno-targets] 作为静态技能

参考