A modern .NET server for Model Context Protocol (MCP) and NuGet package management π¦. Built with Clean Architecture ποΈ and Domain-Driven Design (DDD) π§ , supporting AOT compilation β‘ and comprehensive automated testing π§ͺ.
- π Discover and search NuGet packages via the Model Context Protocol (MCP)
- π Retrieve rich package metadata for any NuGet feed
- π§© Designed for extensibility and integration in modern .NET ecosystems
- ποΈ Clean Architecture: strict separation of Domain, Application, Infrastructure, and API layers
- β‘ AOT (Ahead-Of-Time) compilation: fast startup, low memory usage
- π§ͺ Comprehensive automated tests: unit, integration, and architecture validation
- π Modern .NET 9: minimal APIs, dependency injection, async/await everywhere
McpPack.sln
src/
McpPack.Domain/ # Domain logic, aggregates, value objects, repositories
McpPack.Application/ # Use cases, service interfaces
McpPack.Infrastructure/ # Implementations for repositories, external services
McpPack.Api/ # API endpoints, orchestration
tests/
McpPack.UnitTests/ # Unit tests for Domain & Application
McpPack.IntegrationTests/ # Integration & architecture tests
- π£ .NET 9 SDK
- π (Optional) dotnet-reportgenerator-globaltool for coverage reports
dotnet build
dotnet run --project src/McpPack.Api
dotnet test
- π§ Domain: no dependencies, pure business logic
- π― Application: orchestrates use cases, depends only on Domain
- ποΈ Infrastructure: implements interfaces, depends on Application & Domain
- π API: exposes endpoints, depends only on Infrastructure
- π§ͺ Tests: separated by type (unit/integration/architecture)
- π Follow Conventional Commits
- π§ͺ Write tests for all new features and bugfixes
- π§Ή Keep code clean and robust
MIT
Because good enough is never enough. π