Skip to main content

Horizon Advisor

A Microsoft 365 Copilot declarative agent backed by a protected, remote MCP server, with an Advisor Workspace MCP Apps widget rendered inside Copilot. It gives insurance professionals cited, decision-grade advisory for Swiss private and SME insurance — and refuses, with an explicit handoff, when it cannot ground an answer.

Advisory facts come from a single curated corpus (data/advisor-corpus/ in the repo) — there is no hidden knowledge tier. Run locally, the backend grounds on that manifest-backed corpus directly, with no external services (the open-source default). When hosted, the curated docs are published to a SharePoint corpus library, which Foundry IQ indexes into Azure AI Search and cites from, with the in-repo corpus as a fallback.

How Horizon Advisor fits together — Microsoft 365 Copilot calls a protected MCP server on Azure App Service, which grounds answers via Foundry IQ + Azure AI Search (indexing the SharePoint corpus library) and performs delegated Microsoft Graph writes. Shown for the hosted deployment; run locally, grounding is the in-repo corpus.

The main ideas

  • Protected MCP backend + Advisor Workspace widget. The backend is an OAuth-protected remote MCP server (FastMCP) that exposes seven tools; the Advisor Workspace is an MCP Apps widget bound to ask_horizon_advisor and rendered inside Copilot. The text answer still works if the widget cannot render.
  • Self-contained corpus. Every fact comes from one curated, manifest-backed corpus (data/advisor-corpus/) — no hidden knowledge tier. Run locally it grounds on that corpus directly (no external services); hosted, its docs are published to a SharePoint corpus library that Foundry IQ indexes into Azure AI Search, with the in-repo corpus as a fallback.
  • Cited-or-refuse (fail-closed). No answer is presented as grounded without a citation; unsupported or out-of-scope questions get an explicit refusal or escalation (enforced in code).
  • Clean data boundary. The backend never reads your personal Microsoft 365 (mailbox, files, chats) — Copilot's Work IQ surfaces it as a plain-text case_context that can never become a citation.
  • Delegated, not impersonated. Every Microsoft 365 action — querying the curated corpus for grounding (ACL-trimmed) and writing back (notes, email, Teams) — runs through delegated Microsoft Graph On-Behalf-Of, as the signed-in advisor.

Not in scope

No real customer data or pricing, no binding legal/tax/financial advice, and no Swiss mandatory/basic health insurance recommendations.

Next

See Process flow for how a request works and the seven MCP tools, or Getting Started to run it.