返回市场
启动引导Blazor.AI助手.MCPServer

启动引导Blazor.AI助手.MCPServer

作者:BootstrapBlazor8 星标更新:2025-08-20

项目介绍

BootstrapBlazor.MCPServer

中文 README | English README

一个模型上下文协议(MCP)服务器,提供对BootstrapBlazor组件文档和源代码的访问,供AI助手(如GitHub Copilot、Claude)使用。

项目概述

BootstrapBlazor.MCPServer 是专门为BootstrapBlazor框架设计的MCP服务器,可以:

  • 📚 提供完整的BootstrapBlazor组件文档
  • 🔍 允许AI助手搜索和浏览组件源代码
  • 📖 提供组件使用示例和最佳实践
  • 🔄 自动同步最新的BootstrapBlazor源代码
  • 🛠️ 支持通过HTTP传输与AI助手集成

架构

该项目基于.NET 9.0和ASP.NET Core构建,包括以下主要组件:

项目结构

BootstrapBlazor.MCPServer/
├── BootstrapBlazor.MCPServer/           # 主服务项目
│   ├── Services/                                # 核心服务
│   │   ├── GitRepositoryManager.cs             # Git仓库管理
│   │   └── ComponentDocumentationService.cs    # 组件文档服务
│   ├── Tools/                                   # MCP工具定义
│   │   └── ComponentsTool.cs                   # 组件查询工具
│   ├── Models/                                  # 数据模型
│   │   └── Component.cs                        # 组件相关模型
│   └── Program.cs                              # 应用程序入口点
├── BootstrapBlazor.MCPServer.AppHost/  # Aspire应用主机
└── BootstrapBlazor.MCPServer.ServiceDefaults/  # 共享服务配置

核心特性

  1. Git仓库管理 (GitRepositoryManager)

    • 自动克隆并更新BootstrapBlazor官方仓库
    • 检查本地仓库是否是最新的
    • 定期代码同步的后台服务
  2. 组件文档服务 (ComponentDocumentationService)

    • 扫描并索引所有BootstrapBlazor组件
    • 提供访问组件源代码和示例文件
    • 支持多种文件组织结构的智能路径解析
  3. MCP工具 (ComponentsTool)

    • ListComponents: 列出所有可用组件
    • GetComponentFiles: 获取组件文件列表
    • GetFileContent: 获取特定文件内容
    • Echo: 测试工具

技术栈

  • .NET 9.0: 最新的.NET框架
  • ASP.NET Core: Web应用程序框架
  • 模型上下文协议: AI助手集成协议
  • LibGit2Sharp: Git操作库
  • .NET Aspire: 云原生应用程序开发平台
  • OpenTelemetry: 可观察性和监控

安装和配置

前提条件

  • .NET 9.0 SDK
  • Git
  • Visual Studio 2.2 或 VS Code

快速开始

  1. 克隆项目

    git clone https://github.com/your-repo/BootstrapBlazor.MCPServer.git
    cd BootstrapBlazor.MCPServer
    
  2. 恢复依赖项

    dotnet restore
    
  3. 运行服务

    # 使用Aspire(推荐)
    dotnet run --project BootstrapBlazor.MCPServer.AppHost
    
    # 或直接运行主项目
    dotnet run --project BootstrapBlazor.MCPServer
    
  4. 验证服务 服务默认运行在http://localhost:3001,支持以下端点:

    • /health - 健康检查
    • /alive - 存活性检查
    • MCP协议端点

配置选项

appsettings.json中配置以下选项:

{
  "McpToolConfig": {
    "ServerUrl": "http://localhost:3001"
  },
  "GitRepository": {
    "LocalPath": "C:\\temp\\BootstrapBlazorRepo"  // 可选:自定义本地仓库路径
  }
}

MCP工具使用

1. 列出所有组件

# MCP调用示例
ListComponents()

返回所有BootstrapBlazor组件的名称和描述。

2. 获取组件文件列表

GetComponentFiles("Button")

返回指定组件的源代码文件和示例文件列表。

3. 获取文件内容

GetFileContent({
  "ComponentName": "Button",
  "FileName": "Button.razor.cs",
  "Category": "Source"  // 源代码或示例
})

返回指定文件的完整内容。

AI助手集成

此服务旨在与支持MCP协议的AI助手集成:

GitHub Copilot集成

  1. 在GitHub Copilot设置中添加MCP服务器
  2. 配置服务器地址:https://localhost:3001
  3. 重启GitHub Copilot以应用配置

Claude Desktop集成

添加到Claude Desktop配置文件:

{
  "mcpServers": {
    "bootstrapblazor": {
      "command": "dotnet",
      "args": ["run", "--project", "path/to/BootstrapBlazor.MCPServer"],
      "env": {
        "ASPNETCORE_ENVIRONMENT": "Production"
      }
    }
  }
}

开发指南

添加新的MCP工具

  1. Tools目录下创建一个新的工具类
  2. 使用[McpServerToolType]标记该类
  3. 使用[McpServerTool]标记工具方法
  4. Program.cs中注册服务

示例:

[McpServerToolType]
public class NewTool
{
    [McpServerTool, Description("新工具描述")]
    public string NewMethod(string parameter)
    {
        return "结果";
    }
}

扩展组件分析

可以在ComponentDocumentationService中添加新的组件分析逻辑:

  • 解析组件属性
  • 提取使用示例
  • 生成组件关系图

监控和运维

健康检查

  • /health - 完整健康检查
  • /alive - 基本存活性检查

日志记录

项目使用.NET标准日志框架,支持:

  • 控制台输出
  • 文件日志(需要配置)
  • 结构化日志
  • OpenTelemetry集成

性能监控

通过.NET Aspire和OpenTelemetry提供:

  • 请求追踪
  • 性能指标
  • 分布式追踪
  • 错误监控

故障排除

常见问题

  1. Git仓库克隆失败

    • 检查网络连接
    • 验证Git是否正确安装
    • 检查防火墙设置
  2. MCP连接失败

    • 验证服务器地址配置
    • 检查端口是否被占用
    • 确认MCP客户端配置正确
  3. 组件文件未找到

    • 确认BootstrapBlazor仓库已正确克隆
    • 检查本地仓库路径配置
    • 验证组件名称拼写

调试模式

在开发环境中启用详细日志:

{
  "Logging": {
    "LogLevel": {
      "Default": "Debug",
      "BootstrapBlazor.MCPServer": "Trace"
    }
  }
}

贡献

  1. 分叉此项目
  2. 创建一个功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m '添加一些AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建Pull Request

许可证

此项目根据Apache许可证2.0发布。详情参见LICENSE文件。

相关链接

版本历史

v1.1.0

  • 更新组件模型,添加示例文件和文档文件属性
  • 修改文件搜索逻辑,仅在Samples目录中查找示例代码
  • 更新MCP服务器版本号及配置项访问方式
  • 调整开发环境中的ServerUrl配置,使用HTTP协议

v1.0.0

  • 初始发布
  • 基本MCP工具实现
  • Git仓库自动同步
  • 组件文档服务

注意:此项目目前处于开发阶段,API可能会发生变化。建议在生产环境中使用前进行彻底测试。