Skip to main content
Glama

Compare two environments

diff_environments
Read-onlyIdempotent

Which keys exist only in one of two environments of a project and which exist in both with a different value, as key names only: the server compares the stored values and returns none. Protected, sealed and restricted keys are left out of the lists and only counted in hidden. Requires secrets:read on both environments. Audited.

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": {
      "project": "<project>",
      "from": "<from>",
      "to": "<to>"
    },
    "name": "diff_environments"
  }
}

Input Schema

NameRequiredDescriptionDefault
toYesSecond environment
fromYesFirst environment
projectYesProject slug or id

Output Schema

NameRequiredDescriptionDefault
toYes
fromYes
hiddenYesSealed, protected or restricted keys, counted and never named
projectYes
onlyInToYes
differentYesKeys present in both with a different value; names only
onlyInFromYes

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A3.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial behavior on top: the comparison happens server-side with no stored values returned, protected/sealed/restricted keys are omitted from lists and only tallied under 'hidden', secrets:read is required on both environments, and the call is audited. These are exactly the operational facts an agent cannot derive from the annotations.

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?

It is a single dense run-on sentence with a tangled opening relative clause and an ambiguous fragment ('returns none'), which takes a second read to parse. The important constraints are present and roughly front-loaded, but the phrasing costs clarity.

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?

For a three-parameter read-only comparison with a 100%-documented schema and an output schema, the description covers the things structured fields cannot: value suppression, exclusion of sensitive key classes, and the dual permission requirement. Only the absence of sibling routing guidance keeps it short of complete.

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?

Schema coverage is 100%, with project/from/to each documented, so the schema does the heavy lifting. The description adds only the framing of 'two environments of a project' and implicitly the from-then-to ordering, which is marginal beyond the schema's 'First environment'/'Second environment' labels.

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?

The opening clause states precisely what is produced: keys present in only one of two project environments, plus keys present in both with differing values. It is phrased as a question rather than a verb+resource statement, but the operation (compare two environments) is unmistakable and distinguishable from siblings like check_keys or copy_environment.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no named alternative — nothing tells the agent to prefer this over check_keys, get_environment, or list_secrets. Usage must be inferred entirely from the description of what the tool returns.

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