中文 README | English README
一个模型上下文协议(MCP)服务器,提供对BootstrapBlazor组件文档和源代码的访问,供AI助手(如GitHub Copilot、Claude)使用。
BootstrapBlazor.MCPServer 是专门为BootstrapBlazor框架设计的MCP服务器,可以:
该项目基于.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/ # 共享服务配置
Git仓库管理 (GitRepositoryManager)
组件文档服务 (ComponentDocumentationService)
MCP工具 (ComponentsTool)
ListComponents: 列出所有可用组件GetComponentFiles: 获取组件文件列表GetFileContent: 获取特定文件内容Echo: 测试工具克隆项目
git clone https://github.com/your-repo/BootstrapBlazor.MCPServer.git
cd BootstrapBlazor.MCPServer
恢复依赖项
dotnet restore
运行服务
# 使用Aspire(推荐)
dotnet run --project BootstrapBlazor.MCPServer.AppHost
# 或直接运行主项目
dotnet run --project BootstrapBlazor.MCPServer
验证服务
服务默认运行在http://localhost:3001,支持以下端点:
/health - 健康检查/alive - 存活性检查在appsettings.json中配置以下选项:
{
"McpToolConfig": {
"ServerUrl": "http://localhost:3001"
},
"GitRepository": {
"LocalPath": "C:\\temp\\BootstrapBlazorRepo" // 可选:自定义本地仓库路径
}
}
# MCP调用示例
ListComponents()
返回所有BootstrapBlazor组件的名称和描述。
GetComponentFiles("Button")
返回指定组件的源代码文件和示例文件列表。
GetFileContent({
"ComponentName": "Button",
"FileName": "Button.razor.cs",
"Category": "Source" // 源代码或示例
})
返回指定文件的完整内容。
此服务旨在与支持MCP协议的AI助手集成:
https://localhost:3001添加到Claude Desktop配置文件:
{
"mcpServers": {
"bootstrapblazor": {
"command": "dotnet",
"args": ["run", "--project", "path/to/BootstrapBlazor.MCPServer"],
"env": {
"ASPNETCORE_ENVIRONMENT": "Production"
}
}
}
}
Tools目录下创建一个新的工具类[McpServerToolType]标记该类[McpServerTool]标记工具方法Program.cs中注册服务示例:
[McpServerToolType]
public class NewTool
{
[McpServerTool, Description("新工具描述")]
public string NewMethod(string parameter)
{
return "结果";
}
}
可以在ComponentDocumentationService中添加新的组件分析逻辑:
/health - 完整健康检查/alive - 基本存活性检查项目使用.NET标准日志框架,支持:
通过.NET Aspire和OpenTelemetry提供:
Git仓库克隆失败
MCP连接失败
组件文件未找到
在开发环境中启用详细日志:
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"BootstrapBlazor.MCPServer": "Trace"
}
}
}
git checkout -b feature/AmazingFeature)git commit -m '添加一些AmazingFeature')git push origin feature/AmazingFeature)此项目根据Apache许可证2.0发布。详情参见LICENSE文件。
注意:此项目目前处于开发阶段,API可能会发生变化。建议在生产环境中使用前进行彻底测试。