Skip to main content
Glama

Get approval

browser_get_approval
Read-onlyIdempotent

Read one approval. Required: sessionId, approvalId. Returns status pending, approved, denied, expired, cancelled, or consumed, plus commandType, createdAt, resolvedAt, and executionResult or executionError when present. Does not return the action payload. An observationId or any other id that is not an approval in this session is an error, not status expired. Read-only.

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": {
      "sessionId": "<sessionId>",
      "approvalId": "<approvalId>"
    },
    "name": "browser_get_approval"
  }
}

Input Schema

NameRequiredDescriptionDefault
sessionIdYes
approvalIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, and the description still adds real signal: the full status enumeration, the fields returned, the explicit exclusion of the action payload, and the key behavioral distinction that an unknown or observation id is an error rather than 'expired'. That last point is a genuine trap the agent would otherwise fall into.

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?

Five short, front-loaded sentences with no filler; the status list and the error-vs-expired distinction are the right things to prioritize. The 'Required: sessionId, approvalId' sentence largely duplicates the schema's required array.

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?

With no output schema, the description correctly takes on return-value documentation and adds error semantics. It leaves open whether this call blocks or must be polled, and where a valid approvalId originates, which matters for a browse-session approval tool.

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 0% and the description mostly restates the required parameter names. It does add one substantive constraint — approvalId must be an approval in this session, not an observationId or any other id — but it never explains what a sessionId represents or where it comes from.

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?

Opens with a specific verb+resource ('Read one approval'), which cleanly distinguishes it from the mutating sibling browser_cancel_approval. It never names that sibling explicitly, so the differentiation is implied rather than stated.

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: the description explains what happens on a bad id but never says when to call this versus browser_cancel_approval or how to poll while waiting for a resolution. An agent must infer the polling workflow from the status list.

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.