Skip to main content
Glama

Analyze Cyclic Scale

analyze_cyclic_scale
Read-only

Use this when an agent needs to analyze one bounded cyclic interval word, including its pitch path, rotations, reversal partners, reflection class, and limited-transposition status. Do not infer ownership, licensing, or unpublished availability.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modulusYes
intervalWordYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / intervalWord
      Added value: +{
      +  "items": {
      +    "maximum": 16,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  "maxItems": 10,
      +  "minItems": 2,
      +  "type": "array"
      +}
    • addedInput schema / properties / modulus
      Added value: +{
      +  "maximum": 16,
      +  "minimum": 5,
      +  "type": "integer"
      +}
    • addedInput schema / required
      Added value: +[
      +  "modulus",
      +  "intervalWord"
      +]
    • addedOutput schema / additionalProperties / $ref
      Added value: +"#/definitions/__schema0"
    • removedOutput schema / additionalProperties / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  },
      -  {
      -    "items": {
      -      "$ref": "#/additionalProperties"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "additionalProperties": {
      -      "$ref": "#/additionalProperties"
      -    },
      -    "type": "object"
      -  }
      -]
    • addedOutput schema / definitions
      Added value: +{
      +  "__schema0": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "type": "null"
      +      },
      +      {
      +        "items": {
      +          "$ref": "#/definitions/__schema0"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "additionalProperties": {
      +          "$ref": "#/definitions/__schema0"
      +        },
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      }
      +    ]
      +  }
      +}
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. The description adds valuable constraints: the analysis is scoped to a single bounded cyclic interval word and explicitly warns against inferring ownership/licensing. This aligns with openWorldHint=false and adds context beyond 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?

Two sentences, no filler. The first sentence front-loads the purpose and expected outputs; the second clearly states a boundary. Every word earns its place.

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?

With an output schema present and annotations covering safety, the description covers the essential behavioral scope and boundary. The only notable gap is parameter semantics, which is somewhat mitigated by the schema's clear constraints, so it is not severely incomplete.

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%, so the description must compensate, but it does not explain what 'modulus' means or how 'intervalWord' relates to the cyclic interval word beyond naming it. The description mentions the resource type but leaves parameter semantics largely to the schema, which is insufficient given zero coverage.

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?

Description uses specific verb 'analyze' with a well-defined resource ('one bounded cyclic interval word') and enumerates the exact outputs (pitch path, rotations, reversal partners, reflection class, limited-transposition status). This clearly distinguishes it from siblings like generate_cyclic_scales or export_cyclic_scale_musicxml.

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?

Description opens with 'Use this when an agent needs to analyze...' providing a clear invocation context. It also adds an exclusion boundary ('Do not infer ownership, licensing, or unpublished availability'), which helps prevent misuse. However, it does not explicitly mention when not to use it or name an alternative tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources