mcpField
D
dotnet-uno-mcp

dotnet-uno-mcp

github.com/wshaddixAgent 工作流8666 次安装35 周前更新
代码仓库

关于 dotnet-uno-mcp

为 Uno Platform 开发提供 MCP 文档查询集成指导,面向使用 Agent 的开发者。内容包括工具发现、初始化、搜索后获取文档及引用要求,并说明 MCP 不可用时的静态内容回退。

主要功能

  1. 01检测 Uno MCP 工具
  2. 02初始化 Agent 与使用规则
  3. 03按搜索后获取流程查询文档
  4. 04引用 MCP 文档来源
  5. 05MCP 不可用时回退至静态指南
  6. 06校验外部内容与版本

适用场景

  1. 01查询 Uno Platform 的最新文档
  2. 02获取导航或 MVUX 主题的完整文档
  3. 03在使用文档内容时标注来源
  4. 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 文档服务获取的外部数据。必须正确注明出处。

规则
  1. 呈现文档内容时,始终引用 MCP 结果中的源 URL
  2. 切勿将获取的内容作为原创知识呈现。 MCP 结果来自外部文档,必须注明出处
  3. 若有文档页面标题,请同时提供标题和 URL
引用格式

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

According to the Uno Platform documentation on [topic]:
[content from MCP]
Source: [URL from MCP result]

安全指南

MCP 结果是外部数据,应谨慎处理。

验证规则
  1. 执行前验证代码建议。 MCP 文档中的示例可能针对不同的 Uno Platform 版本或配置。请验证其与当前项目的兼容性
  2. 检查版本是否一致。 确保文档引用的版本与项目的 Uno Platform 版本(5.x 或 6.x)及 .NET 版本相符
  3. 不要盲目应用 MCP 结果中的代码。 根据项目架构、Extensions 配置以及 MVUX/MVVM 模式选择调整示例
  4. 与项目状态交叉核对。 将 MCP 指南与项目现有的 UnoFeatures、TFM 和 Extensions 配置进行比较
  5. 将 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:

主题URL
入门https://platform.uno/docs/articles/get-started.html
Uno Extensionshttps://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
Toolkit 控件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
Hot Reloadhttps://platform.uno/docs/articles/features/working-with-hot-reload.html
平台要求https://platform.uno/docs/articles/getting-started/requirements.html
回退工作流
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
HttpHTTP 客户端扩展
HttpKiota基于 Kiota 的 HTTP 客户端(首选)
HttpRefit基于 Refit 的 HTTP 客户端
Localization基于资源的本地化
LoggingMicrosoft.Extensions.Logging
LoggingSerilogSerilog 集成
MVUXMVUX 响应式模式
Navigation基于区域的导航
SerializationSystem.Text.Json 集成
Storage跨平台存储
ThemeService以编程方式切换主题
UI 功能
功能描述
ToolkitUno Toolkit 控件和辅助工具
MaterialMaterial Design 主题资源
CupertinoCupertino(iOS 风格)主题
DspDesign System Package 支持
MvvmCommunityToolkit.Mvvm 集成
PrismPrism 框架集成
渲染功能
功能描述
SkiaSkia 渲染后端
SkiaRenderer强制使用 Skia 渲染器
NativeRenderer强制使用原生渲染器
媒体与图形
功能描述
Maps地图控件支持
MediaElement媒体播放
WebView嵌入式 Web 视图
LottieLottie 动画支持
SvgSVG 渲染
GLCanvasOpenGL 画布

Agent 注意事项

  1. 调用 MCP 工具前,请先检查其是否可用。 调用前务必确认 mcp__uno__ 工具存在。缺少这些工具表示尚未配置 MCP 服务。
  2. 首次使用时,请勿跳过初始化规则。 Agent 规则和使用规则提供了关键的路由表和编码约定。跳过它们会导致搜索查询效果不佳,并违反约定。
  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。猜测路径直接获取可能会返回错误或缺失的内容。

先决条件

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

参考资料

评论

支持 Markdown