-
-
Notifications
You must be signed in to change notification settings - Fork 2
Project Structure
github-actions[bot] edited this page Mar 4, 2026
·
2 revisions
Layout of the mcpAPI repository and how to build and test.
mcpAPI/
├── ZeroMCP/ ← Library (NuGet package ZeroMCP)
│ ├── README.md ← Package README (NuGet)
│ ├── Attributes/ ← [Mcp] (McpAttribute)
│ ├── Discovery/ ← Controller + minimal API tool discovery
│ ├── Schema/ ← JSON Schema for tool inputs (NJsonSchema)
│ ├── Dispatch/ ← Synthetic HttpContext, controller/minimal invoke
│ ├── Metadata/ ← McpToolEndpointMetadata for minimal APIs
│ ├── Extensions/ ← AddZeroMCP, MapZeroMCP, AsMcp
│ ├── Options/ ← ZeroMCPOptions
│ └── ZeroMCP.csproj
├── ZeroMCP.Sample/ ← Sample app (Orders, Customer, Product APIs; nested route Customer/{id}/orders; health minimal endpoint; optional auth)
├── ZeroMCP.Tests/ ← Integration + schema tests
├── wiki/ ← Wiki documentation (this folder)
├── nupkgs/ ← dotnet pack -o nupkgs
├── progress.md
├── VERSIONING.md
└── README.md
- Targets — Library targets .NET 9.0 and .NET 10.0; sample and tests may target a single framework.
-
Library:
dotnet build ZeroMCP\ZeroMCP.csproj -
Sample:
dotnet build ZeroMCP.Sample\ZeroMCP.Sample.csproj -
Tests:
dotnet build ZeroMCP.Tests\ZeroMCP.Tests.csprojthendotnet test ZeroMCP.Tests\ZeroMCP.Tests.csproj
From repo root you can run dotnet build to build the solution (if using a .sln or solution-style build).
Integration and schema tests cover:
- JSON-RPC validation and errors
- Model binding failures, wrong/empty arguments
- Unauthorized [Authorize] tool calls
- tools/list schema shape
- Schema edge cases (nested objects, arrays, enums, route+body merging)
- Customer/Product/Orders sample tools (e.g. get_customer_orders)
- Limitations — What is not supported
- Contributing — How to contribute