Skip to main content
Glama

read_app

Read-onlyIdempotent

Read one app before update_app: its name, type, access level and publishing mode, plus base_version_id and its files, which both describe the version the next edit builds on. Each text file carries its content, so this is how you see what an app already contains before changing it. A file marked content_omitted answer budget did not fit in this answer and read_app_file fetches it; one marked too large is past what any tool answer carries. Pass that base_version_id to update_app. version is what the link serves now, and head_version is the version base_version_id names on the apps where that is not the live one, which is every app with a version staged by publish false. pending_version is the number of that staged version, and publish_app_version is what makes it live.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
app_idYesThe app id, as returned by search_apps or create_app. Starts with app_.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark the tool read-only and idempotent, but the description adds substantial behavior: file content is included unless content_omitted/too large, and explains version, head_version, pending_version, and staging semantics. This is exactly the context that structured annotations cannot convey.

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?

Every sentence earns its place: the first sentence front-loads the core purpose, then follow-ups explain file handling, update_app linkage, and version semantics. Although dense, it is appropriately sized for a tool with no output schema and meaningful version-state nuance.

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 full burden of explaining return behavior, and it covers the essential app fields, version identifiers, staging state, and file-content edge cases. There is no sign of missing information an agent would need to call the tool correctly for its intended pre-update workflow.

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?

The single parameter app_id is fully documented in the schema (100% coverage), so the description does not need to repeat it. The description adds no parameter-level meaning beyond the schema, which aligns with the baseline 3 for high schema 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?

The description states a specific verb and resource ('Read one app') and immediately scopes it to the pre-update workflow, naming the fields returned (name, type, access level, publishing mode, version identifiers). It explicitly contrasts with read_app_file for large/omitted file content, so an agent can distinguish it from a close sibling.

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?

It gives an explicit trigger ('before update_app'), says to pass base_version_id to update_app, and directs content_omitted/too large files to read_app_file. This is strong when-to-use guidance with alternatives.

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

A3.8/5.0
Disambiguation4/5

Most tools target clearly distinct actions and resources, such as app CRUD, versioning, sharing, secrets, and folder operations. A few adjacent tools like read_app, read_app_file, and read_app_version, or update_app and publish_app_version, require careful reading, but their descriptions are explicit enough to prevent serious confusion.

Naming Consistency3/5

The set mostly uses a verb_noun pattern, with names like create_app, list_secrets, set_app_access, and trash_app. However, Unix-style commands like ls, mkdir, mv, tree, and whoami, plus mixed verbs such as get, read, list, remove, and revoke, break any single consistent convention.

Tool Count3/5

24 tools is on the heavy end of the 16-25 range, and while the platform covers apps, versions, folders, sharing, secrets, logs, and databases, the count feels somewhat large. Each tool has a defined role, but several could potentially be consolidated without losing clarity.

Completeness4/5

The surface covers the main lifecycle well: creating, reading, updating, versioning, sharing, securing, and organizing apps, plus secrets and database queries. Notable gaps are the lack of a permanent delete or restore tool for trashed apps, and the stated absence of captured function logs, but these are workable limitations rather than dead ends.