Skip to main content
Glama

Read a graduated app's files

dropyour_read_app_files
Read-only

Read what a GRADUATED app actually SERVES right now — not the seed captured before it graduated. Without path: the list of files in the served version, with their size, and whether each one is server code. With path: that file's content, INCLUDING server.js — which is deliberately never served to visitors. Use this before dropyour_replace: a graduated app is replaced WHOLE, so you need its current files to avoid overwriting your own work. Large files are truncated (truncated=true, bytes reports the real size); binary files are reported as binary rather than mangled. Tier 4 only — at tiers 1-3 what the drop serves IS what you published, so use dropyour_read_content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoA path from the file list. Omit to get the list.
dropIdYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true, which the description matches, so no contradiction. The description adds substantial behavior beyond the annotation: files come from the served version not the seed, server.js is included despite never being served to visitors, large files are truncated with truncated=true and bytes reporting the real size, and binary files are reported as binary rather than mangled.

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 purpose is front-loaded and every sentence carries load-bearing information: mode behavior, server.js exception, replace-ordering guidance, truncation/binary semantics, and tier routing. Despite its length, there is no filler or repetition.

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

Completeness5/5

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

With no output schema, the description carries the burden of explaining return values and does so for both modes: the file list with size and server-code flag, and file content with truncation/binary handling. It also covers the security-relevant exception (server.js), the tier restriction, and the safe read profile via readOnlyHint, so an agent has everything needed to select and invoke it correctly.

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 coverage is 50% (path has a terse description, dropId has none). The description compensates for the gap by fully explaining path's two modes — omitted returns the file list with size and server-code flags; supplied returns that file's content — which adds meaning beyond the schema's "A path from the file list." dropId itself is just a conventional drop identifier shared across the tool family, so the lack of description is acceptable.

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 and resource — "Read what a GRADUATED app actually SERVES right now" — and draws the critical distinction from the seed captured before graduation. It also differentiates from the sibling dropyour_read_content by explicit tier routing, so an agent can pick the right tool without opening either schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use: "Use this before dropyour_replace" because a graduated app is replaced WHOLE and current files are needed to avoid overwriting work. It also names the alternative and its selection condition: "Tier 4 only — at tiers 1-3 ... use dropyour_read_content."

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools target clearly distinct resources and actions, and descriptions do a good job separating overlapping areas like call/release/status or read_content/read_app_files. The main risk is momentary confusion between publish/replace/release and the two read-content tools, but careful reading resolves it.

Naming Consistency3/5

All names share the dropyour_ prefix and use snake_case, but the overall pattern is mixed: read_* and list_versions use verb-first naming, while records_list, secret_set, secret_delete, and secrets_list use noun-first naming, and logs/status/whoami are bare nouns. Still readable, but not a consistent verb_noun convention.

Tool Count3/5

23 tools is on the heavy side for a single server and spans several distinct subdomains: drop lifecycle, graduated apps, data, records, secrets, scheduling, and auth. Each tool appears purposeful, but the surface could reasonably be split into focused servers.

Completeness5/5

The set covers the full drop lifecycle — publish, replace, release, rollback, delete, status, settings — plus graduated app concerns like files, logs, versions, store records, app data, secrets, and scheduling. There are no obvious dead ends for the stated domain.