Skip to main content
Glama

Detect portal changes since the last sync

cs_check_drift

Detects direct changes made in Copilot Studio after the last clone, pull, or push. Identifies modified topics, tools, knowledge sources, settings, and conflicts—read-only.

Instructions

Find changes made directly in Copilot Studio after the workspace was last cloned, pulled or pushed. mode 'quick' (default) reads the agent's component rows from Dataverse and compares them with the sync stamp: which topics, tools and knowledge sources changed, by whom, when, whether the agent settings changed and whether there are unpublished changes; needs a cached cs_login, no pac. mode 'full' runs pac copilot clone into a temporary folder and classifies every file as local-modified, remote-modified or both (conflict) against the stamp, with unified diffs. Both are read-only. Resolve drift with cs_pull (three-way merge), then commit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
clientIdNoEntra app (client) id for MSAL. Defaults to CPS_CLIENT_ID, then the first-party VS Code id.
tenantIdNoEntra tenant id. Defaults to the workspace sync metadata, then CPS_TENANT_ID.
keepCloneNofull: keep the temporary clone and return its path
workspaceNoPath to (or inside) the agent workspace. Defaults to CPS_WORKSPACE or the current directory.
includeDiffsNofull: include unified diffs (default true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It explicitly states 'Both are read-only,' describes quick mode reading Dataverse rows versus full mode running pac copilot clone into a temporary folder, notes auth requirements, and discloses output classifications including local-modified, remote-modified, and conflict. This is strong behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every clause earns its place: purpose, mode mechanics, prerequisites, side effects, read-only guarantee, and next-step guidance. The most important scoping information is front-loaded, and the structure flows logically from quick to full to resolution.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given six optional parameters, no output schema, and no annotations, the description covers prerequisites, mode differences, read-only behavior, and follow-up actions well. It lacks an explicit return format or precise guidance on when to choose quick versus full based on user intent, leaving a small completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, above the 80% threshold, so the schema already documents most parameters. The description adds useful mode-level context, especially the default quick behavior and full-mode diff semantics, but it does not add significant meaning to individual parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Find changes made directly in Copilot Studio after the workspace was last cloned, pulled or pushed.' This clearly distinguishes drift detection from sibling operations like cs_push, cs_pull, and cs_check_solution, and the explicit pointer to cs_pull reinforces the tool's role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description names cs_pull as the resolution path, gives prerequisites for quick mode (cached cs_login, no pac), and explains the trade-off between quick and full modes. It does not explicitly state when not to use this tool or contrast it with sibling status/check tools, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools