Skip to main content
Glama

spine_list_projects

Scans a directory for Spine skeleton files, listing binary .spine projects and skeleton JSON with version and counts while skipping unrelated JSON.

Instructions

Find Spine files under a directory: binary .spine editor projects (type "project") and Spine skeleton JSON (type "json", with version and counts). Other JSON is skipped.

Args: root: Directory to scan (absolute or relative to the server working directory). include_json: Also look at .json files (default true). limit: Maximum number of results (1-2000).

Input Schema

NameRequiredDescriptionDefault
rootNo.
limitNo
include_jsonNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose some behavior: which file categories are returned, that non-Spine JSON is silently skipped, and that results include version and counts. It omits whether traversal is recursive, how errors on unreadable directories are handled, and cost/pagination behavior when limit is large.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose sentence is front-loaded and the three parameters follow in a compact Args block with no filler. The parenthetical "with version and counts" is slightly noisy but arguably informative about returned fields.

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

Completeness3/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 explained, and all three parameters are documented. However, for a filesystem-scanning tool the unstated recursion depth and directory-walk scope are material ambiguities that affect what results an agent should expect.

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

Parameters4/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 and largely does: root is defined as absolute or relative to the server working directory, include_json is explained as also scanning .json files, and limit is bounded to 1-2000. Minor gap: the default limit of 200 and root default "." live only in the schema and are not restated.

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: "Find Spine files under a directory," then enumerates what counts as a hit (binary .spine projects, Spine skeleton JSON) and what is excluded (other JSON). It is clearly a discovery tool, distinguishable in intent from spine_inspect or spine_validate, though it never names a sibling explicitly.

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?

Usage is only implied by the verb "find" and by the inclusion/exclusion rules; the description never says when to reach for this versus spine_inspect or spine_doctor, nor that it should precede inspection. The include_json and "Other JSON is skipped" notes help scope the search but are filtering rules, not usage guidance.

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