.NET Hero API with Model Context Protocol

.NET Hero API with Model Context Protocol

site icon
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 - 完成团队的任务
  • EchoReverseEcho - 用于测试 MCP 连接的简单工具

常见问题解答

无明确常见问题解答部分。

使用教程

使用依赖

安装教程

运行 Hero API

  1. 导航到 AppHost 目录:
cd Api/tools/AppHost
  1. 使用 .NET CLI 运行应用:
dotnet run

这将: - 启动 SQL Server 容器用于数据库 - 运行迁移设置数据库架构 - 在 https://localhost:7255 启动 HeroApi

  1. 在浏览器中打开 https://localhost:7255/scalar/v1 查看 API 文档

运行 MCP 服务器

  1. 导航到 Mcp 目录:
cd Mcp
  1. 运行 MCP 服务器:
dotnet run

运行 MCP 检查器

  1. 导航到 Mcp 目录:
cd Mcp
  1. 运行 MCP 检查器:
npx @modelcontextprotocol/inspector dotnet run

生成 API 客户端

  1. 确保 HeroApi 正在运行
  2. 导航到 Mcp 目录:
cd Mcp
  1. 运行 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 进行可观察性监控

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。