Project: ManagedCode.MCPGateway Owned by: ManagedCode.MCPGateway package maintainers
Parent: ../../AGENTS.md
- This project ships the reusable
ManagedCode.MCPGatewayNuGet library. - It owns the public gateway facade, DI registration, tool catalog/runtime orchestration, and optional embedding and warmup integrations.
McpGateway.csMcpGatewayToolSet.csMcpGatewayAutoDiscoveryChatClient.csRegistration/Internal/Runtime/Internal/Catalog/
- In scope: public package APIs, internal runtime orchestration, catalog mutation infrastructure, transport registration, serialization, and embedding-store integration.
- Out of scope: app-specific hosts, sample-only glue, test-only helpers, and CI workflow authoring.
- Protected or high-risk areas: public API shape, search ranking behavior, MCP transport integration, runtime concurrency, and tool invocation contracts.
build:dotnet build src/ManagedCode.MCPGateway/ManagedCode.MCPGateway.csproj -c Release --no-restoretest:dotnet test --solution ManagedCode.MCPGateway.slnx -c Release --no-buildformat:dotnet format ManagedCode.MCPGateway.slnxanalyze:dotnet build src/ManagedCode.MCPGateway/ManagedCode.MCPGateway.csproj -c Release --no-restore -p:RunAnalyzers=true
For this .NET project:
- test framework:
TUnitin the solution test project - runner model:
Microsoft.Testing.Platform - analyzer severity lives in the repo-root
.editorconfig
mcaf-dotnetmcaf-dotnet-analyzer-configmcaf-dotnet-code-analysismcaf-dotnet-codeqlmcaf-dotnet-coverletmcaf-dotnet-formatmcaf-dotnet-featuresmcaf-dotnet-reportgeneratormcaf-dotnet-roslynatormcaf-testingmcaf-dotnet-tunitmcaf-dotnet-quality-cimcaf-dotnet-complexitymcaf-solid-maintainabilitymcaf-architecture-overviewmcaf-adr-writingmcaf-feature-spec
- Stricter maintainability limits: none beyond root defaults unless a subfolder documents them explicitly.
- Required local docs: keep
README.md,docs/Architecture/Overview.md, and matching ADRs in sync when public behavior or architecture changes. - Local exception policy: document any temporary size or complexity breach in the nearest ADR, feature doc, or follow-up note before leaving the task.
- Keep the project package-first and reusable; do not add app-specific hosting assumptions.
- Keep
McpGatewayfocused on search and invoke orchestration; registry mutation belongs in catalog and registration collaborators. - Keep transport-specific logic inside registration and source abstractions, not scattered through runtime code.
- When production behavior changes here, update the integration-style tests under
tests/ManagedCode.MCPGateway.Tests/in the same task.