Skip to main content
Glama

Run Solution Checker

cs_check_solution

Analyze solution zip files with Power Apps Checker to validate quality before deployment. Writes results locally and requires confirmation for live environment changes.

Instructions

Analyse solution zip files with the Power Apps Checker service (Solution Checker or AppSource Certification rule set) and write the results locally. Use as a quality gate before cs_deploy_solution. Runs 'pac solution check' with the active pac auth profile. Mutates a live environment: requires confirm: true (a dry run otherwise). Only some inputs mutate; see the parameter descriptions.

Input Schema

NameRequiredDescriptionDefault
cwdNoWorking directory for pac (for project commands: the solution project folder)
geoNoChecker service geography
pathNoSolution zip file(s); glob allowed
confirmNoRequired to actually perform a change in a live environment. Without it the tool returns a dry run.
profileNopac auth profile to run as: the admin account for tenant commands. Defaults to CPS_ADMIN_PROFILE for admin commands and CPS_PAC_PROFILE otherwise, then the active profile. cs_init lists the profiles.
ruleSetNo'Solution Checker' (default), 'AppSource Certification' or a rule set id
backgroundNoRun in the background and return a jobId immediately, for a command that takes longer than the client will wait. Poll cs_job_status.
clearCacheNoClear the tenant's checker enforcement cache
environmentNoEnvironment id or URL; default: the environment of the active pac auth profile
saveResultsNoStore the results in the environment (Solution Health Hub)
solutionUrlNoSAS URL of a solution zip instead of path
excludedFilesNoFiles to exclude from the analysis
customEndpointNoCustom URL of the Power Apps Checker endpoint, instead of the geography's
timeoutSecondsNoDefault 1800
outputDirectoryNoWhere to write the results
ruleLevelOverrideNoJSON file with rule level overrides

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.8
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / customEndpoint
      Added value: +{
      +  "description": "Custom URL of the Power Apps Checker endpoint, instead of the geography's",
      +  "type": "string"
      +}
  2. First observedv0.1.5

TDQS

A4.2/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 behavioral burden and does well: it discloses that it runs pac with the active auth profile, writes results locally, and—critically—that it mutates a live environment requiring confirm:true with a dry run otherwise, while flagging that only some inputs mutate. It doesn't detail which inputs mutate inline or describe permission requirements beyond the profile, so it falls short of the top mark.

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?

Four tight sentences, front-loaded with purpose then routing then mutation semantics; each sentence earns its place. No padding or restated name.

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 16-parameter tool with no annotations and no output schema, the description covers the key operational facts an agent needs: purpose, ordering, auth profile, and the confirm/dry-run gate. It stops short of explaining return values or output format, though 'write the results locally' plus outputDirectory hint at it.

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 100%, so the schema already documents all 16 parameters thoroughly, making 3 the baseline. The description adds only a pointer ('see the parameter descriptions') and the confirm-gating rule rather than supplementing individual parameter meaning.

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?

States a specific verb (Analyse) and resource (solution zip files) via the Power Apps Checker service, names the rule-set variants, and distinguishes itself by naming the sibling it precedes (cs_deploy_solution). An agent can tell this apart from cs_validate, cs_pack_solution, and cs_deploy_solution without opening a schema.

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?

Explicitly positions the tool as a quality gate to run before cs_deploy_solution, which gives clear when-to-use context and a named alternative gate. No when-not conditions are given, but the sequencing guidance is strong.

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