Copilot Studio
How this differs from Claude Desktop / Claude Code
Section titled “How this differs from Claude Desktop / Claude Code”Dataverse Ops MCP is a stdio server: it is spawned as a local child process by the MCP host. Copilot Studio is a cloud service and connects to MCP servers over HTTP (Streamable HTTP transport) through a connector. That means Copilot Studio cannot launch the npm package directly — you need to expose the server over HTTP yourself.
Prerequisites
Section titled “Prerequisites”- A Copilot Studio agent and permissions to add tools/connectors in your Power Platform environment.
- A host you control (VM, container, or internal service) that can run Node 20+ and is reachable from Power Platform over HTTPS.
- The same Dataverse credentials as any other setup (
DATAVERSE_URLplus client credentials or a managed identity).
Approach: bridge stdio to Streamable HTTP
Section titled “Approach: bridge stdio to Streamable HTTP”Run the server behind a stdio-to-HTTP MCP gateway on infrastructure you control. Generic example using a community proxy (pick whichever bridge your org prefers):
# On your host: expose the stdio server as a Streamable HTTP MCP endpointDATAVERSE_URL=https://yourorg.crm.dynamics.com \CLIENT_ID=... CLIENT_SECRET=... TENANT_ID=... \npx -y mcp-proxy --port 8808 -- npx -y @simplesmoothsafe/dataverse-ops-mcpThen in Copilot Studio:
- Open your agent, go to Tools (or Actions) and choose Add a tool.
- Select Model Context Protocol and provide your HTTPS endpoint URL
(e.g.
https://mcp.yourcompany.example/mcp). - Configure authentication on the connector according to your gateway’s setup (Copilot Studio connects through a custom connector under the hood).
- Add the discovered tools (
ping,get_plugin_traces, …) to the agent and publish.
First call
Section titled “First call”In the Copilot Studio test pane, ask the agent:
Check the Dataverse ops server is reachable (ping), then list plug-in trace failures from the last day.
The agent should invoke ping and then get_plugin_traces via the connector.
Troubleshooting
Section titled “Troubleshooting”- Tools don’t appear after adding the server — verify the endpoint speaks Streamable HTTP (not SSE-only or stdio) and is reachable from Power Platform; test it first with MCP Inspector against the public URL.
- Auth loops on the connector — connector-level auth (to your gateway) is separate from the server’s Dataverse credentials, which stay in the gateway host’s environment variables. Never put Dataverse secrets in the connector.
- Data residency — with this topology, tool results (summarized diagnostics) transit your gateway and Copilot Studio. If strict tenant-only residency matters, prefer the local stdio setups on Claude Desktop or Claude Code; see Security.