Skip to main content
Glama
dofunc
by dofunc

allow

Approves a pending session approval request so matching calls stop prompting for the rest of that session; persistent rules are never written.

Instructions

Allow and stop asking for similar calls in this session only. Uses the agent's session-scoped option when it offers one; otherwise this server allows once and answers matching requests itself until the session closes. Never writes a persistent agent rule. Blocks until the turn is done, needs an approval or asks a question; the server sets no time limit. If your client times out, the turn keeps running and the connection stays: call status for the state and output for the reply instead of sending the task again. Returns "approval_needed" with an approval to answer via approve / allow / reject, or "question_needed" with a question to answer via answer.

Input Schema

NameRequiredDescriptionDefault
waitNoWait for the result (default true). false returns right after sending.
sessionYesSession id returned by open
approval_idYesapproval_id from the approval_needed result

Output Schema

NameRequiredDescriptionDefault
outputNo
statusYes
outcomeNo
turn_idNo
approvalNo
questionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses session-only scope, that it never writes a persistent agent rule, that it blocks until the turn finishes or needs input, that the server imposes no time limit, and what happens if the client times out. It also states the possible result values and how to respond to them.

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?

The description is front-loaded with the core action and session-scoping rule, then proceeds to blocking behavior, timeout handling, and return values. It is information-dense and mostly earns its length, though a few clauses could be tightened without losing meaning.

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?

Given the absence of annotations, three parameters, and an output schema, the description is complete enough for correct invocation. It covers scope, blocking behavior, timeout recovery, and the approval/question result states, leaving no major operational gap.

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 description coverage is 100%, so the schema already documents session, approval_id, and wait in detail. The description adds some contextual meaning by explaining that approval_id comes from an approval_needed result, but it does not materially extend the parameters beyond what the schema already says. Baseline 3 is appropriate.

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: allow an approval and stop asking for similar calls in the current session only. It directly distinguishes this session-scoped behavior from a persistent rule and names approve/reject/answer as related choices, so an agent can tell what this tool does without opening the schema.

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: use this to answer an approval_needed result when you want matching requests allowed for the session, and it names approve / allow / reject as the approval alternatives. It also gives explicit timeout guidance to call status or output instead of resending the task. It stops short of explicitly contrasting allow with approve in a single routing sentence, so it is strong but not fully exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.