
.NET Hero API with Model Context Protocol

2025.04.15
1
C#超级英雄管理系统AI 助手集成清洁架构开发效率
dotnet-mcp-hero 是一个基于 .NET 的超级英雄管理系统,包含一个遵循清洁架构原则的 API 后端和一个用于 AI 助手集成的模型上下文协议(MCP)服务器。该项目展示了如何构建一个现代的 .NET 应用程序,并通过 MCP 集成 AI 助手功能。
View on GitHub
Overview
基本能力
产品定位
- 提供一个超级英雄管理系统的 API 后端
- 通过 MCP 服务器集成 AI 助手功能
核心功能
HeroApi
- 清洁架构:分离关注点,包含域、应用、基础设施和 WebApi 层
- 域驱动设计:丰富的域模型,包含聚合、实体和值对象
- CQRS 模式:使用 MediatR 分离命令和查询
- 最小化 API:快速轻量级的 API 端点
- OpenAPI/Scalar:现代交互式 API 文档
- EF Core:使用 Entity Framework Core 进行数据访问
- Aspire Dashboard:用于可观察性和资源编排
- 强类型 ID:使用 Vogen 防止原始类型滥用
- 健康检查:监控应用健康状态
- 全面测试:架构测试、域单元测试和 API 集成测试
HeroMcp
- 模型上下文协议:使用 MCP 标准集成 AI 助手
- AI 工具:用于管理英雄、团队和任务的自定义工具
- 生成 API 客户端:使用 Microsoft Kiota 访问 HeroApi
适用场景
- 开发需要 AI 助手集成的 .NET 应用程序
- 学习清洁架构和域驱动设计
- 构建具有复杂业务逻辑的后端系统
工具列表
- GetHeroes - 从 API 获取所有英雄
- CreateHero - 创建新英雄
- GetTeams - 从 API 获取所有团队
- GetTeam - 通过 ID 获取特定团队
- CreateTeam - 创建新团队
- AddHeroToTeam - 将英雄添加到团队
- ExecuteMission - 用团队执行任务
- CompleteMission - 完成团队的任务
- Echo 和 ReverseEcho - 用于测试 MCP 连接的简单工具
常见问题解答
无明确常见问题解答部分。
使用教程
使用依赖
- .NET 9 SDK
- Docker (用于数据库)
- VS Code 或其他 .NET IDE
安装教程
运行 Hero API
- 导航到 AppHost 目录:
cd Api/tools/AppHost
- 使用 .NET CLI 运行应用:
dotnet run
这将: - 启动 SQL Server 容器用于数据库 - 运行迁移设置数据库架构 - 在 https://localhost:7255 启动 HeroApi
- 在浏览器中打开 https://localhost:7255/scalar/v1 查看 API 文档
运行 MCP 服务器
- 导航到 Mcp 目录:
cd Mcp
- 运行 MCP 服务器:
dotnet run
运行 MCP 检查器
- 导航到 Mcp 目录:
cd Mcp
- 运行 MCP 检查器:
npx @modelcontextprotocol/inspector dotnet run
生成 API 客户端
- 确保 HeroApi 正在运行
- 导航到 Mcp 目录:
cd Mcp
- 运行 Kiota 生成器:
dotnet kiota generate --openapi https://localhost:7255/openapi/v1.json --language csharp --class-name HeroClient --clean-output --additional-data false
调试方式
- 使用 MCP 检查器测试工具
- 查看 API 文档 https://localhost:7255/scalar/v1
- 使用 Aspire Dashboard 进行可观察性监控