2.2 KiB
2.2 KiB
AGENTS.md
Scope
LazyBearWorks.slnbuilds exactly one project:LazyBear.MCP/.Libraries/Confluence/is present in the repo but is not part of the solution and has no.csproj; ignore it unless the user explicitly asks for it.
Source Of Truth
- Trust
LazyBear.MCP/Program.csand project config overREADME.md. The README describes Razor Pages/UI and a broader tool surface, but the current app only configures MCP HTTP transport and auto-registers tool classes from the assembly.
Entry Points
- Main app entrypoint:
LazyBear.MCP/Program.cs. - Live MCP tools are discovered via
AddMcpServer().WithHttpTransport().WithToolsFromAssembly(). Current tool classes are underLazyBear.MCP/Services/Kubernetes/andLazyBear.MCP/Services/Jira/and use[McpServerToolType]. - Do not assume Razor Pages are active just because
Pages/exists:Program.csdoes not callAddRazorPages()orMapRazorPages().
Commands
- Build from repo root:
dotnet build - Build project directly:
dotnet build "LazyBear.MCP/LazyBear.MCP.csproj" - Run from repo root:
dotnet run --project "LazyBear.MCP" - MCP manual check:
npx @modelcontextprotocol/inspector dotnet run --project LazyBear.MCP - There are no test projects in the solution right now; default verification is
dotnet build, plus a focused run/inspector check for transport or tool-registration changes.
Runtime Quirks
LazyBear.MCP/Properties/launchSettings.jsonsayshttp://localhost:5079, but the app actually listens onhttp://localhost:5000becauseProgram.cshardcodesapp.Run("http://localhost:5000").- SDK pin is in
LazyBear.MCP/global.json(10.0.100), not at the repo root.
Config Gotchas
- App config lives in
LazyBear.MCP/appsettings.json. Kubernetes:KubeconfigPathdefaults empty.K8sClientFactorythen tries the default kubeconfig, then in-cluster config.- Jira tools require
Jira:Url; if it is empty,JiraClientFactorythrows during provider setup. The app still starts because providers capture init errors and tools return those errors as strings. - Treat
appsettings.jsonvalues as potentially sensitive; do not commit real Jira tokens or cluster-specific settings.