Skip to main content
Glama

Read a lambda

read_lambda
Read-onlyIdempotent

A lambda's status (online version, newest version, expiry, its tier and what it may use there), its open features, the recent versions with what each was asked for and changed, its data (the database, the workspace and the secrets: whether each is on, what it holds, and which secrets the code reads that have no value yet), and one version - or, with feature, that feature: its documentation (docs/: what the app is and why, the technical decisions), how it is tested (tests/), and its files. The documentation comes first and in full up to 20,000 characters; the files come in full while they fit into 30,000 characters - the C# first, then the resources, then the rest of the code - and by name and length after that, with file to read one - a test script or its data too. Read the documentation and the history before changing what you did not write. Also how a demo is read: pass its key from list_demos.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "privateKey": "<privateKey>"
    },
    "name": "read_lambda"
  }
}

Input Schema

NameRequiredDescriptionDefault
fileNoReturn only this file, in full however large the rest is - up to 1,048,576 characters, beyond which the zip has it. Any file of the version, 'tests/smoke.mjs' and 'resources/web/index.html' included.
featureNoRead this feature - its files, its base, and which newer versions it would have to take in before it can be merged - instead of a version.
versionNoDefaults to the newest.
privateKeyYesThe editor key, or the key of a demo.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / version / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / file / description
      Previous value: -"Return only this file, in full however large the rest is - up to 1,048,576 characters, beyond which the zip has it. Any file of the version, '.lambda/tests/smoke.mjs' and '.lambda/build/README.md' included."New value: +"Return only this file, in full however large the rest is - up to 1,048,576 characters, beyond which the zip has it. Any file of the version, 'tests/smoke.mjs' and 'resources/web/index.html' included."
  3. Changed1 schema field changed
    • changedInput schema / properties / file / description
      Previous value: -"Return only this file, in full however large the rest is - up to 1,048,576 characters, beyond which the zip has it. Any file of the version, '.lambda/tests/smoke.mjs' included."New value: +"Return only this file, in full however large the rest is - up to 1,048,576 characters, beyond which the zip has it. Any file of the version, '.lambda/tests/smoke.mjs' and '.lambda/build/README.md' included."
  4. Changed1 schema field changed
    • changedInput schema / properties / file / description
      Previous value: -"Return only this file, in full however large the rest is - up to 1,048,576 characters, beyond which the zip has it."New value: +"Return only this file, in full however large the rest is - up to 1,048,576 characters, beyond which the zip has it. Any file of the version, '.lambda/tests/smoke.mjs' included."
  5. Changed2 schema fields changed
    • addedInput schema / properties / feature
      Added value: +{
      +  "description": "Read this feature - its files, its base, and which newer versions it would have to take in before it can be merged - instead of a version.",
      +  "type": "string"
      +}
    • changedInput schema / properties / file / description
      Previous value: -"Return only this file of the version, in full however large the rest is - up to 1,048,576 characters, beyond which the version's zip has it."New value: +"Return only this file, in full however large the rest is - up to 1,048,576 characters, beyond which the zip has it."
  6. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses important behavior: documentation is returned first up to 20,000 characters, files are returned in a specific order while fitting into 30,000 characters, and `file` can return up to 1,048,576 characters before falling back to a zip. It also explains what data is exposed, including secrets that have no value yet, and what feature reads include, such as newer versions to merge.

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

Conciseness3/5

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

The content is dense and largely front-loaded around what is read, but it is delivered as one very long paragraph with semicolon-separated clauses. Most details earn their place for a complex read tool, but the lack of structure makes it harder to scan than it should be.

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?

There is no output schema, so the description carries the burden of explaining return contents and does so thoroughly: status, features, versions, data, secrets, documentation, tests, files, truncation limits, ordering, and feature merge context. For this tool's complexity, an agent has enough information to 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 100%, so the baseline is 3, but the description adds meaningful parameter context: `feature` switches from version reading to feature reading, `file` returns a single file in full including tests and resources, and demo usage requires a key from `list_demos`. It reinforces the schema rather than merely repeating it.

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: it reads a lambda's status, open features, recent versions, data, and a selected version or feature with documentation, tests, and files. It clearly distinguishes modes via the `feature` and `file` parameters and mentions `list_demos` for demo keys, so an agent can tell what this tool does versus narrower siblings.

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?

It gives clear usage context, especially 'Read the documentation and the history before changing what you did not write,' and explains that `feature` reads a feature instead of a version and `file` reads one file. It also notes demo keys come from `list_demos`. It stops short of explicitly saying when to use this tool instead of alternatives like `list_files`, `read_database`, or `read_logs`.

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.