Skip to main content
Glama

analyze_shiny_app

Read-only

Run bounded heuristic checks on supplied Shiny app source to spot potential issues without executing the code.

Instructions

Run bounded heuristic checks on supplied Shiny source; never executes it.

Input Schema

NameRequiredDescriptionDefault
filesNo
sourceNo
shiny_versionNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds genuinely new behavioral context: analysis is 'bounded' and the code is 'never executed'. That non-execution guarantee is the key behavioral fact an agent needs and it is not in the annotations.

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?

A single short sentence with the scope qualifier ('bounded') and the safety guarantee ('never executes it') both front-loaded. No wasted words.

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

Completeness2/5

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

An output schema exists so return values need not be described, but with three entirely undocumented parameters and no guidance on how files and source interact, the description leaves the agent guessing at invocation shape.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, so the schema contributes nothing. The description mentions only 'supplied Shiny source' and says nothing about the files-vs-source alternative, precedence between them, or what shiny_version affects.

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

Purpose4/5

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

States a specific verb and resource: bounded heuristic checks over supplied Shiny source. An agent can distinguish this from siblings like explain_shiny_reactivity, though the description does not explicitly name that boundary.

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

Usage Guidelines2/5

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

No explicit when-to-use or when-not guidance, and the nearby sibling explain_shiny_reactivity is not referenced. The phrase 'supplied Shiny source' only implicitly signals that source input is required.

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