Superhero Team Management
FreeNot checkedProvides a .NET-based superhero team management API for creating and managing heroes with various superpowers, forming teams, and executing missions with tracki
About
Provides a .NET-based superhero team management API for creating and managing heroes with various superpowers, forming teams, and executing missions with tracking capabilities.
README
A .NET-based superhero management system comprised of a Clean Architecture API backend and a Model Context Protocol (MCP) server for AI assistant integration.
🎯 Project Overview
This project demonstrates how to build a modern .NET application with clean architecture principles and integrate it with the Model Context Protocol (MCP) for AI assistant capabilities. It consists of two main parts:
- HeroApi - A .NET 9 WebAPI built with Clean Architecture principles
- HeroMcp - A Model Context Protocol server that provides AI tool capabilities for interacting with the API
Domain
The application is built around a superhero domain model that includes:
- Heroes - Characters with powers, name, alias, and power level
- Teams - Groups of heroes that can undertake missions
- Missions - Tasks that teams can execute and complete
🚀 Getting Started
Prerequisites
- .NET 9 SDK
- Docker (for database)
- VS Code or other .NET IDE
Running the Hero API
- Navigate to the AppHost directory:
cd Api/tools/AppHost
- Run the application with the .NET CLI:
dotnet run
This will:
- Start a SQL Server container for the database
- Run migrations to set up the database schema
- Start the HeroApi on https://localhost:7255
- Open https://localhost:7255/scalar/v1 in your browser to view the API documentation
Running the MCP Server
- Navigate to the Mcp directory:
cd Mcp
- Run the MCP server:
dotnet run
This starts the MCP server which provides tools for interacting with the HeroApi.
Running the MCP Inspector
The MCP Inspector is a helpful tool for testing your MCP server directly. It allows you to inspect available tools and call them interactively.
- Navigate to the Mcp directory:
cd Mcp
- Run the MCP Inspector with the following command:
npx @modelcontextprotocol/inspector dotnet run
This will:
- Start the MCP server
- Launch the MCP Inspector in a terminal interface
- Display available tools and allow you to test them interactively
The inspector will show all available tools from your MCP server and provides a simple interface to call them and view their responses, which is useful for development and debugging.
Generating the API Client
The project uses Microsoft Kiota to generate a strongly-typed API client. To regenerate the client:
- Ensure the HeroApi is running
- Navigate to the Mcp directory:
cd Mcp
- Run the Kiota generator:
dotnet kiota generate --openapi https://localhost:7255/openapi/v1.json --language csharp --class-name HeroClient --clean-output --additional-data false
This will regenerate the API client in the output directory based on the latest OpenAPI specification.
✨ Features
HeroApi
- Clean Architecture: Separation of concerns with Domain, Application, Infrastructure, and WebApi layers
- Domain-Driven Design: Rich domain model with aggregates, entities, and value objects
- CQRS Pattern: Separation of commands and queries using MediatR
- Minimal APIs: Fast and lightweight API endpoints
- OpenAPI/Scalar: Modern, interactive API documentation
- EF Core: Data access with Entity Framework Core
- Aspire Dashboard: For observability and resource orchestration
- Strongly Typed IDs: Using Vogen to prevent primitive obsession
- Health Checks: Monitor application health
- Comprehensive Testing: Architecture tests, domain unit tests, and API integration tests
HeroMcp
- Model Context Protocol: Integration with AI assistants using the MCP standard
- AI Tools: Custom tools for managing heroes, teams, and missions
- Generated API Client: Uses Microsoft Kiota to access the HeroApi
📋 API Endpoints
The HeroApi provides the following endpoints:
- GET /api/heroes - Get all heroes
- POST /api/heroes - Create a new hero
- GET /api/teams - Get all teams
- GET /api/teams/{id} - Get a specific team
- POST /api/teams - Create a new team
- POST /api/teams/{id}/heroes/{heroId} - Add a hero to a team
- POST /api/teams/{id}/execute-mission - Execute a mission with a team
- POST /api/teams/{id}/complete-mission - Complete a team's current mission
🤖 MCP Tools
The MCP server provides the following tools to AI assistants:
- GetHeroes - Retrieve all heroes from the API
- CreateHero - Create a new hero
- GetTeams - Retrieve all teams from the API
- GetTeam - Get a specific team by ID
- CreateTeam - Create a new team
- AddHeroToTeam - Add a hero to a team
- ExecuteMission - Execute a mission with a team
- CompleteMission - Complete a team's mission
- Echo and ReverseEcho - Simple tools for testing the MCP connection
🏗️ Project Structure
dotnet-mcp-hero/
├── Api/ # Clean Architecture API
│ ├── src/ # Source code
│ │ ├── Application/ # Application layer (use cases)
│ │ ├── Domain/ # Domain layer (business entities)
│ │ ├── Infrastructure/ # Infrastructure layer
│ │ └── WebApi/ # WebApi layer (controllers)
│ ├── tests/ # Test projects
│ │ ├── Architecture.Tests/ # Architecture tests
│ │ ├── Domain.UnitTests/ # Domain unit tests
│ │ └── WebApi.IntegrationTests/ # API integration tests
│ └── tools/ # Developer tools
│ ├── AppHost/ # Aspire host
│ └── MigrationService/ # Database migrations
├── Mcp/ # Model Context Protocol server
│ ├── Program.cs # MCP server setup
│ ├── Tools/ # MCP tools
│ │ ├── Echo/ # Echo tools
│ │ ├── Heroes/ # Hero management tools
│ │ └── Teams/ # Team management tools
│ └── output/ # Generated API client
└── McpHero.sln # Solution file
📚 Architecture
This project follows Clean Architecture principles with the following layers:
- Domain Layer - Contains business entities, aggregates, value objects, and domain events
- Application Layer - Contains business logic, commands, queries, and interfaces
- Infrastructure Layer - Implements interfaces from the application layer
- WebApi Layer - Exposes the API endpoints
🧪 Testing
- Architecture Tests - Verifies that the codebase adheres to clean architecture principles
- Domain Unit Tests - Tests the business logic in isolation
- Integration Tests - Tests the API endpoints against a real database
📖 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgements
- Clean Architecture - Robert C. Martin
- Architectural Decision Records - For documenting architectural decisions
- Model Context Protocol - Microsoft's protocol for AI tool integration
Installing Superhero Team Management
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/danielmackay/dotnet-mcp-heroFAQ
Is Superhero Team Management MCP free?
Yes, Superhero Team Management MCP is free — one-click install via Unyly at no cost.
Does Superhero Team Management need an API key?
No, Superhero Team Management runs without API keys or environment variables.
Is Superhero Team Management hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Superhero Team Management in Claude Desktop, Claude Code or Cursor?
Open Superhero Team Management on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Gmail
Read, send and search emails from Claude
by GoogleSlack
Send, search and summarize Slack messages
by SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Superhero Team Management with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All communication MCPs
