Skip to main content
Glama

Scan Application

scan_application

Scan a local Python application to generate a normalized coupling inventory, providing the dependency data needed to plan migrations.

Instructions

Scan a local Python application into a normalized coupling inventory.

prompt_sources optionally names prompt files (relative to the application root) that automatic discovery missed; they become explicit high-confidence prompt sources.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
prompt_sourcesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.3.0
    • addedInput schema / properties / prompt_sources
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  2. First observedv1.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It adds useful detail about automatic discovery and prompt_sources becoming explicit high-confidence sources, but it does not explicitly state side effects, permissions, or whether the scan is read-only, although 'scan' implies non-mutating behavior.

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: the core purpose appears in the first sentence, and the optional parameter explanation is separate and minimal. There is no filler or repetition of schema information.

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 simple scanner with an output schema, the description provides enough invocation context: target application, optional prompt files, and their semantics. The main gaps are explicit path handling and usage timing, but these are minor given the tool's simplicity.

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 0%, so the description must compensate. It explains prompt_sources well, including relative path semantics and its role in supplementing automatic discovery, but the required path parameter is only implied via 'application root' and not explicitly documented.

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 states a specific verb ('scan'), resource ('local Python application'), and output ('normalized coupling inventory'). This clearly distinguishes the tool from the migration and analysis siblings, which focus on individual prompts, invocations, or migration steps.

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 when-to-use or when-not-to-use guidance is provided, and no alternatives are named. An agent must infer the tool's applicability from the phrase 'coupling inventory' or from sibling tool names, which is indirect.

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