Skip to main content
Glama

Deploy a solution to another environment (1:1)

cs_deploy_solution

Deploy a solution into a target environment using a settings file, then publish all Copilot Studio agents from it. Supports zip or source folder; confirmation required for live changes.

Instructions

pac solution import into the target environment using the deployment settings file, then publish every Copilot Studio agent from the solution. Source: a zip, or a solutionDir from cs_pull_solution (managed zip preferred when present unless unmanaged: true), or an unpacked srcFolder (packed first). Blocks when connection references or environment variables are unmapped unless allowUnmapped. Requires confirm: true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipNo
confirmNoRequired to actually perform a change in a live environment. Without it the tool returns a dry run.
srcFolderNoUnpacked solution folder to pack and deploy
unmanagedNoWith solutionDir: deploy the unmanaged zip instead of the managed one
solutionDirNo
settingsFileNo
allowUnmappedNo
publishAgentsNoDefault true: pac copilot publish for each agent after import
forceOverwriteNo
stageAndUpgradeNo
skipLowerVersionNo
targetEnvironmentYesEnvironment id or URL to deploy into
maxAsyncWaitMinutesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full transparency burden and does well: it discloses that the tool publishes every Copilot Studio agent, blocks on unmapped connection references/environment variables unless allowUnmapped is set, requires confirm, and packs srcFolder before deployment. It does not detail overwrite or upgrade behavior, but the key side effects and blocking conditions are clearly stated.

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 compact and front-loaded: it states the primary action first, then source options, then constraints. Every sentence adds useful information without repetition or filler, making it easy for an agent to parse quickly.

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?

For a complex 13-parameter tool with no annotations and no output schema, the description covers the essential operational context: source precedence, managed/unmanaged behavior, unmapped-reference blocking, and the confirm gate. It does not cover optional upgrade/overwrite flags or return behavior, but the core invocation path is adequately specified.

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 only 38%, so the description is expected to compensate. It adds meaning for the source-related parameters (zip, solutionDir, srcFolder, unmanaged), settingsFile, allowUnmapped, confirm, and targetEnvironment. However, forceOverwrite, stageAndUpgrade, skipLowerVersion, and maxAsyncWaitMinutes are not explained beyond their names, leaving some invocation ambiguity.

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 title and description clearly define the action: deploying/importing a solution into another environment with a deployment settings file, then publishing Copilot Studio agents. It differentiates itself from generic import or publish siblings by specifying source formats, managed/unmanaged behavior, and post-import publish steps.

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

Usage Guidelines3/5

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

The description provides useful context about acceptable sources (zip, solutionDir, srcFolder) and the confirm requirement, but it does not explicitly state when to use this tool versus closely related siblings like cs_import_solution, cs_push, or cs_deploy_pipeline. There is no exclusion or alternative guidance, so the agent must infer the intended use case.

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