Download Reportworq
⬇ Guide PDF

Copilot, MCP, and trust paths#

This section is written for two audiences: administrators who expose Reportworq to AI clients and external systems and set the posture that governs them, and integration users who connect a client and consume the result. Read this overview first to place the pieces, then follow the task pages for the surface you are setting up.

The three integration surfaces#

Reportworq presents its report catalog and outputs to AI and automation in three ways. They are separate front doors onto the same governed content, and which one you choose depends on the client.

Surface What connects through it Best for
Microsoft 365 Copilot agent Microsoft 365 Copilot, in chat, Teams, and the Microsoft 365 app Enterprises standardized on Copilot that want governed, natural-language access to distributed reports. See Microsoft 365 Copilot agent.
MCP for desktop AI clients Desktop and IDE AI clients (Claude Desktop, Cursor, Cline) and native-HTTP clients (ChatGPT, Copilot Studio) Power users and developers who want to query reports from the AI tool they already work in. See The MCP shim for desktop AI clients.
The automation and REST API Any external process: an iPaaS, an ETL job, a planning-system script, an OS scheduler Programmatic, non-conversational job execution driven by another system's event. See The automation API.

The first two, Copilot and MCP, share the same underlying MCP server and its tool surface, so an AI client sees the same catalog and the same permission trimming whichever it uses. The third is a distinct HTTP command surface for running and monitoring jobs, covered in the Automation API section.

MCP and Copilot are the same tools, different clients#

Reportworq serves the Model Context Protocol (MCP) from a single in-process server. Every AI client, whether Microsoft 365 Copilot or a desktop client behind the shim, calls the same read-and-act tools: list the report catalog, list a report's runs, fetch an output or its markdown, take a governed preview, and email an output. Access is trimmed by the same content-service ACLs and secured lists that govern the web UI, so an AI client is a new way to ask, not a new way to see. A user never reaches a report or output variation their Reportworq permissions do not allow.

Copilot reaches those tools with no client-side connector, over the CloudHub relay. Desktop clients that speak MCP over a launched process use the stdio shim. Native-HTTP clients (ChatGPT, Copilot Studio) connect directly over HTTPS with no connector at all.

The two trust paths#

Whichever surface a client uses, its request reaches the on-prem Reportworq instance by one of two trust paths. This is the central decision for an administrator, because it determines what the customer owns and what has to be opened.

Direct on-prem#

The customer exposes the MCP or API endpoint to callers through a customer-managed reverse proxy (for example NGINX, Caddy, or IIS ARR) at a public DNS name with a public-CA TLS certificate. Nothing about Reportworq brokers the traffic; the customer owns the DNS name, the certificate, the reverse-proxy configuration, and, for the identity path, outbound reachability to their identity provider.

Choose direct on-prem when a security posture forbids cloud relays, for example an air-gapped or strictly outbound-only deployment. Note that a self-signed certificate does not work for cloud-hosted callers such as Copilot Studio; the certificate must be public-CA (Let's Encrypt is fine). Reportworq does not generate the reverse-proxy configuration, so this path hands the DNS, TLS, and proxy plumbing to customer IT.

The on-prem instance registers with Reportworq CloudHub and holds an outbound connection to it. CloudHub forwards each request down that existing connection. There is no inbound firewall change and no public endpoint on the customer's server, the instance only ever dials out. This is the default, and it is what the Microsoft 365 Copilot agent uses.

Choose CloudHub-relayed for a fast rollout with no firewall change, and for any cloud-hosted caller.

Dimension Direct on-prem CloudHub-relayed
Network ingress Customer reverse proxy at a public DNS name Outbound connection from on-prem to CloudHub
Inbound firewall change Required None (outbound only)
TLS certificate Customer-owned, public-CA Terminated at CloudHub
Customer-owned plumbing DNS, TLS, reverse proxy, identity-provider outbound CloudHub registration only
Recommended for Air-gapped, strictly outbound-only, regulatory bar on relays Default, and any cloud-hosted caller

Who reaches what: identity is the boundary#

The two trust paths are about how traffic arrives; a separate mechanism decides what a caller may see.

Posture: turning surfaces on and off independently#

An administrator gates each ingress with an MCP-scoped channel switch, so the two paths can be enabled or disabled independently:

An instance-wide access mode (Disabled, Key, or OAuth) sits above both. Because the channels are MCP-scoped, turning off the direct channel stops AI agents on that ingress without disabling the shared Local API or Cloud Connector features behind it. This is what lets an administrator, for example, lock down the direct API surface while a relayed Copilot agent keeps working.

Every request that reaches a tool, and every request rejected at the gate, is recorded. See MCP audit.

Going deeper. For the full trust-path model, the download-delivery rules for large outputs, and the per-ingress gating detail, this overview's companion pages carry the depth: start with Microsoft 365 Copilot agent and The MCP shim for desktop AI clients. For programmatic job execution, see The automation API.

Feedback on this page

Comments, questions, requests, or something missing or unclear? Email us - the page you are on is filled in for you.

Email feedback on this page

Or write to support@reportworq.com directly.