The office wants to be able to ask in Copilot: "Which tenders are still open?" Nobody has to host an agent for that. A declarative agent uses Copilot's orchestrator and models and gets
instructions and actions from you. Here the actions are the reading tools of Kladde.Mcp (lessons T8.1 "An MCP server in .NET" and T8.3 "Rights for tools"):
find_contacts, list_appointments, list_open_tenders, get_day_rates. The tool book_appointment stays out.
State of the checks
Nothing in this lesson ran against a Microsoft 365 tenant or Copilot. Paths, fields and menus come from the Microsoft Learn pages under "Further reading", read while the lesson was written. Only PluginCheck with its tests (including those of Exercise 1) was built and
run, in a trial project outside this repository with .NET 10, xunit and Shouldly; dotnet test ended with exit code 0. The manifests below are
not checked against Microsoft's schema. Exercise 2 needs a test tenant, never a production tenant.